Create a Blueprint for Confluent Platform Using Confluent for Kubernetes¶
In Confluent for Kubernetes (CFK) Blueprints, a Blueprint is a configuration template for Confluent Platform deployments. You use a Blueprint to enforce infrastructure and deployment standards within your organization. Blueprints mandate if that configuration information should be provided at the Blueprint level for all Confluent Platform clusters, or each deployment should provide its configuration details:
- You would provide platform-level configurations that can be reused across multiple deployments. Examples are Confluent Platform versions, identity providers, Docker image registries, certificate providers, and Confluent Cloud connection information.
- Sensitive configurations that should be kept private at the deployment level should be set to come from the cluster deployment CR.
From the control plane where the Orchestrator is installed, you can create, view, update, or delete Blueprints.
CFK Blueprints includes a ConfluentPlatformBlueprint custom resource definition (CRD) and a set of Confluent components ClusterClass CRDs. As a platform administrator, you create a Blueprint CR and a set of Confluent component ClusterClass CRs to create a Blueprint. Any changes in the ClusterClass CRs or the ConfluentPlatformBlueprint CR are cluster wide and impact every clusters deployed with the Blueprint.
When your Blueprint or Confluent Platform classes change, CFK Blueprints will automatically detect the changes and roll the cluster if needed. For details of the fleet management process in CFK Blueprints, see Manage Confluent Platform Fleets Using Confluent for Kubernetes Blueprints.
To create a Blueprint:
- Create a Blueprint.
- Create Confluent Platform Classes.
- Deploy the ConfluentPlatformBlueprint and the Confluent Cluster Class CRs
using the
kubectl apply -f
command.
Create a Blueprint¶
In the ConfluentPlatformBlueprint CR, specify your Confluent Platform configurations.
You can use the example Quick Start CR as a template.
For more Blueprint samples, see the CFK example repo.
For networking, security, and other complex configurations, refer to the detailed configuration guides.
A Blueprint CR has the following properties:
apiVersion: core.cpc.platform.confluent.io/v1beta1
kind: ConfluentPlatformBlueprint
metadata:
name: —-- [1]
namespace: —-- [2]
spec:
credentialStoreConfigRefs: --- [3]
-name:
namespace:
certificateStoreConfigRefs: --- [4]
-name:
namespace:
k8s: —-- [5]
confluentPlatform:
version: —-- [6]
license: --- [7]
components: —-- [8]
zookeeperCluster:
kafkaCluster:
ksqlDBCluster:
controlCenterCluster:
schemaRegistryCluster:
connectCluster:
- [1] Required. The name of this Blueprint.
- [2] The namespace of this Blueprint.
- [3] A list of credential stores that contain the required credentials for this Blueprint. See Configure a credential store for details.
- [4] A list of certificates stores that contain the required certificates for this Blueprint. See Create a certificate store for details.
- [5] Kubernetes-specific configurations for the CFK Blueprints objects.
- [6] The version of Confluent Platform to be deployed.
- [7] Confluent Platform license. See Update Confluent Platform License in Confluent for Kubernetes Blueprints for details.
- [8] References to the Confluent component Cluster Classes. See Create Confluent Platform Cluster Classes for the ClusterClass CR configuration details.
Create Confluent Platform Cluster Classes¶
For each component to be deployed, create a Confluent Platform component ClusterClass CR to specify component-specific settings:
kind: —-- [1]
metadata:
name: —-- [2]
namespace: —-- [3]
spec:
provisioner:
type: —-- [4]
cfk: —-- [5]
ccloud: --- [6]
- [1] Use one of the following component classes:
ZookeeperClusterClass
ConnectClusterClass
ControlCenterClusterClass
KafkaClusterClass
KsqlDBClusterClass
ZookeeperClusterClass
KafkaRestProxyClusterClass
- [2] Required. The name of the component ClusterClass CR.
- [3] The namespace of the component ClusterClass CR.
- [4] Required. The type of underlying resource for the component cluster.
Specify
cfk
orccloud
. If omitted,cfk
is the default. - [5] Required if
cfk
is specified in [4]. - [6] Required if
ccloud
is specified in [4].