Supertubes can deploy and manage Kafka clusters that use custom Kafka distributions. The distribution must meet the following requirements:

  • Minimum required Kafka version is 2.5.0.
  • The Kafka docker image is built on Java 11.

The following meta information about the Kafka distribution must be provided through broker annotations in the KafkaCluster custom resource:

annotation Description
jvm.kafka.banzaicloud.io/version Java version in major.minor.path format required
kafka.banzaicloud.io/version Kafka version required
kafka.banzaicloud.io/build-info Build info optional
kafka.banzaicloud.io/image-provider Name of the docker image provider optional

You can either specify these annotations for the entire broker configuration group, or also separately for each broker. If you specify an annotation both on the broker configuration group and the broker level, the broker-level annotation is used.

Provide Kafka meta information through broker config group 🔗︎

apiVersion: kafka.banzaicloud.io/v1beta1
kind: KafkaCluster
metadata:
  name: kafka
spec:
...
  brokerConfigGroups:
    default:
    ...
      brokerAnnotations:
        jvm.kafka.banzaicloud.io/version: "11.0.10"
        kafka.banzaicloud.io/version: "2.6.1"

Provide Kafka meta information through broker level config 🔗︎

apiVersion: kafka.banzaicloud.io/v1beta1
kind: KafkaCluster
metadata:
  name: kafka
spec:
...
  brokerConfigGroups:
    default:
    ...
  brokers:
    - id: 0
      brokerConfigGroup: "default"
      brokerAnnotations:
       jvm.kafka.banzaicloud.io/version: "11.0.10"
       kafka.banzaicloud.io/version: "2.6.1"