// This assembly is included in the following assemblies:
//
// assembly-deploy-intro.adoc

[id='assembly-operators-{context}']

= Strimzi operators

[role="_abstract"]
Strimzi uses operators to deploy and manage Kafka components.
The operators monitor Strimzi custom resources (like `Kafka`, `KafkaTopic`, and `KafkaUser`) and ensure that the Kafka components are configured and running as specified.

Strimzi provides the following operators, each responsible for different aspects of a Kafka deployment:

Cluster Operator (required):: The Cluster Operator must be deployed first. 
It handles the deployment and management of Apache Kafka clusters on Kubernetes, automating the setup of Kafka nodes and related resources.
If enabled, it can also deploy the Entity Operator, which may include the Topic Operator, User Operator, or both.
+
Additionally, Strimzi provides *Drain Cleaner*, which is deployed separately.
Drain Cleaner supports the Cluster Operator in managing pod evictions for Kafka clusters.

Entity Operator (recommended):: Manage topics and users through dedicated operators:
* *Topic Operator* manages Kafka topics.
* *User Operator* manages Kafka users.
ifdef::Section[]
Access Operator (optional):: Manages and shares Kafka cluster connection details.
It is deployed independently of the Cluster Operator.
endif::Section[]

NOTE: The Topic Operator and User Operator can also be deployed standalone to manage topics and users for a Kafka cluster that is not managed by Strimzi.

//operator namespace 
include::../../modules/operators/con-operators-namespaces.adoc[leveloffset=+1]
//cluster operator's management of rbac resources
include::../../modules/operators/ref-operator-cluster-rbac-resources.adoc[leveloffset=+1]
//cluster operator's management of pod resources
include::../../modules/configuring/con-pod-management.adoc[leveloffset=+1]