Delete Confluent Platform Deployment Using Confluent for Kubernetes¶
When you shut down a Confluent for Kubernetes (CFK) deployment, the components and resources must be deleted in the following order:
- Delete the Confluent application resources.
- Delete the Confluent Platform components.
- Delete the CFK.
If you encounter an orphaned custom resource that are stuck in the Deleting state, see Issue: Unable to delete Kubernetes resources for the troubleshooting steps.
Note
Do not use the --force
option when issuing the kubectl delete
command. With the option, the underlying resource will not be properly
deleted.
To delete a CFK and Confluent Platform deployment:
Delete the Confluent application resources¶
The CFK application resources include the following:
- ClusterLink
- ConfluentRolebinding
- Connector
- KafkaTopic
- SchemaExporter
- Schema
- KafkaRestClass
To delete the Confluent application resources:
Check which of the CFK resources were deployed and locate their CRs.
kubectl get confluent --namespace <namespace>
An example output is:
NAME REPLICAS READY STATUS AGE zookeeper.platform.confluent.io/zookeeper 3 3 RUNNING 23h NAME REPLICAS READY STATUS AGE kafka.platform.confluent.io/kafka 3 3 RUNNING 23h NAME REPLICAS READY STATUS AGE connect.platform.confluent.io/connect 2 2 RUNNING 23h NAME AGE kafkarestclass.platform.confluent.io/krc-cfk-mtls 24h
Delete the application custom resources (CRs) using one of the following commands.
Using the CR file:
kubectl delete -f <application CR> --namespace <namespace>
Using the resource name from Step 1:
kubectl delete <resource name> --namespace <namespace>
For example:
kubectl delete kafkarestclass.platform.confluent.io/krc-cfk-mtls --namespace <namespace>
Delete the Confluent Platform components¶
The best practice to delete a CFK deployment is to follow the recommended order.
If you choose to not follow the best practice order of deletion, you can try
using the --cascade=foreground
option with the kubectl
command to
delete resource with dependencies. The option deletes the dependent resource
before it deletes the component cluster. For example, when deleting a Connect
cluster associated with a connector that did not get deleted in the
previous step, the
--cascade=foreground
option deletes the connector resource, first, and
then deletes the Connect cluster.
For more information, see Use Cascading Deletion in a Cluster.
To delete the Confluent Platform component clusters:
Delete the Confluent Platform component CRs, excluding Kafka and ZooKeeper.
The CFK component resources include the following:
- Connect
- ControlCenter
- KafkaRestProxy
- KsqlDB
- SchemaRegistry
Delete the resources using one of the following commands.
Using the CR file:
kubectl delete -f <component CR> --namespace <namespace>
Using the resource name from Step 1:
kubectl delete <resource name> --namespace <namespace>
For example:
kubectl delete connect.platform.confluent.io/connect --namespace <namespace>
Delete Kafka using one of the following commands.
kubectl delete -f <Kafka CR> --namespace <namespace>
or
kubectl delete <Kafka resource name> --namespace <namespace>
Delete ZooKeeper using one of the following commands.
kubectl delete -f <Zookeeper CR> --namespace <namespace>
or
kubectl delete <Zookeeper resource name> --namespace <namespace>
Delete the CFK¶
To delete the CFK:
Check the release name of your CFK.
helm ls --namespace <namespace>
Using the release name you retrieved in the previous step, delete the CFK.
helm delete <CFK release name> --namespace <namespace>
Delete the namespace.
kubectl delete namespace <namespace>