- You should have configured connection to existed k8s cluster
- Helm must be installed
- You should download chart external dependencies, using following commands:
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm dependency update
- (Optional) Install ingress of your choice (for example: https://github.com/kubernetes/ingress-nginx)
- (Optional) Create certificates for https (for example: https://github.com/jetstack/cert-manager/)
- (Optional) Create values.override.yaml and override there parameters you want
- Change postgresql password as described below
- Add ingress to values.override.yaml(example also below)
- Deploy cvat using command below
Execute following command:
helm upgrade <release_name> --install ./helm-chart -f ./helm-chart/values.yaml -f values.override.yaml(if exists) --namespace <desired namespace>
HELM_RELEASE_NAMESPACE="<insert>" &&\
HELM_RELEASE_NAME="<insert>" &&\
BACKEND_POD_NAME=$(kubectl get pod --namespace $HELM_RELEASE_NAMESPACE -l tier=backend,app.kubernetes.io/instance=$HELM_RELEASE_NAME -o jsonpath='{.items[0].metadata.name}') &&\
kubectl exec -it --namespace $HELM_RELEASE_NAMESPACE $BACKEND_POD_NAME -c cvat-backend-app-container -- python manage.py createsuperuser
There are several passwords used here, for security reasons - better change them all.
postgresql:
secret:
password: cvat_postgresql
postgres_password: cvat_postgresql_postgres
replication_password: cvat_postgresql_replica
Or, if you know how to work with k8s - you could create your own secret and use it here:
postgresql:
global:
postgresql:
existingSecret: cvat-postgres-secret
Just set ingress.enabled:
to true
, then copy example, uncomment it and change values there
You can use https://github.com/databus23/helm-diff#install for that
Just set postgresql.enabled
or redis.enabled
to false
, as described below.
Then - put your instance params to "external" field
Just create file values.override.yaml
and place your changes here, using same structure as in values.yaml
.
Then reference it in helm update/install command using -f
flag
Because they definitely know what they do better then we are, so we are getting more quality and less support
See https://helm.sh/