Deploying and configuring the Strimzi Entity Operator
Learn how to deploy and configure the Strimzi Entity Operator in your cluster by configuring your Kafka resource. Deploying the Entity Operator is required if you want to use custom resources to manage Kafka topics and users in your cluster.
The Entity Operator is responsible for managing Kafka users (clients) and Kafka topics in your Kafka cluster. The Entity Operator comprises the following two operators.
- Strimzi Topic Operator – An operator application that creates and manages Kafka topics in your Kafka cluster with KafkaTopic resources.
- Strimzi User Operator – An operator application that creates and manages Kafka users in your Kafka cluster with KafkaUser resources.
To deploy and configure the Entity Operator you configure your Kafka
resource to include the entityOperator
property. The
entityOperator
property can include topicOperator
and
userOperator
properties.
These properties specify which of the two operators are deployed with the Entity Operator. You can choose to deploy either the Topic or User Operator, or deploy both at once.
The following example deploys both the Topic and User Operator with default configurations.
#...
kind: Kafka
spec:
entityOperator:
topicOperator: {}
userOperator: {}
You can further configure all three operators by including additional supported properties in
the configuration. The entityOperator
property can include the
template
property that specifies configuration related to pod and
deployment templates. The topicOperator
and userOperator
support various sub-properties that allow you to configure watched namespaces, reconciliation
intervals, and others.
The Entity, Topic, and User Operator are deployed by the Strimzi Cluster Operator. On successful deployment, the Cluster Operator creates an Entity Operator deployment and pod. The Topic and User Operator run within the pod in their own containers.
Deploying the Topic or User Operator as standalone components is not supported in CSM Operator.
Deploying and configuring the Strimzi Topic Operator
You deploy and configure the Strimzi Topic Operator by configuring the entityOperator property in your Kafka resource to include topicOperator properties. Deploying the Topic Operator is required if you want to manage Kafka topics with KafkaTopic resources instead of the KafkaAdmin API.
The Topic Operator enables you to manage Kafka topics using KafkaTopic resources. In CSM Operator, you deploy the Topic Operator through the Strimzi Entity Operator. The Entity and Topic Operator are both deployed by the Strimzi Cluster Operator.
To deploy the Topic Operator, you configure the entityOperator
property in your Kafka resource to include topicOperator
properties. You configure the Topic Operator by specifying additional sub-properties
in the topicOperator
property.
By default, the Topic Operator watches KafkaTopic resources in the
namespace of the Kafka cluster deployed by the Cluster Operator. You can also
specify a namespace to watch using the watchedNamespace
property.
A single Topic Operator can watch a single namespace. One namespace should be watched
by only one Topic Operator. If you are deploying multiple Kafka clusters into the
same namespace, enable the Topic Operator for only one Kafka cluster or use the
watchedNamespace
property to configure the Topic Operators to
watch other namespaces
- Strimzi must be installed in your cluster. The Strimzi Cluster Operator must be running. See Installation.
- For a full list of supported properties, see the EntityTopicOperatorSpec schema reference in the Strimzi API Reference.
Deploying and configuring the Strimzi User Operator
You deploy and configure the Strimzi User Operator by configuring the entityOperator property in your Kafka resource to include userOperator properties. Deploying the User Operator is required if you want to manage Kafka users with KafkaUser resources instead of the KafkaAdmin API.
The User Operator enables you to manage Kafka users (clients) with KafkaUser resources. In CSM Operator you deploy the User Operator through the Strimzi Entity Operator. The Entity and User Operator are both deployed by the Strimzi Cluster Operator.
To deploy the User Operator, you configure the entityOperator
property in your Kafka resource to include
userOperator
properties. You configure the User Operator by
specifying additional sub-properties in the userOperator
property.
By default, the User Operator watches KafkaUser resources in the
namespace of the Kafka cluster deployed by the Cluster Operator. You can also
specify a namespace to watch using the watchedNamespace
property. A
single User Operator can watch a single namespace. One namespace should be watched
by only one User Operator.
- Strimzi must be installed in your cluster. The Strimzi Cluster Operator must be running. See Installation.
- For a full list of supported properties, see the EntityUserOperatorSpec schema reference in the Strimzi API Reference.