Skip to content

Latest commit

 

History

History
 
 

kube

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Deployment

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 change golem-cli configuration to use that URL.
  • by default, worker API Gateway endpoint is exposed under port 9006

Deployment in steps

create namespace

kubectl create namespace golem

PostgreSQL

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)

Redis

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

ngnix ingress

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

Golem services

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