// This assembly is included in:
//
// assembly-getting-started.adoc
// deploying/assembly-deploy-tasks.adoc

[id="deploy-create-cluster_{context}"]
= Create the Kafka cluster

[role="_abstract"]
To be able to manage a Kafka cluster with the Cluster Operator, you must deploy it as a `Kafka` resource.
Strimzi provides example deployment files to do this.
You can use these files to deploy the Topic Operator and User Operator at the same time.

If you haven't deployed a Kafka cluster as a `Kafka` resource, you can't use the Cluster Operator to manage it.
This applies, for example, to a Kafka cluster running outside of Kubernetes.
But you can deploy and use the Topic Operator and User Operator as standalone components.

NOTE: The Cluster Operator can watch one, multiple, or all namespaces in a Kubernetes cluster.
The Topic Operator and User Operator watch for `KafkaTopics` and `KafkaUsers` in the single namespace of the Kafka cluster deployment.

[discrete]
== Deploying a Kafka cluster with the Topic Operator and User Operator

Perform these deployment steps if you want to use the Topic Operator and User Operator with a Kafka cluster managed by Strimzi.

. xref:cluster-operator-{context}[Deploy the Cluster Operator]
. Use the Cluster Operator to deploy the:
.. xref:kafka-cluster-{context}[Kafka cluster]
.. xref:deploying-the-topic-operator-using-the-cluster-operator-{context}[Topic Operator]
.. xref:deploying-the-user-operator-using-the-cluster-operator-{context}[User Operator]

[discrete]
== Deploying a standalone Topic Operator and User Operator

Perform these deployment steps if you want to use the Topic Operator and User Operator with a Kafka cluster that is *not managed* by Strimzi.

. xref:deploying-the-topic-operator-standalone-{context}[Deploy the standalone Topic Operator]
. xref:deploying-the-user-operator-standalone-{context}[Deploy the standalone User Operator]

//Options and instruction for deploying Cluster Operator
include::assembly-deploy-cluster-operator.adoc[leveloffset=+1]
//Options and instructions for deploying Kafka resource
include::assembly-deploy-kafka-cluster.adoc[leveloffset=+1]
//Alternative standalone deployment of Topic Operator and Cluster Operator
include::assembly-deploy-standalone-operators.adoc[leveloffset=+1]
