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.

ChartsPermalink

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 OperatorPermalink

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.

operator.imagePermalink

Image used for the ArangoDB Operator.

Default: arangodb/kube-arangodb:latest

operator.imagePullPolicyPermalink

Image pull policy for Operator images.

Default: IfNotPresent

operator.imagePullSecretsPermalink

List of the Image Pull Secrets for Operator images.

Default: []string

operator.service.typePermalink

Type of the Operator service.

Default: ClusterIP

operator.annotationsPermalink

Annotations passed to the Operator Deployment definition.

Default: []string

operator.resources.limits.cpuPermalink

CPU limits for operator pods.

Default: 1

operator.resources.limits.memoryPermalink

Memory limits for operator pods.

Default: 256Mi

operator.resources.requested.cpuPermalink

Requested CPI by Operator pods.

Default: 250m

operator.resources.requested.memoryPermalink

Requested memory for operator pods.

Default: 256Mi

operator.replicaCountPermalink

Replication count for Operator deployment.

Default: 2

operator.updateStrategyPermalink

Update strategy for operator pod.

Default: Recreate

operator.features.deploymentPermalink

Define if ArangoDeployment Operator should be enabled.

Default: true

operator.features.deploymentReplicationsPermalink

Define if ArangoDeploymentReplications Operator should be enabled.

Default: true

operator.features.storagePermalink

Define if ArangoLocalStorage Operator should be enabled.

Default: false

operator.features.backupPermalink

Define if ArangoBackup Operator should be enabled.

Default: false

rbac.enabledPermalink

Define if RBAC should be enabled.

Default: true

Alternate namespacesPermalink

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 problemsPermalink

Error: no available release name foundPermalink

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.