216 lines
7.1 KiB
Markdown
216 lines
7.1 KiB
Markdown
This package defines an Helm chart for kubernetes based opencloud services deployment.
|
|
|
|
It can be used to fully deploy opencloud in a development/lighweight kubernetes deployment, for quick testing
|
|
or to ease opencloud dependencies (dex, mongo, mongo-express, ...) deployment.
|
|
|
|
Kind (https://kind.sigs.k8s.io/) is used here as a lightweight kubernetes deployment. Obviously, any kubenetes compliant
|
|
environment is a legitimate target.
|
|
|
|
# Requirements
|
|
|
|
- go
|
|
- docker
|
|
- docker buildx
|
|
- make
|
|
|
|
- Rajouter dans le bashrc > export KUBECONFIG=$HOME/.kube/config
|
|
|
|
# Locally built microservices deployment procedure
|
|
|
|
## Install OC-K8S
|
|
|
|
```
|
|
git clone https://cloud.o-forge.io/plm/oc-k8s.git
|
|
sudo cp oc-k8s.sh /usr/bin/oc-k8s
|
|
sudo chmod +x /usr/bin/oc-k8s
|
|
```
|
|
|
|
# Generate values (optionnal)
|
|
|
|
Go on ./cmd or `cp ./cmd/oc-k8s /usr/local/bin`
|
|
|
|
Use command :
|
|
`oc-k8s create values -r [release] -n [namespace] -c [env_file (optionnal)]`
|
|
or
|
|
`./oc-k8s create values -r [release] -n [namespace] -c [env_file (optionnal)]`
|
|
|
|
Map in a env file, any Variable you wish to override and give the path.
|
|
|
|
## Resume for a first start
|
|
|
|
### Do Forget on first run on Terminal
|
|
sudo sysctl fs.inotify.max_user_watches=524288
|
|
sudo sysctl fs.inotify.max_user_instances=512
|
|
|
|
### RUN
|
|
|
|
Look after `oc-k8s help` for details on oc-k8s command.
|
|
|
|
Use command :
|
|
`oc-k8s start -n [namespace] -r [release] -f [folder] -b [branch] -t [target] -p [port] -P [portTLS] -build [true|false]`
|
|
or
|
|
`./oc-k8s start -n [namespace] -r [release] -f [folder] -b [branch] -t [target] -p [port] -P [portTLS] -build [true|false]`
|
|
|
|
### COMMAND LOOKUP
|
|
|
|
```
|
|
Main commands: oc-k8s <action>
|
|
install - Install opencloud dependancies [arch] [version]
|
|
start - Start opencloud k8s
|
|
stop - Stop opencloud k8s
|
|
Usage:
|
|
oc-k8s install -a [arch] -v [version]
|
|
arch - Arch of OS (required)
|
|
kind_version - version of kind (required)
|
|
oc-k8s start -n [namespace] -r [release] -f [folder] -b [branch] -t [target] -p [port] -P [portTLS] -build [true|false]
|
|
folder - Helm config folder (required, default: .)
|
|
release - environnement selected (default: dev)
|
|
namespace - namespace selected (default: dev)
|
|
branch - Git branch to build (default: main)
|
|
target - make target (default: all)
|
|
build - build mode (default: true)
|
|
oc-k8s stop -n [namespace] -r [release] -f [folder]
|
|
folder - Helm config folder (required, default: .)
|
|
release - environnement selected (default: dev)
|
|
namespace - namespace selected (default: dev)
|
|
|
|
Cluster commands: oc-k8s <action> cluster [options]
|
|
create - Create a new kind cluster
|
|
delete - Delete the kind cluster
|
|
help - Show this help message
|
|
|
|
Usage:
|
|
oc-k8s create cluster -f [env_folder] -r [release]
|
|
env_folder - Helm config folder (default: .)
|
|
release - Release values name (default: dev)
|
|
oc-k8s delete cluster -f [env_folder] -r [release]
|
|
env_folder - Helm config folder (default: .)
|
|
release - Release values name (default: dev)
|
|
oc-k8s help cluster
|
|
|
|
Service commands: oc-k8s <action> services
|
|
create - Build all opencloud services
|
|
help - Show this help message
|
|
|
|
Usage:
|
|
oc-k8s create services -f [env_folder] -r [release] -b [branch] -t [target] -build [true|false]
|
|
env_folder - Helm config folder (required, default: .)
|
|
release - Release values name (required, default: dev)
|
|
branch - Git branch to build (default: main)
|
|
target - make target (default: all)
|
|
build - build mode (default: true)
|
|
oc-k8s help services
|
|
|
|
Helm commands: oc-k8s <action> helm
|
|
install - Install Helm
|
|
create - Install a helm release for the given environment (default: dev)
|
|
delete - Uninstall a helm release for the given environment (default: dev)
|
|
help - Show this help message
|
|
|
|
Usage:
|
|
oc-k8s install helm
|
|
oc-k8s create helm -n [namespace] -r [release] -f [folder]
|
|
folder - Helm config folder (required, default: .)
|
|
release - environnement selected (default: dev)
|
|
namespace - namespace selected (default: dev)
|
|
oc-k8s upgrade helm -n [namespace] -r [release] -f [folder]
|
|
folder - Helm config folder (required, default: .)
|
|
release - environnement selected (default: dev)
|
|
namespace - namespace selected (default: dev)
|
|
oc-k8s delete helm -n [namespace] -r [release] -f [folder]
|
|
folder - Helm config folder (required, default: .)
|
|
release - environnement selected (default: dev)
|
|
namespace - namespace selected (default: dev)
|
|
oc-k8sh help helm
|
|
|
|
Values commands: oc-k8s <action> values
|
|
create - Create a new values release yaml
|
|
help - Show this help message
|
|
|
|
Usage:
|
|
oc-k8s create values -r [release] -f [env_folder] -c [env_file]
|
|
release - Release values name (required)
|
|
env_folder - Helm config folder (optionnal, default: .)
|
|
env_file - env to map (optionnal)
|
|
oc-k8s help values
|
|
|
|
K3S commands: oc-k8s <action> k3s
|
|
install - Install k3s
|
|
create - Create a new cluster
|
|
help - Show this help message
|
|
|
|
Usage:
|
|
oc-k8s install k3s
|
|
oc-k8s create k3s
|
|
oc-k8s help values
|
|
|
|
Kind commands: oc-k8s <action> kind
|
|
install - Install kind
|
|
help - Show this help message
|
|
|
|
Usage:
|
|
oc-k8s install kind -a [arch] -v [version]
|
|
arch - Arch of OS (required, default: amd64)
|
|
kind_version - version of kind (optionnal)
|
|
oc-k8s help values
|
|
|
|
DB commands: oc-k8s <action> db [options]
|
|
create - Add datas in db
|
|
replace - Replace datas in db
|
|
delete - Delete datas in db
|
|
help - Show this help message
|
|
|
|
Usage:
|
|
oc-k8s create db --d [db_name] -r [release] -n [namespace] -f [folder]
|
|
folder - Datas folder files path (required)
|
|
release - Release values name (default: dev)
|
|
namespace - Namespace values name (default: dev)
|
|
db_name - db name (default: opencloud)
|
|
folder - Helm config folder (required, default: .)
|
|
oc-k8s upgrade db -d [db_name] -r [release] -n [namespace] -f [folder]
|
|
folder - Datas folder files path (required)
|
|
release - Release values name (default: dev)
|
|
namespace - Namespace values name (default: dev)
|
|
db_name - db name (default: opencloud)
|
|
oc-k8s delete db -d [db_name] -r [release] -n [namespace] -f [folder]
|
|
release - Release values name (default: dev)
|
|
namespace - Namespace values name (default: dev)
|
|
db_name - db name (default: opencloud)
|
|
folder - Helm config folder (required, default: .)
|
|
oc-k8s help db
|
|
```
|
|
|
|
## Hostname settings
|
|
|
|
Edit your /etc/hosts file, and add following line:
|
|
|
|
```
|
|
127.0.0.1 beta.opencloud.com
|
|
```
|
|
|
|
## Done
|
|
|
|
Everything should be operational now, go to http://beta.opencloud.com and enjoy the ride
|
|
|
|
|
|
# First steps
|
|
|
|
Go to http://beta.opencloud.com/users
|
|
|
|
Log in using default user/password combo ldapadmin/ldapadmin
|
|
|
|
Create a new user, or change the default one
|
|
|
|
Go to http://beta.opencloud.com
|
|
|
|
Log in using your fresh credentials
|
|
|
|
Do stuff
|
|
|
|
You can go to http://beta.opencloud.com/mongoexpress
|
|
|
|
... for mongo express web client access (default login/password is test/testme)
|
|
|
|
You can go to http://localhost/dashboard/
|
|
|
|
... for access to Traefik reverse proxy front-end |