Back to Charts

⚠️ Repo Archive Notice

stable/aerospike/README.md

latest6.4 KB
Original Source

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.

Aerospike Helm Chart

This is an implementation of Aerospike StatefulSet found here:


Deprecation Warning

As part of the deprecation timeline, another repository has taken over the chart here

Note: this is the official repository.

Please make PRs / Issues here from now on.


Pre Requisites

  • Kubernetes 1.9+
  • PV support on underlying infrastructure (only if you are provisioning persistent volume).
  • Requires at least v2.5.0 version of helm to support

StatefulSet Details

StatefulSet Caveats

Chart Details

This chart will do the following:

  • Implement a dynamically scalable Aerospike cluster using Kubernetes StatefulSets

Installing the Chart

To install the chart with the release name my-aerospike using a dedicated namespace(recommended):

sh
helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
helm install --name my-aerospike --namespace aerospike stable/aerospike

The chart can be customized using the following configurable parameters:

ParameterDescriptionDefault
image.repositoryAerospike Container image nameaerospike/aerospike-server
image.tagAerospike Container image tag4.5.0.5
image.pullPolicyAerospike Container pull policyAlways
image.pullSecretAerospike Pod pull secret``
replicaCountAerospike Brokers1
commandCustom command (Docker Entrypoint)[]
argsCustom args (Docker Cmd)[]
labelsMap of labels to add to the statefulset{}
annotationsMap of annotations to add to the statefulset{}
tolerationsList of node taints to tolerate[]
persistentVolumeConfig of persistent volumes for storage-engine{}
confFileConfig filename. This file should be included in the chart path. If the config is updated, the statefulset will be redeployed with the new configaerospike.conf
resourcesResource requests and limits{}
nodeSelectorLabels for pod assignment{}
terminationGracePeriodSecondsWait time before forcefully terminating container30
service.typeKubernetes Service typeClusterIP
service.annotationsKubernetes service annotations, evaluated as a template{}
service.loadBalancerIPStatic IP Address to use for LoadBalancer service typenil
service.clusterIPStatic clusterIP or None for headless servicesNone
service.nodePort.enabledEnable NodePort to make aerospike cluster available outside the Kubernetes clusterfalse
service.nodePort.portThe NodePort port to expose{}
metrics.enabledEnabled the metric sidecar that scrapes Aerospike at localhost:3000. Needs to be provided a sidecar image/repo. This is a good place to start: https://github.com/alicebob/aspromfalse
metrics.image.repositoryMetric sidecar image repository{}
metrics.image.tagMetric sidecar image tag{}
metrics.serviceMonitor.enabledEnable metrics service monitor. For more info, check Prometheus Operatorfalse
metrics.serviceMonitor.targetLabelsAdd these additional labels from your service to the service monitor. For more info, check Prometheus Operator{}

Specify parameters using --set key=value[,key=value] argument to helm install

Alternatively a YAML file that specifies the values for the parameters can be provided like this:

sh
helm install --name my-aerospike -f values.yaml stable/aerospike

Conf files for Aerospike

There is one conf file added to each Aerospike release. This conf file can be replaced with a custom file and updating the confFile value.

If you modify the aerospike.conf (and you use more than 1 replica), you want to add the #REPLACE_THIS_LINE_WITH_MESH_CONFIG comment to the config file (see the default conf file). This will update your mesh to connect each replica.