This chart provide the Couchbase deployments. Note: It is strongly recommend to use on Official Couchbase image to run this chart.
kubectl create namespace couchbase-cluster
helm install my-release . -f values.yaml -n couchbase-cluster
To install the Couchbase Chart into your Kubernetes cluster (This Chart requires persistent volume by default, you may need to create a storage class before install chart.
helm install my-release . -f values.yaml -n couchbase-cluster \
--set Username=Administrator \
--set Password=ChangePassword \
--set replicaCount=3 \
--set storageClass=local-path
After installation succeeds, you can get a status of Chart
helm status my-release -n couchbase-cluster
If you want to delete your Chart, use this command
helm delete my-release -n couchbase-cluster
For example, you have 3 vms in node pools and you want to deploy graylog to node which labeled as cloud.google.com/gke-nodepool: couchbase-pool
Set the following values in values.yaml
nodeSelector: { cloud.google.com/gke-nodepool: couchbase-pool }
For example, you have 6 vms in node pools and 3 nodes are tainted with NO_SCHEDULE couchbase=true
Set the following values in values.yaml
tolerations:
- key: couchbase
value: "true"
operator: "Equal"
The following table lists the configurable parameters of the Couchbase chart and their default values.
Parameter | Description | Default |
---|---|---|
image.repository |
couchbase image repository |
couchbase/server |
image.tag |
couchbase image tag |
community-7.1.1 |
image.pullPolicy |
Image pull policy | IfNotPresent |
replicacount |
The number of Couchbase instances in the cluster. The chart will automatic create assign master to one of replicaCount | 3 |
resources |
CPU/Memory resource requests/limits | Memory: 1024Mi , CPU: 500m |
nodeSelector |
couchbase server pod assignment | {} |
affinity |
couchbase server affinity | {} |
tolerations |
couchbase server tolerations | [] |
nodeSelector |
couchbase server node selector | {} |
env |
couchbase server env variables | {} |
podSecurityContext |
Set security context for defining privilege and accessing control settings entire Pod | {} |
securityContext |
Set security context for defining privilege and accessing control settings for couchbase container | privileged: false |
service.type |
Kubernetes Service type | ClusterIP |
service.port |
couchbase Service port | 9000 |
podAnnotations |
Kubernetes Pod annotations | {} |
terminationGracePeriodSeconds |
Pod termination grace period | 120 |
persistence.enabled |
Use a PVC to persist data | true |
persistence.storageClass |
Storage class of backing PVC (uses storage class annotation) | nil |
persistence.accessMode |
Use volume as ReadOnly or ReadWrite | ReadWriteOnce |
persistence.size |
Size of data volume | 10Gi |
ingress.enabled |
If true, Couchbase Ingress will be created | false |
ingress.ingressClassName |
couchbase Ingress class name | |
ingress.port |
couchbase Ingress port | false |
ingress.annotations |
couchbase Ingress annotations | {} |
ingress.hosts |
couchbase Ingress host names | [] |
ingress.tls |
couchbase Ingress TLS configuration (YAML) | [] |
ingress.pathType |
couchbase Ingress path type | Prefix |
Username |
couchbase Admin user name | admin |
Password |
couchbase Admin password. If not set, random 16-character alphanumeric string | |
existingRootSecret |
Couchbase existing Administrator secret | |
serviceAccount.create |
If true, create the Couchbase service account | true |
serviceAccount.name |
Name of the server service account to use or create | {{ fullname }} |
serviceAccount.annotations |
Service Account annotations | {} |
imagePullSecrets |
Configuration for imagePullSecrets so that you can use a private registry for your images | [] |