:_mod-docs-content-type: REFERENCE

// Module included in the following assemblies:
//
// assembly-deploy-kafka-cluster.adoc

[id='ref-list-of-kafka-cluster-resources-{context}']
= List of Kafka cluster resources

[role="_abstract"]
The following resources are created by the Cluster Operator in the Kubernetes cluster.

.Shared resources

`<kafka_cluster_name>-cluster-ca`:: Secret with the Cluster CA private key used to encrypt the cluster communication.
`<kafka_cluster_name>-cluster-ca-cert`:: Secret with the Cluster CA public key. This key can be used to verify the identity of the Kafka brokers.
`<kafka_cluster_name>-clients-ca`::  Secret with the Clients CA private key used to sign user certificates
`<kafka_cluster_name>-clients-ca-cert`:: Secret with the Clients CA public key. This key can be used to verify the identity of the Kafka users.
`<kafka_cluster_name>-cluster-operator-certs`:: Secret with Cluster operators keys for communication with Kafka.

.Kafka brokers and controllers

`<kafka_cluster_name>-kafka`:: Name given to the following Kafka resources:
+
- Service account used by the Kafka pods.
- PodDisruptionBudget that applies to all Kafka pods in the cluster, including broker-only, controller-only, and mixed-role (broker/controller) pods.
- Role granting the Kafka brokers and controllers access to read their certificates and credentials.

`<kafka_cluster_name>-kafka-brokers`:: Service needed to have DNS resolve the Kafka broker pods IP addresses directly.
`<kafka_cluster_name>-kafka-bootstrap`:: Service can be used as bootstrap servers for Kafka clients connecting from within the Kubernetes cluster.
`<kafka_cluster_name>-kafka-external-bootstrap`:: Bootstrap service for clients connecting from outside the Kubernetes cluster. This resource is created only when an external listener is enabled. The old service name will be used for backwards compatibility when the listener name is `external` and port is `9094`.
`<kafka_cluster_name>-kafka-external-bootstrap`:: Bootstrap route for clients connecting from outside the Kubernetes cluster. This resource is created only when an external listener is enabled and set to type `route`. The old route name will be used for backwards compatibility when the listener name is `external` and port is `9094`.
`<kafka_cluster_name>-kafka-<listener_name>-bootstrap`:: Bootstrap service for clients connecting from outside the Kubernetes cluster. This resource is created only when an external listener is enabled. The new service name will be used for all other external listeners.
`<kafka_cluster_name>-kafka-<listener_name>-bootstrap`:: Bootstrap route for clients connecting from outside the Kubernetes cluster. This resource is created only when an external listener is enabled and set to type `route`. The new route name will be used for all other external listeners.
`<kafka_cluster_name>-kafka-<listener_name>-bootstrap`:: Bootstrap ingress for clients connecting from outside the Kubernetes cluster. This resource is created only when an external listener is enabled and set to type `ingress`. The new route name will be used for all other external listeners.
`<kafka_cluster_name>-network-policy-kafka`:: Network policy managing access to the Kafka services.
`<kafka_cluster_name>-kafka-role`:: Role binding granting the Kafka brokers and controllers access to read their certificates and credentials.
`strimzi-_namespace-name_-<kafka_cluster_name>-kafka-init`:: Cluster role binding used by the Kafka brokers.
`<kafka_cluster_name>-jmx`:: Secret with JMX username and password used to secure the Kafka broker port. This resource is created only when JMX is enabled in Kafka.

.Kafka node pools

The resources that are created per node pool.
The naming convention includes the name of the Kafka cluster and the node pool: `<kafka_cluster_name>-<pool_name>`.

`<kafka_cluster_name>-<pool_name>`:: Name given to the StrimziPodSet for managing the Kafka node pool.

`<kafka_cluster_name>-<pool_name>-<pod_id>`:: Name given to the following Kafka node pool resources:
+
- Pods created by the StrimziPodSet.
- Secret with Kafka node public and private keys.
- ConfigMaps with Kafka node configuration.
- Service used to route traffic from outside the Kubernetes cluster to individual pods. This resource is created only when an external listener is enabled. The old service name will be used for backwards compatibility when the listener name is `external` and port is `9094`.
- Route for traffic from outside the Kubernetes cluster to individual pods. This resource is created only when an external listener is enabled and set to type `route`. The old route name will be used for backwards compatibility when the listener name is `external` and port is `9094`.
- Ingress for traffic from outside the Kubernetes cluster to individual pods. This resource is created only when an external listener is enabled and set to type `ingress`. The old ingress name will be used for backwards compatibility when the listener name is `external` and port is `9094`.

