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 Cloudera Streams Messaging - Kubernetes 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 Cloudera Streams Messaging - Kubernetes 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 Cloudera Streams Messaging - Kubernetes 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.
 
