bitnami/kafka add minBrokerId variable (#4683)

This commit is contained in:
antonmatsiuk
2020-12-14 17:29:29 +01:00
committed by GitHub
parent be187bec4a
commit f4eb717241
5 changed files with 50 additions and 33 deletions
+1 -1
View File
@@ -29,4 +29,4 @@ name: kafka
sources:
- https://github.com/bitnami/bitnami-docker-kafka
- https://kafka.apache.org/
version: 12.3.2
version: 12.4.0
+31 -30
View File
@@ -130,36 +130,37 @@ The following tables lists the configurable parameters of the Kafka chart and th
### Statefulset parameters
| Parameter | Description | Default |
|---------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| `replicaCount` | Number of Kafka nodes | `1` |
| `updateStrategy` | Update strategy for the stateful set | `RollingUpdate` |
| `rollingUpdatePartition` | Partition update strategy | `nil` |
| `podLabels` | Kafka pod labels | `{}` (evaluated as a template) |
| `podAnnotations` | Kafka Pod annotations | `{}` (evaluated as a template) |
| `priorityClassName` | Name of the existing priority class to be used by kafka pods | `""` |
| `podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `nodeAffinityPreset.key` | Node label key to match Ignored if `affinity` is set. | `""` |
| `nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set. | `[]` |
| `affinity` | Affinity for pod assignment | `{}` (evaluated as a template) |
| `nodeSelector` | Node labels for pod assignment | `{}` (evaluated as a template) |
| `tolerations` | Tolerations for pod assignment | `[]` (evaluated as a template) |
| `podSecurityContext` | Kafka pods' Security Context | `{}` |
| `containerSecurityContext` | Kafka containers' Security Context | `{}` |
| `resources.limits` | The resources limits for Kafka containers | `{}` |
| `resources.requests` | The requested resources for Kafka containers | `{}` |
| `livenessProbe` | Liveness probe configuration for Kafka | `Check values.yaml file` |
| `readinessProbe` | Readiness probe configuration for Kafka | `Check values.yaml file` |
| `customLivenessProbe` | Custom Liveness probe configuration for Kafka | `{}` |
| `customReadinessProbe` | Custom Readiness probe configuration for Kafka | `{}` |
| `pdb.create` | Enable/disable a Pod Disruption Budget creation | `false` |
| `pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `nil` |
| `pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable | `1` |
| `command` | Override kafka container command | `['/scripts/setup.sh']` (evaluated as a template) |
| `args` | Override kafka container arguments | `[]` (evaluated as a template) |
| `sidecars` | Attach additional sidecar containers to the Kafka pod | `{}` |
| Parameter | Description | Default |
|:--------------------------------------|:------------------------------------------------------------------------------------------|:---------------------------------------------------|
| `replicaCount` | Number of Kafka nodes | `1` |
| `minBrokerId` | Minimal broker.id value, nodes increment their `broker.id` respectively | `0` |
| `updateStrategy` | Update strategy for the stateful set | `RollingUpdate` |
| `rollingUpdatePartition` | Partition update strategy | `nil` |
| `podLabels` | Kafka pod labels | `{}` (evaluated as a template) |
| `podAnnotations` | Kafka Pod annotations | `{}` (evaluated as a template) |
| `priorityClassName` | Name of the existing priority class to be used by kafka pods | `""` |
| `podAffinityPreset` | Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `nodeAffinityPreset.type` | Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `nodeAffinityPreset.key` | Node label key to match Ignored if `affinity` is set. | `""` |
| `nodeAffinityPreset.values` | Node label values to match. Ignored if `affinity` is set. | `[]` |
| `affinity` | Affinity for pod assignment | `{}` (evaluated as a template) |
| `nodeSelector` | Node labels for pod assignment | `{}` (evaluated as a template) |
| `tolerations` | Tolerations for pod assignment | `[]` (evaluated as a template) |
| `podSecurityContext` | Kafka pods' Security Context | `{}` |
| `containerSecurityContext` | Kafka containers' Security Context | `{}` |
| `resources.limits` | The resources limits for Kafka containers | `{}` |
| `resources.requests` | The requested resources for Kafka containers | `{}` |
| `livenessProbe` | Liveness probe configuration for Kafka | `Check values.yaml file` |
| `readinessProbe` | Readiness probe configuration for Kafka | `Check values.yaml file` |
| `customLivenessProbe` | Custom Liveness probe configuration for Kafka | `{}` |
| `customReadinessProbe` | Custom Readiness probe configuration for Kafka | `{}` |
| `pdb.create` | Enable/disable a Pod Disruption Budget creation | `false` |
| `pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `nil` |
| `pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable | `1` |
| `command` | Override kafka container command | `['/scripts/setup.sh']` (evaluated as a template) |
| `args` | Override kafka container arguments | `[]` (evaluated as a template) |
| `sidecars` | Attach additional sidecar containers to the Kafka pod | `{}` |
### Exposure parameters
@@ -71,8 +71,12 @@ data:
setup.sh: |-
#!/bin/bash
ID="${MY_POD_NAME#"{{ $fullname }}-"}"
export KAFKA_CFG_BROKER_ID="$ID"
if [[ -f "/bitnami/kafka/data/meta.properties" ]]; then
export KAFKA_CFG_BROKER_ID="$(grep "broker.id" /bitnami/kafka/data/meta.properties | awk -F '=' '{print $2}')"
else
ID="${MY_POD_NAME#"{{ $fullname }}-"}"
export KAFKA_CFG_BROKER_ID="$((ID + {{ .Values.minBrokerId }}))"
fi
{{- if .Values.externalAccess.enabled }}
# Configure external ip and port
+6
View File
@@ -348,6 +348,12 @@ interBrokerListenerName: INTERNAL
##
replicaCount: 3
## Minimal broker.id value
## Brokers increment their ID starting at this minimal value.
## E.g., with `minBrokerId=100` and 3 nodes, IDs will be 100, 101, 102 for brokers 0, 1, and 2, respectively.
##
minBrokerId: 0
## StrategyType, can be set to RollingUpdate or OnDelete by default.
## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets
##
+6
View File
@@ -348,6 +348,12 @@ interBrokerListenerName: INTERNAL
##
replicaCount: 1
## Minimal broker.id value
## Brokers increment their ID starting at this minimal value.
## E.g., with `minBrokerId=100` and 3 nodes, IDs will be 100, 101, 102 for brokers 0, 1, and 2, respectively.
##
minBrokerId: 0
## StrategyType, can be set to RollingUpdate or OnDelete by default.
## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets
##