Update Helm release strimzi-kafka-operator to v0.38.0 #748
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.14.0
->0.38.0
Release Notes
strimzi/strimzi-kafka-operator (strimzi-kafka-operator)
v0.38.0
Compare Source
cosign
strimzi.io/manual-rolling-update
annotation (supported only whenStableConnectIdentities
feature gate is enabled)+UseKRaft
feature gate is enabledincludeAcceptHeader
option to OAuth client and listener authentication configuration and tokeycloak
authorization. If set tofalse
it turns off sending ofAccept
header when communicating with OAuth / OIDC authorization server. This feature is enabled by the updated Strimzi Kafka OAuth library (0.14.0).Changes, deprecations and removals
Kafka.KafkaStatus.ListenerStatus.type
property has been deprecated for a long time, and now we do not use it anymore.The current plan is to completely remove this property in the next schema version.
If needed, you can use the
Kafka.KafkaStatus.ListenerStatus.name
property, which has the same value.strimzi.io/kraft
annotation to be applied onKafka
custom resource, together with the+UseKRaft
feature gate enabled, to declare a ZooKeeper or KRaft based cluster.enabled
theKafka
resource defines a KRaft-based cluster.disabled
, missing or any other value, the operator handle theKafka
resource as a ZooKeeper-based cluster.io.strimzi.kafka.EnvVarConfigProvider
configuration provider is now deprecated and will be removed in Strimzi 0.42. Users should migrate to Kafka's implementation,org.apache.kafka.common.config.provider.EnvVarConfigProvider
, which is a drop-in replacement.For example:
config:
...
...
v0.37.0
Compare Source
StableConnectIdentites
feature gate moves to beta stage.By default, StrimziPodSets are used for Kafka Connect and Kafka Mirror Maker 2.
If needed,
StableConnectIdentites
can be disabled in the feature gates configuration in the Cluster Operator.ppc64le
platformKafka
custom resource status to track install and upgrade stateChanges, deprecations and removals
tracing.type: jaeger
configuration, inKafkaConnect
,KafkaMirrorMaker
,KafkaMirrorMaker2
andKafkaBridge
resources, is not supported anymore.tracing.type: opentelemetry
.When the auto-restart feature is enabled in
KafkaConnector
orKafkaMirrorMaker2
custom resources, it will now continue to restart the connectors indefinitely rather than stopping after 7 restarts, as previously.If you want to use the original behaviour, use the
.spec.autoRestart.maxRestarts
option to configure the maximum number of restarts.For example:
...
...
v0.36.1
Compare Source
v0.36.0
Compare Source
Changes, deprecations and removals
Kubernetes 1.19 and 1.20 are not supported anymore.
UseKRaft
feature gate is now possible only together with theKafkaNodePools
feature gate.To deploy a Kafka cluster in the KRaft mode, you have to use the
KafkaNodePool
resources.https://strimzi.io/charts/
is now deprecated.Please use the Helm Chart OCI artifacts from our Helm Chart OCI repository instead.
customClaimCheck
of 'oauth' authentication which relies on JsonPath changed the handling of equal comparison againstnull
as the behaviour was buggy and is now fixed in the updated version of JsonPath library OAuth #196v0.35.1
Compare Source
Main changes since 0.35.0
Bug Fixes
Upgrading from Strimzi 0.35.0
See the documentation for upgrade instructions.
Upgrading from Strimzi 0.22 or earlier
Direct upgrade from Strimzi 0.22 or earlier is not supported anymore! You have to upgrade first to one of the previous versions of Strimzi. You will also need to convert the CRD resources. For more details, see the documentation.
Container images
The following container images are part of this release:
quay.io/strimzi/operator@sha256:06a94a3021cf028ccc1a49271f35f79216029e344536e664f196c1725ff2c663
quay.io/strimzi/kafka@sha256:4de4874a7b722ad813f4dcc58acf509527bca0609999b81e70d81e3b38534d9d
quay.io/strimzi/kafka@sha256:0d910e7138cb49e1cd8cd84cef88bce35698b93ddd683a3398f1d485a3162693
quay.io/strimzi/kafka@sha256:54c6b25b31f51ef401c1b6e2a1b27432911e819bf3e502e05186f01be3f798e5
quay.io/strimzi/kafka-bridge@sha256:d6be183e492f8f88157ab9fe0af53950df8b6711a8a8c33da465de6064f6f86e
quay.io/strimzi/kaniko-executor@sha256:39778b90c2b2afc30261e4ad5135805e1a10a2b60e2e53108fb9f80487f1208a
quay.io/strimzi/maven-builder@sha256:88a79eff3b3a386880a630658964b7754caed9e99dd6e645a4c0d23d0fdb47ee
v0.35.0
Compare Source
UseStrimziPodSets
to GA and remove support for StatefulSetsChanges, deprecations and removals
From Strimzi 0.36.0 on, we will support only Kubernetes 1.21 and newer.
If you have JMX Trans enabled in your
Kafka
custom resource in the.spec.jmxTrans
section, you should remove it.If you upgrade to Strimzi 0.35.0 or newer with JMX Trans deployed / enabled in the
Kafka
custom resource, Strimzi will be automatically deleted after the upgrade.UseStrimziPodSets
has graduated to GA and cannot be disabled anymore.The StatefulSet template properties in the
Kafka
custom resource in.spec.zookeeper.template.statefulSet
and.spec.kafka.template.statefulSet
are deprecated and will be ignored.You should remove them from your custom resources.
v0.34.0
Compare Source
StableConnectIdentities
)httpRetries
andhttpRetryPauseMs
options to OAuth authentication configuration. They are set to0
by default - no retries, no backoff between retries. Also added analogoushttpRetries
option in thekeycloak
authorization configuration. These features are enabled by the updated Strimzi Kafka OAuth library (0.12.0).v0.33.2
Compare Source
Main changes since 0.33.1
Bug Fixes
v0.33.1
Compare Source
Main changes since 0.33.0
Bug Fixes
Lease
resource from installation filesv0.33.0
Compare Source
api
,crd-generator
,crd-annotations
, andtest
Recreate
deployment strategyImageStream
validation for Kafka Connect builds on OpenShiftKnown issues
If you use
type: ingress
listener with enabled mTLS authentication, we recommend you to test if your clients are affected or not.If needed, you can also disable the session ticket extension in the Kafka brokers in your
Kafka
custom resource by setting thejdk.tls.server.enableSessionTicketExtension
Java system property tofalse
:...
spec:
...
...
ssl.secure.random.implementation
option in Kafka brokers was always set toSHA1PRNG
.From Strimzi 0.33 on, it is using the default SecureRandom implementation from the Java Runtime.
If you want to keep using
SHA1PRNG
as your SecureRandom, you can configure it in.spec.kafka.config
in yourKafka
custom resource.It is currently planned to be removed in Strimzi 0.35.0.
type: jaeger
tracing based on Jaeger clients and OpenTracing API was deprecated in the Strimzi 0.31 release.As the Jaeger clients are retired and the OpenTracing project is archived, we cannot guarantee their support for future versions.
In Strimzi 0.32 and 0.33, we added support for OpenTelemetry tracing as a replacement.
If possible, we will maintain the support for
type: jaeger
tracing until June 2023 and remove it afterwards.Please migrate to OpenTelemetry as soon as possible.
The Jaeger exporter is even not included in the Kafka images anymore, so if you want to use it you have to add the binary by yourself.
The
OTEL_EXPORTER_OTLP_ENDPOINT
environment variable has to be used instead of theOTEL_EXPORTER_JAEGER_ENDPOINT
in order to specify the OTLP endpoint to send traces to.If you are using Jaeger as the backend system for tracing, you need to have 1.35 release at least which is the first one exposing an OTLP endpoint.
v0.32.0
Compare Source
ControlPlaneListener
feature gate moves to GAcluster-ip
listener. We can use it with a tcp port configuration in an ingress controller to expose kafka with an optional tls encryption and a single LoadBalancer.Changes, deprecations and removals
ClusterRole
from file020-ClusterRole-strimzi-cluster-operator-role.yaml
was split into two separate roles:strimzi-cluster-operator-namespaced
ClusterRole
in the file020-ClusterRole-strimzi-cluster-operator-role.yaml
contains the rights related to the resources created based on some Strimzi custom resources.strimzi-cluster-operator-watched
ClusterRole
in the file023-ClusterRole-strimzi-cluster-operator-role.yaml
contains the rights required to watch and manage the Strimzi custom resources.When deploying the Strimzi Cluster Operator as cluster-wide, the
strimzi-cluster-operator-watched
ClusterRole
needs to be always granted at the cluster level.But the
strimzi-cluster-operator-namespaced
ClusterRole
might be granted only for the namespaces where any custom resources are created.ControlPlaneListener
feature gate moves to GA.Direct upgrade from Strimzi 0.22 or earlier is not possible anymore.
You have to upgrade first to one of the Strimzi versions between 0.22 and 0.32 before upgrading to Strimzi 0.32 or newer.
Please follow the docs for more details.
spec.authorization.acls[*].operation
field in theKafkaUser
resource has been deprecated in favour of the fieldspec.authorization.acls[*].operations
which allows to set multiple operations per ACLRule.v0.31.1
Compare Source
sasl.server.max.receive.size
broker option user configurablev0.31.0
Compare Source
Deprecations and removals
From Strimzi 0.32.0 on, we will support only Kubernetes 1.19 and newer.
The supported Kubernetes versions will be re-evaluated again in Q1/2023.
type: jaeger
tracing support based on Jaeger clients and OpenTracing API is now deprecated.Because the Jaeger clients are retired and the OpenTracing project is archived, we cannot guarantee their support for future Kafka versions.
In the future, we plan to replace it with a new tracing feature based on the OpenTelemetry project.
v0.30.0
Compare Source
simple
authorization and for the User Operator to the experimentalUseKRaft
feature gate(Note: Due to KAFKA-13909, broker restarts currently don't work when authorization is enabled.)
ServiceAccountPatching
feature gate moves to GA.It cannot be disabled anymore and will be permanently enabled.
UseStrimziPodSets
feature gate moves to beta stage.By default, StrimziPodSets are used instead of StatefulSets.
If needed,
UseStrimziPodSets
can be disabled in the feature gates configuration in the Cluster Operator.For existing clusters, the certificates will not be updated during upgrade but only next time the PKCS12 store is created.
v0.29.0
Compare Source
/tmp
volumes to 5Mi to allow unpacking of compression libraries/healthz
endpoint for Kafka Exporter health checksspec.rack.topologyKey
property in Mirror Maker 2 to enable "fetch from the closest replica" feature.(The s390x support is currently considered as experimental. We are not aware of any issues, but the s390x build doesn't at this point undergo the same level of testing as the AMD64 container images.)
KafkaRebalance
custom resourcefull
: this mode runs a full rebalance moving replicas across all the brokers in the cluster. This is the default one if not specified.add-brokers
: after scaling up the cluster, this mode is used to move replicas to the newly added brokers specified in the custom resource.remove-brokers
: this mode is used to move replicas off the brokers that are going to be removed, before scaling down the cluster.UseKRaft
feature gate.Important: Use it for development and testing only!
Changes, deprecations and removals
.spec.cruiseControl.tlsSidecar
and.spec.cruiseControl.template.tlsSidecar
in the Kafka custom resource are now deprecated.v0.28.0
Compare Source
StrimziPodSet
resources (disabled by default through theUseStrimziPodSets
feature gate)createBootstrapService
in the Kafka Spec to disable the creation of the bootstrap service for the Load Balancer Type Listener. It will save the cost of one load balancer resource, specially in the public cloud.connectTimeoutSeconds
andreadTimeoutSeconds
options to OAuth authentication configuration. The default connect and read timeouts are set to 60 seconds (previously there was no timeout). Also addedgroupsClaim
andgroupsClaimDelimiter
options in the listener configuration of Kafka Spec to allow extracting group information from JWT token at authentication time, and making it available to the custom authorizer. These features are enabled by the updated Strimzi Kafka OAuth library (0.10.0).Changes, deprecations and removals
io.strimzi.kafka.connect.mirror.IdentityReplicationPolicy
) is now deprecated and will be removed in the future.Please update to Kafka's own Identity Replication Policy (class
org.apache.kafka.connect.mirror.IdentityReplicationPolicy
).type
field inListenerStatus
has been deprecated and will be removed in the future.disk
andcpuUtilization
fields in thespec.cruiseControl.capacity
section of the Kafka resource have been deprecated, are ignored, and will be removed in the future.v0.27.1
Compare Source
Main changes since 0.27.0
All changes can be found under the 0.27.1 milestone.
Upgrading from previous Strimzi versions
See the documentation for upgrade instructions.
Upgrading from Strimzi 0.22 or earlier
This release supports only the API version
v1beta2
and CRD versionapiextensions.k8s.io/v1
. If upgrading from Strimzi 0.22, migration tov1beta2
needs to be completed for all Strimzi CRDs and CRs before the upgrade to 0.27 is done! If upgrading from Strimzi version earlier than 0.22, you need to first install the CRDs from Strimzi 0.22 and complete the migration tov1beta2
for all Strimzi CRDs and CRs before the upgrade to 0.27 is done!For more details about the CRD upgrades, see the documentation.
v0.27.0
Compare Source
(The support AArch64 is currently considered as experimental. We are not aware of any issues, but the AArch64 build doesn't at this point undergo the same level of testing as the AMD64 container images.)
STRIMZI_ZOOKEEPER_ADMIN_SESSION_TIMEOUT_MS
ControlPlaneListener
andServiceAccountPatching
feature gates are now in the beta phase and are enabled by default.extraEnvs
value.Changes, deprecations and removals
ControlPlaneListener
feature gate is now enabled by default.When upgrading from Strimzi 0.22 or earlier, you have to disable the
ControlPlaneListener
feature gate when upgrading the cluster operator to make sure the Kafka cluster stays available during the upgrade.When downgrading to Strimzi 0.22 or earlier, you have to disable the
ControlPlaneListener
feature gate before downgrading the cluster operator to make sure the Kafka cluster stays available during the downgrade.v0.26.1
Compare Source
Main changes since 0.26.0
v0.26.0
Compare Source
/tmp
volume size via Pod template. By default1Mi
is used.Changes, deprecations and removals
As a result, the
KafkaMirrorMaker
custom resource which is used to deploy Kafka MirrorMaker 1 has been deprecated in Strimzi as well. (#5617)The
KafkaMirrorMaker
resource will be removed from Strimzi when we adopt Apache Kafka 4.0.0.As a replacement, use the
KafkaMirrorMaker2
custom resource with theIdentityReplicationPolicy
.v0.25.0
Compare Source
KafkaUser
resourcetls-external
authentication to User Operator to allow management of ACLs and Quotas for TLS users with user certificates generated externally (#5249)STRIMZI_NETWORK_POLICY_GENERATION
environment variable tofalse
to disable network policies. (#5258)emptyDir
volumes used for temporary files (#5340)Changes, deprecations and removals
KafkaConnectS2I
resource has been removed and is no longer supported by the operator.Please use the migration guide to migrate your
KafkaConnectS2I
deployments toKafkaConnect
Build instead.The new release introduces a new format of the input data sent to the Open Policy Agent server.
For more information about the new format and how to migrate from the old version, see the OPA Kafka plugin v1.0.0 release notes.
All operations done by the User Operator now use Kafka Admin API and connect directly to Kafka instead of ZooKeeper.
As a result, the environment variables
STRIMZI_ZOOKEEPER_CONNECT
andSTRIMZI_ZOOKEEPER_SESSION_TIMEOUT_MS
were removed from the User Operator configuration.emptyDir
volumes used by Strimzi for temporary files have now configured a fixed size limit.v0.24.0
Compare Source
ServiceAccountPatching
feature gate.strimzi.io/pause-reconciliation
Changes, deprecations and removals
KafkaConnectS2I
custom resource will be removed after the 0.24.0 release.Please use the migration guide to migrate your
KafkaConnectS2I
deployments toKafkaConnect
Build instead.topicsBlacklistPattern
andgroupsBlacklistPattern
in theKafkaMirrorMaker2
resource are deprecated and will be removed in the future.They are replaced by new fields
topicsExcludePattern
andgroupsExcludePattern
.whitelist
in theKafkaMirrorMaker
resource is deprecated and will be removed in the future.It is replaced with a new field
include
.bind-utils
removed from containers to improve security posture.If your artifact requires a specific name, you can use the new
type: other
artifact and itsfileName
field.enableECDSA
of Kafka CRauthentication
of typeoauth
has been deprecated and is ignored.ECDSA token signature support is now always enabled without the need for Strimzi Cluster Operator installing the BouncyCastle JCE crypto provider.
BouncyCastle library is no longer packaged with Strimzi Kafka images.
v0.23.0
Compare Source
loadbalancer
type listenersControlPlaneListener
feature gate)Changes, deprecations and removals
v1alpha1
andv1beta1
were removed from all Strimzi custom resources apart fromKafkaTopic
andKafkaUser
(usev1beta2
versions instead)cluster.operator.strimzi.io/delete-claim
(used internally only - replaced bystrimzi.io/delete-claim
)operator.strimzi.io/generation
(used internally only - replaced bystrimzi.io/generation
)operator.strimzi.io/delete-pod-and-pvc
(usestrimzi.io/delete-pod-and-pvc
instead)operator.strimzi.io/manual-rolling-update
(usestrimzi.io/manual-rolling-update
instead)class
field is configured in theconfiguration
section of an Ingress-type listener, Strimzi will not automatically set the deprecatedkubernetes.io/ingress.class
annotation anymore. In case you still need this annotation, you can set it manually in the listener configuration using theannotations
field or in the.spec.kafka.template
section..spec.kafkaExporter.template.service
section in theKafka
custom resource has been deprecated and will be removed in the next API version (the service itself was removed several releases ago).v0.22.1
Compare Source
Main changes since 0.22.0
See the 0.22.0 release for information about CRD upgrades, deprecations and removals.
Upgrading from Strimzi 0.21.x and 0.22.0
See the documentation for upgrade instructions.
v0.22.0
Compare Source
v1beta2
version for all resources.v1beta2
removes all deprecated fields.ConfigMap
name and key..status
section of theKafkaConnector
custom resourceLog4j 2
and is supported by dynamic logging configuration (where logging properties are defined in a ConfigMap). However, existingLog4j
configurations must be updated toLog4j 2
configurations.strimzi.io/pause-reconciliation
Changes, deprecations and removals
In the past, when no Ingress class was specified in the Ingress-type listener in the Kafka custom resource, the
kubernetes.io/ingress.class
annotation was automatically set tonginx
. Because of the support for the newIngressClass resource and the new
ingressClassName
field in the Ingress resource, the default value will not be setanymore. Please use the
class
field in.spec.kafka.listeners[].configuration
to specify the class name.The
KafkaConnectS2I
custom resource is deprecated and will be removed in the future. You can use the newKafkaConnect
build feature instead.Removed support for Helm2 charts as that version is now unsupported. There is no longer the need for separate
helm2
andhelm3
binaries, onlyhelm
(version 3) is required.The following annotations are deprecated for a long time and will be removed in 0.23.0:
cluster.operator.strimzi.io/delete-claim
(used internally only - replaced bystrimzi.io/delete-claim
)operator.strimzi.io/generation
(used internally only - replaced bystrimzi.io/generation
)operator.strimzi.io/delete-pod-and-pvc
(usestrimzi.io/delete-pod-and-pvc
instead)operator.strimzi.io/manual-rolling-update
(usestrimzi.io/manual-rolling-update
instead)External logging configuration has changed.
spec.logging.name
is deprecated. Moved tospec.logging.valueFrom.configMapKeyRef.name
. Key in theConfigMap
is configurable viaspec.logging.valueFrom.configMapKeyRef.key
.Existing Cruise Control logging configurations must be updated from
Log4j
syntax toLog4j 2
syntax.cruisecontrol.root.logger
property withrootLogger.level
.log4j2.properties
usinglog4j 2
syntax.v0.21.1
Compare Source
Main changes since 0.21.0
This patch release contains two bug-fixes:
Upgrading from Strimzi 0.20.x and 0.21.0
See the documentation for upgrade instructions.
v0.21.0
Compare Source
inter.broker.protocol.version
to the default configuration in example YAMLssecretPrefix
property for User Operator to prefix all secret names created from KafkaUser resource.test-container
has been renamed tostrimzi-test-container
to make the name more clearcluster-id
(KIP-78) available on Kafka CRD statusDeprecations and removals
metrics
field in the Strimzi custom resources has been deprecated and will be removed in the future. For configuring metrics, use the newmetricsConfig
field and pass the configuration via ConfigMap.v0.20.1
Compare Source
Main changes since 0.20.0
This patch release contains several bug-fixes:
v0.20.0
Compare Source
Note: This is the last version of Strimzi that will support Kubernetes 1.11 and higher. Future versions will drop support for Kubernetes 1.11-1.15 and support only Kubernetes 1.16 and higher.
cruiseControl
property of the Kafka custom resourceAclAuthorizer
class for thesimple
Kafka authorization type.AclAuthorizer
contains new features such as the ability to control the amount of authorization logs in the broker logs.client.rack
property for Kafka Connect to usefetch from closest replica
feature.listeners
configurable as an array and add support for more different listeners in single clusterhostAliases
in Pod templatesoauth
authentication, andkeycloak
authorization:Deprecations and removals
Redesign of the
.spec.kafka.listeners
sectionThe
.spec.kafka.listeners
section of the Kafka CRD has been redesigned to allow configuring more different listeners.The old
listeners
object which allowed only configuration of oneplain
, onetls
, and oneexternal
listener is now deprecated and will be removed in the future.It is replaced with an array allowing configuration of multiple different listeners:
This change includes some other changes:
tls
field is now required.overrides
section is now merged with theconfiguration
section.dnsAnnotations
field has been renamed toannotations
since we found out it has wider use.loadBalancerSourceRanges
andexternalTrafficPolicy
has been moved into listener configuration. Its use in thetemplate
section is now deprecated.type: internal
listeners, you can now use the flaguseServiceDnsDomain
to define whether they should use the fully qualified DNS names including the cluster service suffix (usually.cluster.local
). This option defaults to false.preferredAddressType
has been removed topreferredNodePortAddressType
.To convert the old format into the new format with backwards compatibility, you should use following names and types:
plain
listener, use the nameplain
, port9092
and typeinternal
.tls
listener, use the nametls
, port9093
and typeinternal
.external
listener, use the nameexternal
, port9094
.For example the following old configuration:
Will look like this in the new format:
Removal of monitoring port on Kafka and ZooKeeper related services
The
PodMonitor
resource is now used instead of theServiceMonitor
for scraping metrics from Kafka, ZooKeeper, Kafka Connect and so on.For this reason, we have removed the monitoring port
tcp-prometheus
(9404) on all the services where it is declared (Kafka bootstrap, ZooKeeper client and soConfiguration
📅 Schedule: Branch creation - "before 6am on Monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.