Using the ArangoDB Kubernetes Operator with Helm

Helm is a package manager for Kubernetes, which enables you to install various packages (include the ArangoDB Kubernetes Operator) into your Kubernetes cluster.

The benefit of helm (in the context of the ArangoDB Kubernetes Operator) is that it allows for a lot of flexibility in how you install the operator. For example you can install the operator in a namespace other than default.


The ArangoDB Kubernetes Operator is contained in two helm charts:

  • kube-arangodb which contains the operator for the ArangoDeployment, ArangoLocalStorage and ArangoDeploymentReplication resource types.
  • kube-arangodb-crd which contains the CRD for the ArangoDeployment and ArangoDeploymentReplication resource types.

Configurable values for ArangoDB Kubernetes Operator

The following values can be configured when installing the ArangoDB Kubernetes Operator with helm.

Values are passed to helm using an --set=<key>=<value> argument passed to the helm install or helm upgrade command.


Image used for the ArangoDB Operator.

Default: arangodb/kube-arangodb:latest


Image pull policy for Operator images.

Default: IfNotPresent


List of the Image Pull Secrets for Operator images.

Default: []string


Type of the Operator service.

Default: ClusterIP


Annotations passed to the Operator Deployment definition.

Default: []string


CPU limits for operator pods.

Default: 1


Memory limits for operator pods.

Default: 256Mi


Requested CPI by Operator pods.

Default: 250m


Requested memory for operator pods.

Default: 256Mi


Replication count for Operator deployment.

Default: 2


Update strategy for operator pod.

Default: Recreate


Define if ArangoDeployment Operator should be enabled.

Default: true


Define if ArangoDeploymentReplications Operator should be enabled.

Default: true

Define if ArangoLocalStorage Operator should be enabled.

Default: false


Define if ArangoBackup Operator should be enabled.

Default: false


Define if RBAC should be enabled.

Default: true

Alternate namespaces

The kube-arangodb chart supports deployment into a non-default namespace.

To install the kube-arangodb chart is a non-default namespace, use the --namespace argument like this.

helm install --namespace=mynamespace kube-arangodb.tgz

Note that since the operators claim exclusive access to a namespace, you can install the kube-arangodb chart in a namespace once. You can install the kube-arangodb chart in multiple namespaces. To do so, run:

helm install --namespace=namespace1 kube-arangodb.tgz
helm install --namespace=namespace2 kube-arangodb.tgz

The kube-arangodb-storage chart is always installed in the kube-system namespace.

Common problems

Error: no available release name found

This error is given by helm install ... in some cases where it has insufficient permissions to install charts.

For various ways to work around this problem go to this Stackoverflow article.