Configuration Overview
Work with Kubernetes custom resources (CRs) to configure and manage Confluent Platform. The following topics cover specific configuration settings for Confluent components in detail.
Configuration topics for Confluent Platform on CFK
Configure Storage: Configure persistent storage for Confluent Platform components.
Configure CPU and Memory: Set CPU and memory requests and limits.
Configure Networking: Configure internal and external network access.
Configure Security: Configure authentication, authorization, network encryption, and secrets.
Configure Pod Scheduling: Control pod scheduling and placement.
Configure Kafka Connect: Configure Kafka Connect.
Configure Replicator: Configure Confluent Replicator.
Configure Kafka Rack Awareness: Configure Apache Kafka® rack awareness.
Configure REST Proxy: Configure and manage Confluent REST Proxy.
Configure KRaft: Configure KRaft controller quorums and listeners.
Configure Dynamic KRaft Quorum: Add and remove KRaft controllers without recreating the cluster.
Configure Unified Stream Manager: Deploy and configure Confluent Unified Stream Manager.
Advanced Configuration: Configure advanced options such as JVM settings, Log4j 2, and autoscaling.
Kubernetes custom resources for Confluent Platform
Confluent Platform components are deployed to a Kubernetes cluster as custom resources (CRs).
Confluent for Kubernetes (CFK) provides the custom resource definitions (CRDs) that were
created using the Kubernetes API. These CRDs describe how to configure Confluent Platform
components. The CRDs are provided in the YAML files in the Confluent for Kubernetes
distribution in the crds directory.
For the settings that are not supported in Confluent CRDs, CFK automatically
calculates and sets the values based on the relevant factors. For example, the
default.replication.factor and min.insync.replicas Kafka configuration
values are set based on the broker replica count.
Use the configuration overrides feature in CFK to override default configuration values that CFK sets, or to pass configuration properties that are not supported in the CRDs to Kafka. For a list of default configuration values that CFK overrides, see CFK overrides of Confluent Platform default configuration.
For the configuration settings for Confluent Platform components, see Confluent Platform Configuration Reference. For example, supported Kafka configuration settings can be found in Kafka Broker Configurations.
Use kubectl to examine Confluent Platform CRDs
The kubectl explain command describes the fields associated with Kubernetes API resources, including the Confluent Platform CRDs.
To get a list of the Confluent Platform CRDs:
kubectl api-resources --api-group=platform.confluent.io
To describe a specific Confluent Platform CRD:
kubectl explain <crd-type>.<field-name>[.<field-name>]
You can drill down the CRD specification by appending a
<field-name>from thekubectl explainoutput.For example:
kubectl explain kafka.spec.podTemplate
And to further examine the
affinityfield listed in the output:kubectl explain kafka.spec.podTemplate.affinity
Use the Confluent plugin to debug Confluent Platform deployments
The Confluent plugin is a composite CLI tool integrated with the Kubernetes
ecosystem through the kubectl plugin interface. You can use the plugin to
debug and diagnose your Confluent Platform deployed through CFK.
See Confluent kubectl plugin for installation instructions.
Use the following command to get comprehensive usage instructions:
kubectl confluent
The following are some of the example commands:
To see all of the external and internal endpoints that you can use to access Confluent components:
kubectl confluent http-endpoints
To convert Operator 1.x to CFK 2.0:
kubectl confluent migration
To check if the current user has cluster-level access:
kubectl confluent operator --namespaced=false pre-check
To check if the current user has namespaced-level access:
kubectl confluent operator pre-check
CFK overrides of Confluent Platform default configuration
In some cases, Confluent for Kubernetes (CFK) overrides and uses default configuration values that are different from the Confluent Platform default values. The following table lists some of those overridden default configurations.
Component |
Field |
Confluent Platform Default Value |
CFK Enforced Value |
|---|---|---|---|
Connect |
|
None |
All |
Kafka |
|
30000 |
45000 [1] |