mirror of
https://github.com/bitnami/charts.git
synced 2026-03-27 15:27:10 +08:00
[bitnami/kafka] Add kraftVersion value to set static/dynamic quorum (#34689)
* [bitnami/kafka] Add kraftVersion value to set static/dynamic quorum Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com> * Fix version typo Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com> * Fix values.yaml Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com> * Fix helper Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com> * Remove extra files Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com> * Update CHANGELOG.md Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com> * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com> * Update value description Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com> Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com> --------- Signed-off-by: Miguel Ruiz <miguel.ruiz@broadcom.com> Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com> Co-authored-by: Bitnami Bot <bitnami.bot@broadcom.com>
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
# Changelog
|
||||
|
||||
## 32.2.18 (2025-06-25)
|
||||
## 32.3.0 (2025-06-27)
|
||||
|
||||
* [bitnami/kafka] :zap: :arrow_up: Update dependency references ([#34615](https://github.com/bitnami/charts/pull/34615))
|
||||
* [bitnami/kafka] Add kraftVersion value to set static/dynamic quorum ([#34689](https://github.com/bitnami/charts/pull/34689))
|
||||
|
||||
## <small>32.2.18 (2025-06-25)</small>
|
||||
|
||||
* [bitnami/kafka] :zap: :arrow_up: Update dependency references (#34615) ([3e69eb6](https://github.com/bitnami/charts/commit/3e69eb6531e7b8eaca4275c43aec8e780c99ee45)), closes [#34615](https://github.com/bitnami/charts/issues/34615)
|
||||
|
||||
## <small>32.2.17 (2025-06-18)</small>
|
||||
|
||||
|
||||
@@ -38,4 +38,4 @@ maintainers:
|
||||
name: kafka
|
||||
sources:
|
||||
- https://github.com/bitnami/charts/tree/main/bitnami/kafka
|
||||
version: 32.2.18
|
||||
version: 32.3.0
|
||||
|
||||
@@ -432,6 +432,7 @@ To back up and restore Helm chart deployments on Kubernetes, you need to back up
|
||||
| `image.debug` | Specify if debug values should be set | `false` |
|
||||
| `clusterId` | Kafka Kraft cluster ID (ignored if existingKraftSecret is set). A random cluster ID will be generated the 1st time Kraft is initialized if not set. | `""` |
|
||||
| `existingKraftSecret` | Name of the secret containing the Kafka KRaft Cluster ID and one directory ID per controller replica | `""` |
|
||||
| `kraftVersion` | Kraft version to be used. It determines whether static quorum (kraftVersion=0) or dynamic quorum (kraftVersion=1) will be used. | `1` |
|
||||
| `config` | Specify content for Kafka configuration (auto-generated based on other parameters otherwise) | `{}` |
|
||||
| `overrideConfiguration` | Kafka common configuration override. Values defined here takes precedence over the ones defined at `config` | `{}` |
|
||||
| `existingConfigmap` | Name of an existing ConfigMap with the Kafka configuration | `""` |
|
||||
@@ -1064,6 +1065,15 @@ Find more information about how to deal with common errors related to Bitnami's
|
||||
|
||||
## Upgrading
|
||||
|
||||
### To 32.3.0
|
||||
|
||||
We have introduced the value `kraftVersion` to help control the change from static quorum to dynamic quorum.
|
||||
|
||||
By default, new clusters will be deployed with the new dynamic quorum (kraftVersion=1), but users upgrading from Kafka 3.x may need to modify the default values to continue using static quorum (kraftVersion=0).
|
||||
That is because Kafka 4.0 does not yet support switching from static quorum (controller.quorum.voters) to dynamic quorum (controller.quorum.bootstrap.servers), causing upgrades to fail (#34015).
|
||||
|
||||
For more information please check [Kafka documentation](https://kafka.apache.org/documentation/#static_versus_dynamic_kraft_quorums).
|
||||
|
||||
### To 32.0.0
|
||||
|
||||
This major release bumps Kafka major version to `4.y.z` series. This version implies a significant milestone given now Kafka operates operate entirely without Apache ZooKeeper, running in KRaft mode by default. As a consequence, **ZooKeeper is no longer a chart dependency and every related parameter has been removed.**. Upgrading from `31.y.z` chart version is not supported unless KRaft mode was already enabled.
|
||||
@@ -1536,4 +1546,4 @@ Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
limitations under the License.
|
||||
|
||||
@@ -293,7 +293,7 @@ Return the Kafka controller-eligible secret configuration
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the Kafka controller-eligible secret configuration values
|
||||
Return the Kafka controller-eligible secret configuration values
|
||||
*/}}
|
||||
{{- define "kafka.controller.secretConfig" -}}
|
||||
{{- if .Values.secretConfig }}
|
||||
@@ -357,7 +357,7 @@ Return the Kafka broker secret configuration
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Return the Kafka broker secret configuration values
|
||||
Return the Kafka broker secret configuration values
|
||||
*/}}
|
||||
{{- define "kafka.broker.secretConfig" -}}
|
||||
{{- if .Values.secretConfig }}
|
||||
@@ -535,7 +535,12 @@ Returns the controller quorum bootstrap servers based on the number of controlle
|
||||
{{- else -}}
|
||||
{{- range $i := until (int .Values.controller.replicaCount) -}}
|
||||
{{- $nodeAddress := printf "%s-%d.%s.%s.svc.%s:%d" $fullname (int $i) $serviceName $releaseNamespace $clusterDomain $port -}}
|
||||
{{- $bootstrapServers = append $bootstrapServers $nodeAddress -}}
|
||||
{{- if eq (int $.Values.kraftVersion) 0 }}
|
||||
{{- $nodeId := add (int $i) (int $.Values.controller.minId) -}}
|
||||
{{- $bootstrapServers = append $bootstrapServers (printf "%d@%s" $nodeId $nodeAddress ) -}}
|
||||
{{- else }}
|
||||
{{- $bootstrapServers = append $bootstrapServers $nodeAddress -}}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- join "," $bootstrapServers -}}
|
||||
@@ -547,7 +552,11 @@ Section of the server.properties shared by both controller-eligible and broker n
|
||||
*/}}
|
||||
{{- define "kafka.commonConfig" -}}
|
||||
controller.listener.names: {{ .Values.listeners.controller.name }}
|
||||
{{- if eq (int .Values.kraftVersion) 0 }}
|
||||
controller.quorum.voters: {{ include "kafka.controller.quorumBootstrapServers" . }}
|
||||
{{- else }}
|
||||
controller.quorum.bootstrap.servers: {{ include "kafka.controller.quorumBootstrapServers" . }}
|
||||
{{- end }}
|
||||
{{- if include "kafka.sslEnabled" . }}
|
||||
# TLS configuration
|
||||
ssl.keystore.type: JKS
|
||||
|
||||
@@ -124,6 +124,11 @@ clusterId: ""
|
||||
## @param existingKraftSecret Name of the secret containing the Kafka KRaft Cluster ID and one directory ID per controller replica
|
||||
##
|
||||
existingKraftSecret: ""
|
||||
## @param kraftVersion Kraft version to be used. It determines whether static quorum (kraftVersion=0) or dynamic quorum (kraftVersion=1) will be used.
|
||||
## NOTE: Kafka 4.0 does not yet support switching kraft version. This setting was added for backward-compatibility with 3.x clusters.
|
||||
## Ref: https://kafka.apache.org/documentation/#static_versus_dynamic_kraft_quorums
|
||||
##
|
||||
kraftVersion: 1
|
||||
## @param config Specify content for Kafka configuration (auto-generated based on other parameters otherwise)
|
||||
## NOTE: This will override the configuration based on values, please act carefully
|
||||
## Use simple key-value YAML format, then it's transformed to properties format by the chart. e.g:
|
||||
@@ -1678,7 +1683,7 @@ service:
|
||||
##
|
||||
labels: {}
|
||||
## @param service.headless.ipFamilies IP families for the headless service
|
||||
##
|
||||
##
|
||||
ipFamilies: []
|
||||
## @param service.headless.ipFamilyPolicy IP family policy for the headless service
|
||||
##
|
||||
@@ -2113,7 +2118,7 @@ metrics:
|
||||
prometheus.io/path: "/metrics"
|
||||
## @param metrics.jmx.service.ipFamilies IP families for the jmx metrics service
|
||||
##
|
||||
ipFamilies: []
|
||||
ipFamilies: []
|
||||
## @param metrics.jmx.service.ipFamilyPolicy IP family policy for the jmx metrics service
|
||||
##
|
||||
ipFamilyPolicy: ""
|
||||
|
||||
Reference in New Issue
Block a user