[incubator/kafka] Adding the ability to define a pod disruption budget for brokers (#15345)

* feature: adding the ability to define a pod disruption budget to the kafka brokers

Signed-off-by: Kealan Murphy <kealan.murphy@aspect.com>

* address PR comments

Signed-off-by: Kealan Murphy <kealan.murphy@aspect.com>

* bump chart version

Signed-off-by: Murphy, Kealan <kealan.murphy@aspect.com>
This commit is contained in:
Kealan Murphy
2019-09-13 04:56:29 -07:00
committed by Kubernetes Prow Robot
parent fe27fa7750
commit ea03e8dc3d
4 changed files with 22 additions and 1 deletions
+1 -1
View File
@@ -2,7 +2,7 @@ apiVersion: v1
description: Apache Kafka is publish-subscribe messaging rethought as a distributed
commit log.
name: kafka
version: 0.17.0
version: 0.17.1
appVersion: 5.0.1
keywords:
- kafka
+1
View File
@@ -84,6 +84,7 @@ following configurable parameters:
| `external.loadBalancerIP` | Add Static IP to the type Load Balancer. Depends on the provider if enabled | `[]`
| `podAnnotations` | Annotation to be added to Kafka pods | `{}` |
| `podLabels` | Labels to be added to Kafka pods | `{}` |
| `podDisruptionBudget` | Define a Disruption Budget for the Kafka Pods | `{}` |
| `envOverrides` | Add additional Environment Variables in the dictionary format | `{ zookeeper.sasl.enabled: "False" }` |
| `configurationOverrides` | `Kafka ` [configuration setting][brokerconfigs] overrides in the dictionary format | `{ "confluent.support.metrics.enable": false }` |
| `secrets` | Pass any secrets to the kafka pods. Each secret will be passed as an environment variable by default. The secret can also be mounted to a specific path if required. Environment variable names are generated as: `<secretName>_<secretKey>` (All upper case) | `{}` |
@@ -0,0 +1,18 @@
{{- if .Values.podDisruptionBudget }}
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: {{ include "kafka.fullname" . }}
labels:
app: {{ template "kafka.name" . }}
chart: {{ template "kafka.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
selector:
matchLabels:
app: {{ template "kafka.name" . }}
release: {{ .Release.Name }}
{{ toYaml .Values.podDisruptionBudget | indent 2 }}
{{- end }}
+2
View File
@@ -163,6 +163,8 @@ podLabels: {}
# service: broker
# team: developers
podDisruptionBudget: {}
# maxUnavailable: 1 # Limits how many Kafka pods may be unavailable due to voluntary disruptions.
## Configuration Overrides. Specify any Kafka settings you would like set on the StatefulSet
## here in map format, as defined in the official docs.