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
.
Charts
The ArangoDB Kubernetes Operator is contained in two helm
charts:
kube-arangodb
which contains the operator for theArangoDeployment
,ArangoLocalStorage
andArangoDeploymentReplication
resource types.kube-arangodb-crd
which contains the CRD for theArangoDeployment
andArangoDeploymentReplication
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.
operator.image
Image used for the ArangoDB Operator.
Default: arangodb/kube-arangodb:latest
operator.imagePullPolicy
Image pull policy for Operator images.
Default: IfNotPresent
operator.imagePullSecrets
List of the Image Pull Secrets for Operator images.
Default: []string
operator.service.type
Type of the Operator service.
Default: ClusterIP
operator.annotations
Annotations passed to the Operator Deployment definition.
Default: []string
operator.resources.limits.cpu
CPU limits for operator pods.
Default: 1
operator.resources.limits.memory
Memory limits for operator pods.
Default: 256Mi
operator.resources.requested.cpu
Requested CPI by Operator pods.
Default: 250m
operator.resources.requested.memory
Requested memory for operator pods.
Default: 256Mi
operator.replicaCount
Replication count for Operator deployment.
Default: 2
operator.updateStrategy
Update strategy for operator pod.
Default: Recreate
operator.features.deployment
Define if ArangoDeployment Operator should be enabled.
Default: true
operator.features.deploymentReplications
Define if ArangoDeploymentReplications Operator should be enabled.
Default: true
operator.features.storage
Define if ArangoLocalStorage Operator should be enabled.
Default: false
operator.features.backup
Define if ArangoBackup Operator should be enabled.
Default: false
rbac.enabled
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.