Chapter 1. Features

The features added in this release, and that were not in previous releases of the AMQ Streams, are outlined below.

Kafka 2.1.1 support

AMQ Streams now supports Kafka 2.1.1.

You must upgrade the Cluster Operator to 1.1.0 before you can upgrade to Kafka 2.1.1. For instructions, see AMQ Streams and Kafka upgrades.

Refer to the Kafka 2.1.0 and Kafka 2.1.1 Release Notes for additional information.

Note

Kafka 2.0.0 is supported only for upgrade purposes.

JBOD storage option

You can now configure AMQ Streams to use JBOD, a data storage configuration in which multiple disks or volumes are used. JBOD is one approach to providing increased data storage for Kafka brokers. It is not supported for Zookeeper.

See JBOD storage overview

Labels and annotations for resources

Additional configuration options have been added for configuring resource metadata. You can add labels and annotations to control how Pods are treated by Istio or other services.

See Labels and Annotations

New Pod template fields

Use new template fields to customize your Pod creation:

  • terminationGracePeriodSeconds defines the period of time, in seconds, by which a Pod must have terminated gracefully.
  • imagePullSecrets defines a list of references to OpenShift Secrets that can be used for pulling container images from private repositories.
  • securityContext sets pod-level security attributes for containers running as part of a given Pod.

See Customizing Pods

Mounting Secrets for Kafka Connect

You can mount your own Secrets or ConfigMaps into a Kafka Connect deployment (including Kafka Connect S2I) by specifying the mount in your Pod deployment configuration as either:

  • Environment variables
  • Volumes (using property files referenced in the configuration)

This approach applies especially to confidential data, such as usernames, passwords, or certificates.

See Using external configuration and secrets

Network policies

Define network policies for Kafka listeners. Use labels to describe permissible connections when configuring the listeners and the networkPolicyPeers field to specify the application pods or namespaces that will be allowed to access the Kafka cluster.

See Network policies

Maintenance time window

You can schedule certain rolling updates of your Kafka and Zookeeper clusters to start at a convenient time. Maintenance time windows allow you specify the days and times for planned maintenance using Cron expressions. Actions, such as certificate renewals, are started only during the maintenance window, though actions continue for as much time as required and do not stop when the window has ended.

See Maintenance time windows overview

Watch resources across all namespaces

You can configure the Cluster Operator to watch AMQ Streams custom resources across all OpenShift projects in your OpenShift cluster. When running in this mode, the Cluster Operator automatically manages clusters in any new projects or namespaces that are created.

See Deploying the Cluster Operator to watch all namespaces

Custom ImagePullPolicy

You can customize the default image pull policy for containers in all pods deployed by the Cluster Operator. The image pull policy is configured using the environment variable STRIMZI_IMAGE_PULL_POLICY in the Cluster Operator deployment.

See Cluster Operator Configuration

Pod Disruption Budgets

It is now possible to configure the Pod Disruption Budgets created by default through the Cluster Operator template. The template is set by default for one Pod to be unavailable at a time, which can be can changed using the maxUnavailable field.

See Customizing Pod Disruption Budgets