Operator Deployment Settings
The Couchbase Autonomous Operator configuration is defined below.
|Most of the fields in the Operator configuration should never be changed and it is recommended that you use the configuration as is. However, there are some exceptions noted below.|
apiVersion: apps/v1 kind: Deployment metadata: name: couchbase-operator spec: replicas: 1 (1) selector: matchLabels: app: couchbase-operator template: metadata: labels: app: couchbase-operator spec: containers: - name: couchbase-operator image: couchbase/operator:2.0.0 (2) command: - couchbase-operator args: (3) - --pod-create-timeout=10m0s env: (4) - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name ports: - containerPort: 8080 (5) name: http - containerPort: 8383 (6) name: prometheus serviceAccountName: couchbase-operator (7)
|1||The number of replicas should not be changed. The deployment will ensure the Operator is always running. The Operator uses leadership election to ensure only one instance is processing data at once, so replicas are redundant.|
|2||The image should remain unchanged unless you are using a custom image. The Operator is a static binary; the use of an operating system image is redundant and a potential security vulnerability.|
|3||The container arguments can be modified to suit your requirements. Valid flags are documented below.|
|5||The HTTP container port can be modified, however this will affect log collection with the
|6||The Prometheus container port is fixed and cannot be modified at present.|
|7||The Operator must be run as a service account with the correct roles to function.|
You can specify a list of command-line flags to pass on to the Operator to modify its behavior.
spec: template: spec: containers: args: - --zap-level=info - --concurrency=4 - --pod-create-timeout=10m - --listen-addr=8080
- --zap-level <string>
This argument controls the log level a message has to reach before being printed.
Valid values are:
error- only error messages are printed
info- errors and informational messages are printed
1- basic debug, error and informational messages are printed
2- full debug, error and informational messages are printed.
This flag defaults to
When using logging level
- --concurrency <integer>
This argument controls how many Couchbase clusters can be reconciled at the same time.
The Operator can manage multiple Couchbase clusters regardless of this setting, however if set too low clusters may have to wait for a worker to become available before being inspected and reconciled. This is especially relevant where a Couchbase cluster can block others from being repaired due to a long running process such as a rebalance.
If not specified this flag defaults to
- --pod-create-timeout <string>
The Operator allows the timeout of pod creation to be manually configured. It is primarily intended for use on cloud platforms where the deployment of multiple volumes and pulling of a Couchbase Server container image may take a longer time than the default timeout period.
Valid values are any string that can be parsed with the golang ParseDuration function. This flag defaults to
- --listen-addr <integer>
This argument controls the Operator HTTP server. It is primarily used to expose debugging information for support requests.
This flag defaults to