Deployment architecture

Learn the architecture of a typical CSM Operator deployment.

CSM Operator deployment starts with first installing a Helm chart.

The Helm chart installs various Custom Resource Definitions (CRDs) to the Kuberentes environment. Resources described by these CRDs are managed by the Kubernetes operator applications. Strimzi defines CRDs such as:
  • Kafka – represents a Kafka cluster consisting of Kafka brokers, ZooKeeper servers, Cruise Control and Strimzi Entity Operators.
  • KafkaNodePool – represents a group of Kafka brokers from the cluster that have the same configuration.
  • KafkaTopic – represents a Kafka topic.
  • KafkaUser – represents a user that is external to the Kafka cluster.
  • KafkaRebalance – represents a broker rebalance action for the Kafka cluster.

When installing the Helm chart, a Strimzi Cluster Operator Kubernetes deployment is created with a Strimzi Cluster Operator pod running within the deployment. This application is responsible for monitoring the Kafka clusters in the environment and reconciling the Kafka clusters when their configuration changes.

When the Kafka and KafkaNodePool custom resources are deployed, based on their resource configuration, the Strimzi Cluster Operator will create pods for ZooKeeper and Kafka and will manage the lifecycle of these pods accordingly. The Strimzi Cluster Operator also creates an Entity Operator pod (in an Entity Operator deployment) that is responsible for managing other resources inside the particular Kafka cluster (topics, users, and so on). Optionally a Cruise Control pod is also created if deployed.