7.1 KiB
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