`<kafka_cluster_name>-<pool_name>-<listener_name>-<pod_id>`:: Service used to route traffic from outside the Kubernetes cluster to individual pods, or when using the type `cluster-ip` listener. This resource is created only when an external listener is enabled. The new service name will be used for all other external listeners.
`<kafka_cluster_name>-<pool_name>-<listener_name>-<pod_id>`:: Route for traffic from outside the Kubernetes cluster to individual pods. This resource is created only when an external listener is enabled and set to type `route`. The new route name will be used for all other external listeners.
`<kafka_cluster_name>-<pool_name>-<listener_name>-<pod_id>`:: Ingress for traffic from outside the Kubernetes cluster to individual pods. This resource is created only when an external listener is enabled and set to type `ingress`. The new ingress name will be used for all other external listeners.
`data-<kafka_cluster_name>-<pool_name>-<pod_id>`:: Persistent Volume Claim for the volume used for storing data for a specific node. This resource is created only if persistent storage is selected for provisioning persistent volumes to store data.
`data-<id>-<kafka_cluster_name>-<pool_name>-<pod_id>`:: Persistent Volume Claim for the volume `id` used for storing data for a specific node. This resource is created only if persistent storage is selected for JBOD volumes when provisioning persistent volumes to store data.

.Entity Operator

These resources are only created if the Entity Operator is deployed using the Cluster Operator.

`<kafka_cluster_name>-entity-operator`:: Name given to the following Entity Operator resources:
+
- Deployment with Topic and User Operators.
- Service account used by the Entity Operator.
- Network policy managing access to the Entity Operator metrics.
- Role granting the Entity Operator the rights to manage topics and users.

`<kafka_cluster_name>-entity-operator-<random_string>`:: Pod created by the Entity Operator deployment.
`<kafka_cluster_name>-entity-topic-operator-config`:: ConfigMap with ancillary configuration for Topic Operators.
`<kafka_cluster_name>-entity-user-operator-config`:: ConfigMap with ancillary configuration for User Operators.
`<kafka_cluster_name>-entity-topic-operator-certs`:: Secret with Topic Operator keys for communication with Kafka.
`<kafka_cluster_name>-entity-user-operator-certs`:: Secret with User Operator keys for communication with Kafka.
`<kafka_cluster_name>-entity-topic-operator`:: Role binding used by the Entity Topic Operator.
`<kafka_cluster_name>-entity-user-operator`:: Role binding used by the Entity User Operator.

.Kafka Exporter

These resources are only created if the Kafka Exporter is deployed using the Cluster Operator.

`<kafka_cluster_name>-kafka-exporter`:: Name given to the following Kafka Exporter resources:
+
- Deployment with Kafka Exporter.
- Service used to collect consumer lag metrics.
- Service account used by the Kafka Exporter.
- Network policy managing access to the Kafka Exporter metrics.

`<kafka_cluster_name>-kafka-exporter-<random_string>`:: Pod created by the Kafka Exporter deployment.

.Cruise Control

These resources are only created if Cruise Control was deployed using the Cluster Operator.

`<kafka_cluster_name>-cruise-control`:: Name given to the following Cruise Control resources:
+
- Deployment with Cruise Control.
- Service used to communicate with Cruise Control.
- Service account used by the Cruise Control.

`<kafka_cluster_name>-cruise-control-<random_string>`:: Pod created by the Cruise Control deployment.
`<kafka_cluster_name>-cruise-control-config`:: ConfigMap that contains the Cruise Control ancillary configuration, and is mounted as a volume by the Cruise Control pods.
`<kafka_cluster_name>-cruise-control-certs`:: Secret with Cruise Control keys for communication with Kafka.
`<kafka_cluster_name>-network-policy-cruise-control`:: Network policy managing access to the Cruise Control service.
