Migrating to KafkaNodePools

Objective

In this phase, we will continue to use the Axual Streaming charts. The Kafka nodepool definition was added to Axual Streaming charts 1.2.2. To enable the Kafka nodepool, you must add the following to your values file:

values.yaml
axual-streaming:
  kafka:
    nodepools:
      enabled: true

After enabling this in the values file, you will observe the following differences in your deployment:

  1. strimzi.io/node-pools: enabled will be added to the Kafka resource.

  2. A new KafkaNodePool resource will be created with your current broker configurations, number of replicas, resources, and storage volume.

Brokers will not be restarted. Strimzi will now manage your Kafka cluster using the newly created KafkaNodePool.

Verification

  1. There should be no Kafka broker restarts.

  2. All PVCs/PVs should be in place and unchanged.

  3. All of your listeners should be in place and unchanged.

Rollback

A rollback must be performed in the following order; otherwise, all brokers will be deleted and will not be available until they are recreated:

  1. Set kafka.nodepools.enabled to false.

  2. You should see the strimzi.io/node-pools: enabled annotation removed, and the Kafka nodepool marked for deletion.

  3. Apply the change to remove the strimzi.io/node-pools: enabled annotation from the Kafka resource. Keep the Kafka node pool resource for now.

  4. Verify that the annotation has been removed from the Kafka resource.

  5. Now you can safely remove the Kafka node pool by deleting it directly from the cluster.