From 568aafa1de85759ea2d90d2915970eefaa36dffd Mon Sep 17 00:00:00 2001 From: Fran Mulero Date: Wed, 29 May 2024 12:44:07 +0200 Subject: [PATCH] [bitnami/kafka] PDB review (#25938) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [bitnami/kafka] PDB review Signed-off-by: Fran Mulero * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers * Update CHANGELOG.md Signed-off-by: Bitnami Containers * Update CHANGELOG.md Signed-off-by: Bitnami Containers * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers * Update CHANGELOG.md Signed-off-by: Bitnami Containers * Update CHANGELOG.md Signed-off-by: Bitnami Containers * Remove metrics PDB Signed-off-by: Fran Mulero * Bump patch version Signed-off-by: Fran Mulero * Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers --------- Signed-off-by: Fran Mulero Signed-off-by: Carlos Rodríguez Hernández Signed-off-by: Bitnami Containers Co-authored-by: Carlos Rodríguez Hernández Co-authored-by: Bitnami Containers --- bitnami/kafka/CHANGELOG.md | 8 ++++++-- bitnami/kafka/Chart.yaml | 2 +- bitnami/kafka/README.md | 8 ++++---- bitnami/kafka/templates/broker/pdb.yaml | 7 +++---- bitnami/kafka/templates/broker/statefulset.yaml | 4 +++- bitnami/kafka/templates/controller-eligible/pdb.yaml | 7 +++---- .../kafka/templates/controller-eligible/statefulset.yaml | 4 +++- bitnami/kafka/values.yaml | 9 +++++---- 8 files changed, 28 insertions(+), 21 deletions(-) diff --git a/bitnami/kafka/CHANGELOG.md b/bitnami/kafka/CHANGELOG.md index e58fba2207..34ba9ec55f 100644 --- a/bitnami/kafka/CHANGELOG.md +++ b/bitnami/kafka/CHANGELOG.md @@ -1,8 +1,12 @@ # Changelog -## 29.1.1 (2024-05-27) +## 29.1.2 (2024-05-29) -* [bitnami/kafka] Fixed Network-Policies for jmx metrics export ([#26369](https://github.com/bitnami/charts/pull/26369)) +* [bitnami/kafka] PDB review ([#25938](https://github.com/bitnami/charts/pull/25938)) + +## 29.1.1 (2024-05-28) + +* [bitnami/kafka] Fixed Network-Policies for jmx metrics export (#26369) ([7f9445f](https://github.com/bitnami/charts/commit/7f9445f21003a77971d1e7d9c31cf952b6ba9554)), closes [#26369](https://github.com/bitnami/charts/issues/26369) ## 29.1.0 (2024-05-27) diff --git a/bitnami/kafka/Chart.yaml b/bitnami/kafka/Chart.yaml index 88d3e88b29..c9230a25e1 100644 --- a/bitnami/kafka/Chart.yaml +++ b/bitnami/kafka/Chart.yaml @@ -40,4 +40,4 @@ maintainers: name: kafka sources: - https://github.com/bitnami/charts/tree/main/bitnami/kafka -version: 29.1.1 +version: 29.1.2 diff --git a/bitnami/kafka/README.md b/bitnami/kafka/README.md index 237b383c3e..5e687e2eb3 100644 --- a/bitnami/kafka/README.md +++ b/bitnami/kafka/README.md @@ -644,9 +644,9 @@ You can enable this initContainer by setting `volumePermissions.enabled` to `tru | `controller.autoscaling.hpa.maxReplicas` | Maximum number of Kafka Controller replicas | `""` | | `controller.autoscaling.hpa.targetCPU` | Target CPU utilization percentage | `""` | | `controller.autoscaling.hpa.targetMemory` | Target Memory utilization percentage | `""` | -| `controller.pdb.create` | Deploy a pdb object for the Kafka pod | `false` | +| `controller.pdb.create` | Deploy a pdb object for the Kafka pod | `true` | | `controller.pdb.minAvailable` | Maximum number/percentage of unavailable Kafka replicas | `""` | -| `controller.pdb.maxUnavailable` | Maximum number/percentage of unavailable Kafka replicas | `1` | +| `controller.pdb.maxUnavailable` | Maximum number/percentage of unavailable Kafka replicas | `""` | | `controller.persistence.enabled` | Enable Kafka data persistence using PVC, note that ZooKeeper persistence is unaffected | `true` | | `controller.persistence.existingClaim` | A manually managed Persistent Volume and Claim | `""` | | `controller.persistence.storageClass` | PVC Storage Class for Kafka data volume | `""` | @@ -751,9 +751,9 @@ You can enable this initContainer by setting `volumePermissions.enabled` to `tru | `broker.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the Kafka container(s) | `[]` | | `broker.sidecars` | Add additional sidecar containers to the Kafka pod(s) | `[]` | | `broker.initContainers` | Add additional Add init containers to the Kafka pod(s) | `[]` | -| `broker.pdb.create` | Deploy a pdb object for the Kafka pod | `false` | +| `broker.pdb.create` | Deploy a pdb object for the Kafka pod | `true` | | `broker.pdb.minAvailable` | Maximum number/percentage of unavailable Kafka replicas | `""` | -| `broker.pdb.maxUnavailable` | Maximum number/percentage of unavailable Kafka replicas | `1` | +| `broker.pdb.maxUnavailable` | Maximum number/percentage of unavailable Kafka replicas | `""` | ### Experimental: Kafka Broker Autoscaling configuration diff --git a/bitnami/kafka/templates/broker/pdb.yaml b/bitnami/kafka/templates/broker/pdb.yaml index 8d3fdf53a0..b90ad3003a 100644 --- a/bitnami/kafka/templates/broker/pdb.yaml +++ b/bitnami/kafka/templates/broker/pdb.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- $replicaCount := int .Values.broker.replicaCount }} -{{- if and .Values.broker.pdb.create (gt $replicaCount 0) }} +{{- if .Values.broker.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget metadata: @@ -20,8 +19,8 @@ spec: {{- if .Values.broker.pdb.minAvailable }} minAvailable: {{ .Values.broker.pdb.minAvailable }} {{- end }} - {{- if .Values.broker.pdb.maxUnavailable }} - maxUnavailable: {{ .Values.broker.pdb.maxUnavailable }} + {{- if or .Values.broker.pdb.maxUnavailable (not .Values.broker.pdb.minAvailable) }} + maxUnavailable: {{ .Values.broker.pdb.maxUnavailable | default 1 }} {{- end }} {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.broker.podLabels .Values.commonLabels ) "context" . ) }} selector: diff --git a/bitnami/kafka/templates/broker/statefulset.yaml b/bitnami/kafka/templates/broker/statefulset.yaml index 940c9a5a93..93ef951fe5 100644 --- a/bitnami/kafka/templates/broker/statefulset.yaml +++ b/bitnami/kafka/templates/broker/statefulset.yaml @@ -4,7 +4,7 @@ SPDX-License-Identifier: APACHE-2.0 */}} {{- $replicaCount := int .Values.broker.replicaCount }} -{{- if gt $replicaCount 0 }} +{{- if or (gt $replicaCount 0) .Values.broker.autoscaling.enabled }} apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }} kind: StatefulSet metadata: @@ -18,7 +18,9 @@ metadata: {{- end }} spec: podManagementPolicy: {{ .Values.broker.podManagementPolicy }} + {{- if not .Values.broker.autoscaling.enabled }} replicas: {{ .Values.broker.replicaCount }} + {{- end }} {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.broker.podLabels .Values.commonLabels ) "context" . ) }} selector: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} diff --git a/bitnami/kafka/templates/controller-eligible/pdb.yaml b/bitnami/kafka/templates/controller-eligible/pdb.yaml index 00b17c203e..f599fc9481 100644 --- a/bitnami/kafka/templates/controller-eligible/pdb.yaml +++ b/bitnami/kafka/templates/controller-eligible/pdb.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- $replicaCount := int .Values.controller.replicaCount }} -{{- if and .Values.controller.pdb.create .Values.kraft.enabled (gt $replicaCount 0) }} +{{- if and .Values.controller.pdb.create .Values.kraft.enabled }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget metadata: @@ -20,8 +19,8 @@ spec: {{- if .Values.controller.pdb.minAvailable }} minAvailable: {{ .Values.controller.pdb.minAvailable }} {{- end }} - {{- if .Values.controller.pdb.maxUnavailable }} - maxUnavailable: {{ .Values.controller.pdb.maxUnavailable }} + {{- if or .Values.controller.pdb.maxUnavailable (not .Values.controller.pdb.minAvailable) }} + maxUnavailable: {{ .Values.controller.pdb.maxUnavailable | default 1 }} {{- end }} {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.controller.podLabels .Values.commonLabels ) "context" . ) }} selector: diff --git a/bitnami/kafka/templates/controller-eligible/statefulset.yaml b/bitnami/kafka/templates/controller-eligible/statefulset.yaml index 60a0123bd8..0b2bb88ff8 100644 --- a/bitnami/kafka/templates/controller-eligible/statefulset.yaml +++ b/bitnami/kafka/templates/controller-eligible/statefulset.yaml @@ -4,7 +4,7 @@ SPDX-License-Identifier: APACHE-2.0 */}} {{- $replicaCount := int .Values.controller.replicaCount }} -{{- if and .Values.kraft.enabled (gt $replicaCount 0) }} +{{- if and .Values.kraft.enabled (or (gt $replicaCount 0) .Values.controller.autoscaling.enabled) }} apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }} kind: StatefulSet metadata: @@ -18,7 +18,9 @@ metadata: {{- end }} spec: podManagementPolicy: {{ .Values.controller.podManagementPolicy }} + {{- if not .Values.controller.autoscaling.enabled }} replicas: {{ .Values.controller.replicaCount }} + {{- end }} {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.controller.podLabels .Values.commonLabels ) "context" . ) }} selector: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} diff --git a/bitnami/kafka/values.yaml b/bitnami/kafka/values.yaml index 24acd97d3a..42553d107a 100644 --- a/bitnami/kafka/values.yaml +++ b/bitnami/kafka/values.yaml @@ -845,9 +845,9 @@ controller: ## @param controller.pdb.maxUnavailable Maximum number/percentage of unavailable Kafka replicas ## pdb: - create: false + create: true minAvailable: "" - maxUnavailable: 1 + maxUnavailable: "" ## Enable persistence using Persistent Volume Claims ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/ ## @@ -1255,9 +1255,9 @@ broker: ## @param broker.pdb.maxUnavailable Maximum number/percentage of unavailable Kafka replicas ## pdb: - create: false + create: true minAvailable: "" - maxUnavailable: 1 + maxUnavailable: "" ## @section Experimental: Kafka Broker Autoscaling configuration ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ ## @@ -2068,6 +2068,7 @@ metrics: ## @param metrics.prometheusRule.groups Prometheus Rule Groups for Kafka ## groups: [] + ## @section Kafka provisioning parameters ##