============== =========== ======= ======== ======== ============= ========
Release Kubernetes Helm kubectl Docker Cert-Manager Strimzi
============== =========== ======= ======== ======== ============= ========
- London 1.23.8 3.8.2 1.23.x 20.10.x 1.12.2 0.35.0
Montreal 1.27.5 3.12.3 1.27.x 20.10.x 1.13.2 0.36.1
New Delhi 1.28.6 3.13.1 1.28.x 20.10.x 1.14.4 0.41.0
+ Oslo 1.28.6 3.13.1 1.28.x 20.10.x 1.14.4 0.43.0
============== =========== ======= ======== ======== ============= ========
.. table:: OOM Software Requirements (production)
============== ====== ============ ==============
Release Istio Gateway-API Keycloak
============== ====== ============ ==============
- London 1.17.2 v0.6.2 19.0.3-legacy
Montreal 1.19.3 v1.0.0 19.0.3-legacy
New Delhi 1.21.0 v1.0.0 22.0.4
+ Oslo 1.23.0 v1.0.0 22.0.4
============== ====== ============ ==============
.. table:: OOM Software Requirements (optional)
============== ================= ========== =================
Release Prometheus Stack K8ssandra MariaDB-Operator
============== ================= ========== =================
- London 45.x 1.6.1
Montreal 45.x 1.10.2 0.23.1
New Delhi 45.x 1.16.0 0.28.1
+ Oslo 45.x 1.19.0 0.30.0
============== ================= ========== =================
kafka:
version: {{ .Values.config.kafkaVersion }}
replicas: {{ .Values.replicaCount }}
+ resources:
+ limits:
+ cpu: {{ .Values.kafka.resources.limits.cpu }}
+ memory: {{ .Values.kafka.resources.limits.memory }}
+ requests:
+ cpu: {{ .Values.kafka.resources.requests.cpu }}
+ memory: {{ .Values.kafka.resources.requests.memory }}
listeners:
- name: plain
port: {{ .Values.config.kafkaInternalPort }}
pod:
{{- include "common.imagePullSecrets" . | nindent 8 }}
securityContext:
- runAsUser: 0
- fsGroup: 0
+ {{- toYaml .Values.kafka.template.pod.securityContext | nindent 10 }}
{{- if .Values.affinity.podAntiAffinity.enabled }}
affinity:
podAntiAffinity:
- {{ include "common.fullname" . }}-kafka
topologyKey: "kubernetes.io/hostname"
{{- end }}
+ kafkaContainer:
+ securityContext:
+ {{- toYaml .Values.kafka.template.kafkaContainer.securityContext | nindent 10 }}
config:
default.replication.factor: {{ .Values.replicaCount }}
min.insync.replicas: {{ (eq 1.0 (.Values.replicaCount)) | ternary 1 (sub .Values.replicaCount 1) }}
pod:
{{- include "common.imagePullSecrets" . | nindent 8 }}
securityContext:
- runAsUser: 0
- fsGroup: 0
+ {{- toYaml .Values.zookeeper.template.pod.securityContext | nindent 10 }}
{{- if .Values.affinity.podAntiAffinity.enabled }}
affinity:
podAntiAffinity:
- {{ include "common.fullname" . }}-zookeeper
topologyKey: "kubernetes.io/hostname"
{{- end }}
+ zookeeperContainer:
+ securityContext:
+ {{- toYaml .Values.zookeeper.template.zookeeperContainer.securityContext | nindent 10 }}
replicas: {{ .Values.replicaCount }}
config:
ssl.hostnameVerification: false
configMapKeyRef:
name: {{ include "common.fullname" . }}
key: zookeeper-metrics-config.yml
+ resources:
+ limits:
+ cpu: {{ .Values.zookeeper.resources.limits.cpu }}
+ memory: {{ .Values.zookeeper.resources.limits.memory }}
+ requests:
+ cpu: {{ .Values.zookeeper.resources.requests.cpu }}
+ memory: {{ .Values.zookeeper.resources.requests.memory }}
{{- end }}
entityOperator:
template:
pod:
{{- include "common.imagePullSecrets" . | nindent 8 }}
- topicOperator: {}
- userOperator: {}
+ securityContext:
+ {{- toYaml .Values.entityOperator.template.pod.securityContext | nindent 10 }}
+ topicOperatorContainer:
+ securityContext:
+ {{- toYaml .Values.entityOperator.template.topicOperatorContainer.securityContext | nindent 10 }}
+ userOperatorContainer:
+ securityContext:
+ {{- toYaml .Values.entityOperator.template.userOperatorContainer.securityContext | nindent 10 }}
+ topicOperator:
+ resources:
+ limits:
+ cpu: {{ .Values.entityOperator.template.topicOperator.resources.limits.cpu }}
+ memory: {{ .Values.entityOperator.template.topicOperator.resources.limits.memory }}
+ requests:
+ cpu: {{ .Values.entityOperator.template.topicOperator.resources.requests.cpu }}
+ memory: {{ .Values.entityOperator.template.topicOperator.resources.requests.memory }}
+ userOperator:
+ resources:
+ limits:
+ cpu: {{ .Values.entityOperator.template.userOperator.resources.limits.cpu }}
+ memory: {{ .Values.entityOperator.template.userOperator.resources.limits.memory }}
+ requests:
+ cpu: {{ .Values.entityOperator.template.userOperator.resources.requests.cpu }}
+ memory: {{ .Values.entityOperator.template.userOperator.resources.requests.memory }}
{{- if .Values.cruiseControl.enabled }}
cruiseControl:
template:
pod:
{{- include "common.imagePullSecrets" . | nindent 8 }}
+ securityContext:
+ {{- toYaml .Values.cruiseControl.template.pod.securityContext | nindent 10 }}
+ cruiseControlContainer:
+ securityContext:
+ {{- toYaml .Values.cruiseControl.template.cruiseControlContainer.securityContext | nindent 10 }}
metricsConfig:
type: {{ .Values.cruiseControl.metricsConfig.type }}
valueFrom:
configMapKeyRef:
name: {{ include "common.fullname" . }}
key: cruisecontrol-metrics-config.yml
+ resources:
+ limits:
+ cpu: {{ .Values.cruiseControl.template.resources.limits.cpu }}
+ memory: {{ .Values.cruiseControl.template.resources.limits.memory }}
+ requests:
+ cpu: {{ .Values.cruiseControl.template.resources.requests.cpu }}
+ memory: {{ .Values.cruiseControl.template.resources.requests.memory }}
{{- end }}
{{- if .Values.metrics.kafkaExporter.enabled }}
kafkaExporter:
template:
pod:
{{- include "common.imagePullSecrets" . | nindent 8 }}
+ securityContext:
+ {{- toYaml .Values.cruiseControl.template.pod.securityContext | nindent 10 }}
+ container:
+ securityContext:
+ {{- toYaml .Values.kafkaExporter.template.container.securityContext | nindent 10 }}
topicRegex: {{ .Values.metrics.kafkaExporter.topicRegex }}
groupRegex: {{ .Values.metrics.kafkaExporter.groupRegex }}
resources:
podAntiAffinity:
enabled: true
config:
- kafkaVersion: 3.7.0
+ kafkaVersion: 3.8.0
authType: simple
saslMechanism: &saslMech scram-sha-512
kafkaInternalPort: &plainPort 9092
# ref. https://strimzi.io/blog/2020/06/15/cruise-control/
kafkaRebalance:
enabled: false
+ template:
+ pod:
+ securityContext:
+ seccompProfile:
+ type: RuntimeDefault
+ cruiseControlContainer:
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
+ runAsUser: 1001
+ capabilities:
+ drop:
+ - ALL
+ - CAP_NET_RAW
+ resources:
+ limits:
+ cpu: '2'
+ memory: 2Gi
+ requests:
+ cpu: 100m
+ memory: 1Gi
######################
# Component overrides
saslMechanism: *saslMech
kafkaInternalPort: *plainPort
strimziKafkaAdminUser: *adminUser
+
+kafka:
+ template:
+ pod:
+ securityContext:
+ runAsUser: 1001
+ runAsGroup: 1001
+ fsGroup: 1001
+ seccompProfile:
+ type: RuntimeDefault
+ kafkaContainer:
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ #runAsGroup: 1001
+ runAsNonRoot: true
+ runAsUser: 1001
+ capabilities:
+ drop:
+ - ALL
+ - CAP_NET_RAW
+ resources:
+ limits:
+ cpu: '2'
+ memory: 2Gi
+ requests:
+ cpu: 100m
+ memory: 1Gi
+
+zookeeper:
+ template:
+ pod:
+ securityContext:
+ runAsUser: 1001
+ runAsGroup: 1001
+ fsGroup: 1001
+ seccompProfile:
+ type: RuntimeDefault
+ zookeeperContainer:
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ #runAsGroup: 1001
+ runAsNonRoot: true
+ runAsUser: 1001
+ capabilities:
+ drop:
+ - ALL
+ - CAP_NET_RAW
+ resources:
+ limits:
+ cpu: '2'
+ memory: 2Gi
+ requests:
+ cpu: 100m
+ memory: 1Gi
+
+entityOperator:
+ template:
+ pod:
+ securityContext:
+ seccompProfile:
+ type: RuntimeDefault
+ topicOperatorContainer:
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
+ runAsUser: 1001
+ capabilities:
+ drop:
+ - ALL
+ - CAP_NET_RAW
+ userOperatorContainer:
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
+ runAsUser: 1001
+ capabilities:
+ drop:
+ - ALL
+ - CAP_NET_RAW
+ topicOperator:
+ resources:
+ limits:
+ cpu: '2'
+ memory: 2Gi
+ requests:
+ cpu: 100m
+ memory: 1Gi
+ userOperator:
+ resources:
+ limits:
+ cpu: '2'
+ memory: 2Gi
+ requests:
+ cpu: 100m
+ memory: 1Gi
+
+kafkaExporter:
+ template:
+ pod:
+ securityContext:
+ seccompProfile:
+ type: RuntimeDefault
+ container:
+ securityContext:
+ allowPrivilegeEscalation: false
+ readOnlyRootFilesystem: true
+ runAsGroup: 1001
+ runAsNonRoot: true
+ runAsUser: 1001
+ capabilities:
+ drop:
+ - ALL
+ - CAP_NET_RAW