Configuration
Command Line Parameters
Environment variables
This operator accepts the following environment variables:
PRODUCT_CONFIG
Default value: /etc/stackable/kafka-operator/config-spec/properties.yaml
Required: false
Multiple values: false
export PRODUCT_CONFIG=/foo/bar/properties.yaml stackable-kafka-operator run
or via docker:
docker run \ --name kafka-operator \ --network host \ --env KUBECONFIG=/home/stackable/.kube/config \ --env PRODUCT_CONFIG=/my/product/config.yaml \ --mount type=bind,source="$HOME/.kube/config",target="/home/stackable/.kube/config" \ docker.stackable.tech/stackable/kafka-operator:latest
WATCH_NAMESPACE
Default value: All namespaces
Required: false
Multiple values: false
The operator will only watch for resources in the provided namespace test
:
export WATCH_NAMESPACE=test stackable-kafka-operator run
or via docker:
docker run \ --name kafka-operator \ --network host \ --env KUBECONFIG=/home/stackable/.kube/config \ --env WATCH_NAMESPACE=test \ --mount type=bind,source="$HOME/.kube/config",target="/home/stackable/.kube/config" \ docker.stackable.tech/stackable/kafka-operator:latest
Kubernetes custom resource options
The cluster can be configured via a YAML file. This custom resource specifies the amount of replicas for each role group, role group or role specific configuration like port definitions etc.
apiVersion: kafka.stackable.tech/v1alpha1 kind: KafkaCluster metadata: name: simple-kafka spec: image: productVersion: 3.3.1 stackableVersion: "23.4.0-rc2" zookeeperConfigMapName: simple-kafka-znode brokers: roleGroups: default: replicas: 1
Structure
There are three levels of configuration:
Common shared options | Contains configuration that is shared within the whole cluster ensemble. E.g., version, image, encryption or logging. |
Role options | This configuration is shared for all roles of a certain type (in this operator, only the Broker role). |
RoleGroup options | Options provided in the role group apply to each created "pod". |
Common shared options
Name | Type | Description | Related Kafka properties |
version | string | The Kafka version used in the format: x.y.z-stackableX.Y.Z | |
zookeeperConfigMapName | string | A reference to a ConfigMap containing a connection string for connecting to a ZooKeeper cluster | |
opa | struct | An OPA configuration for Kafka, consisting of an OPA reference (namespace, name) and some authorizer properties |