You will need to have Helm and kubectl installed locally and running kubernetes cluster.
provided script:
./deploy.sh -n golem
will deploy Golem with Redis, PostgreSQL and Nginx ingress to kubernetes namespace golem
. Kubernetes Persistent Volumes are used to store Golem's data.
notes:
- by default, ingress is exposed under localhost:80, if you want to test golem-services in kubernetes locally (docker with kubernetes),
and try to run commands with
golem-cli
, you may need to changegolem-cli
configuration to use that URL. - by default, worker API Gateway endpoint is exposed under port 9006
create namespace
kubectl create namespace golem
https://artifacthub.io/packages/helm/bitnami/postgresql
install
helm upgrade --install -n golem golem-postgres oci://registry-1.docker.io/bitnamicharts/postgresql --set auth.database=golem_db --set auth.username=golem_user
delete
helm delete -n golem golem-postgres
get password (if you need it)
export GOLEM_POSTGRES_PASSWORD=$(kubectl get secret --namespace golem golem-postgres-postgresql -o jsonpath="{.data.password}" | base64 -d)
https://artifacthub.io/packages/helm/bitnami/redis
install
helm upgrade --install -n golem golem-redis oci://registry-1.docker.io/bitnamicharts/redis --set auth.enabled=true
delete
helm delete -n golem golem-redis
get password (if you need it)
export REDIS_PASSWORD=$(kubectl get secret --namespace golem golem-redis -o jsonpath="{.data.redis-password}" | base64 -d)
kubectl -n golem get service
service/golem-postgres-postgresql
service/golem-redis-master
install
helm upgrade --install ingress-nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx --namespace ingress-nginx --create-namespace
you can watch the status by running
kubectl get service --namespace ingress-nginx ingress-nginx-controller --output wide --watch
install
helm upgrade --install golem-default golem-chart -n golem
show kube files
helm template golem-chart
delete
helm delete -n golem golem-default
shell to the running pod/container
kubectl exec --stdin --tty -n golem <pod> -- /bin/bash
scale worker executor deployment
kubectl -n golem scale deployment.apps/deployment-worker-executor-default --replicas=3