Customizable install with Helm

This Helm chart installs CassKop to create/configure/manage Cassandra clusters in a Kubernetes Namespace. It will use a Custom Ressource Definition(CRD): cassandraclusters.db.orange.com which implements a CassandraCluster object in Kubernetes.

Introduction#

Configuration#

The following tables lists the configurable parameters of the Cassandra Operator Helm chart and their default values.

ParameterDescriptionDefault
image.repositoryImageorangeopensource/casskop
image.tagImage tagv2.0.1-release
image.pullPolicyImage pull policyAlways
image.imagePullSecrets.enabledEnable the use of secret for docker imagefalse
image.imagePullSecrets.nameName of the secret to connect to docker registry-
createCustomResourceIf true, create & deploy the CRDtrue
rbacEnableIf true, create & use RBAC resourcestrue
readinessProbe.timeouts.initialDelaySecondsSpecifies timeout before first probe attempt4
readinessProbe.timeouts.periodSecondsSpecifies probe interval10
readinessProbe.timeouts.failureThresholdWhen a probe fails, after time specified in this field Pod will be marked as Undready1
resourcesPod resource requests & limits{requests: {cpu: 10m, memory: 50Mi}, limits: {cpu: 1,memory: 512Mi}
metricServicedeploy service for metricsfalse
debug.enabledactivate DEBUG log level and enable shareProcessNamespace (allowing ephemeral container usage)false

Specify each parameter using the --set key=value[,key=value] argument to helm install.

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,

helm install casskop incubator/cassandra-operator -f values.yaml

Installing the Chart#

helm install --dry-run \
--debug.enabled orange-incubator/casskop \
--set debug.enabled=true \
--name casskop

the -replace flag allow you to reuse a charts release name

Listing deployed charts#

helm list

Get status for the helm deployment#

helm status casskop

Install another version of the operator#

To install another version of the operator use:

helm install --name=casskop --namespace=cassandra --set operator.image.tag=x.y.z orange-incubator/casskop`

where x.y.z is the version you want.

Uninstaling the Charts#

If you want to delete the operator from your Kubernetes cluster, the operator deployment should be deleted.

helm uninstall casskop

The command removes all the Kubernetes components associated with the chart and deletes the helm release.

The CRDs created by the chart are not removed by default and should be manually cleaned up (if required)

Manually delete the CRDs:

kubectl delete crd cassandraclusters.db.orange.com
kubectl delete crd cassandrabackups.db.orange.com
kubectl delete crd cassandrarestores.db.orange.com
warning

If you delete the CRDs then it will delete ALL Clusters that has been created using these CRDs!!! Please never delete CRDs without very very good care

Troubleshooting#

Install of the CRD#

By default, the chart will install the Casskop CRDs if there are not yet installed. If you want to upgrade or downgrade to another charts version you will need to delete the CRDs BEFORE installing the new chart. If you don't want to install CRDs with the chart using Helm, you can skip this step by adding --skip-crds as described in Helm 3 official documentation.

helm install casskop orange-incubator/cassandra-operator --skip-crds