--- # Source: zookeeper/templates/networkpolicy.yaml kind: NetworkPolicy apiVersion: networking.k8s.io/v1 metadata: name: zookeeper namespace: default labels: app.kubernetes.io/instance: release app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: zookeeper app.kubernetes.io/version: 3.9.2 helm.sh/chart: zookeeper-13.5.0 spec: podSelector: matchLabels: app.kubernetes.io/instance: release app.kubernetes.io/name: zookeeper policyTypes: - Ingress - Egress egress: - {} ingress: # Allow inbound connections to ZooKeeper - ports: - port: 2181 # Allow internal communications between nodes - ports: - port: 2888 - port: 3888 from: - podSelector: matchLabels: app.kubernetes.io/instance: release app.kubernetes.io/name: zookeeper --- # Source: zookeeper/templates/pdb.yaml apiVersion: policy/v1 kind: PodDisruptionBudget metadata: name: zookeeper namespace: default labels: app.kubernetes.io/instance: release app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: zookeeper app.kubernetes.io/version: 3.9.2 helm.sh/chart: zookeeper-13.5.0 app.kubernetes.io/component: zookeeper spec: maxUnavailable: 1 selector: matchLabels: app.kubernetes.io/instance: release app.kubernetes.io/name: zookeeper app.kubernetes.io/component: zookeeper --- # Source: zookeeper/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: zookeeper namespace: default labels: app.kubernetes.io/instance: release app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: zookeeper app.kubernetes.io/version: 3.9.2 helm.sh/chart: zookeeper-13.5.0 app.kubernetes.io/component: zookeeper role: zookeeper automountServiceAccountToken: false --- # Source: zookeeper/templates/scripts-configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: zookeeper-scripts namespace: default labels: app.kubernetes.io/instance: release app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: zookeeper app.kubernetes.io/version: 3.9.2 helm.sh/chart: zookeeper-13.5.0 app.kubernetes.io/component: zookeeper data: init-certs.sh: |- #!/bin/bash setup.sh: |- #!/bin/bash # Execute entrypoint as usual after obtaining ZOO_SERVER_ID # check ZOO_SERVER_ID in persistent volume via myid # if not present, set based on POD hostname if [[ -f "/bitnami/zookeeper/data/myid" ]]; then export ZOO_SERVER_ID="$(cat /bitnami/zookeeper/data/myid)" else HOSTNAME="$(hostname -s)" if [[ $HOSTNAME =~ (.*)-([0-9]+)$ ]]; then ORD=${BASH_REMATCH[2]} export ZOO_SERVER_ID="$((ORD + 1 ))" else echo "Failed to get index from hostname $HOSTNAME" exit 1 fi fi exec /entrypoint.sh /run.sh --- # Source: zookeeper/templates/svc-headless.yaml apiVersion: v1 kind: Service metadata: name: zookeeper-headless namespace: default labels: app.kubernetes.io/instance: release app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: zookeeper app.kubernetes.io/version: 3.9.2 helm.sh/chart: zookeeper-13.5.0 app.kubernetes.io/component: zookeeper spec: type: ClusterIP clusterIP: None publishNotReadyAddresses: true ports: - name: tcp-client port: 2181 targetPort: client - name: tcp-follower port: 2888 targetPort: follower - name: tcp-election port: 3888 targetPort: election selector: app.kubernetes.io/instance: release app.kubernetes.io/name: zookeeper app.kubernetes.io/component: zookeeper --- # Source: zookeeper/templates/svc.yaml apiVersion: v1 kind: Service metadata: name: zookeeper namespace: default labels: app.kubernetes.io/instance: release app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: zookeeper app.kubernetes.io/version: 3.9.2 helm.sh/chart: zookeeper-13.5.0 app.kubernetes.io/component: zookeeper spec: type: NodePort externalTrafficPolicy: "Cluster" sessionAffinity: None ports: - name: tcp-client port: 2181 targetPort: client - name: tcp-follower port: 2888 targetPort: follower - name: tcp-election port: 3888 targetPort: election selector: app.kubernetes.io/instance: release app.kubernetes.io/name: zookeeper app.kubernetes.io/component: zookeeper --- # Source: zookeeper/templates/statefulset.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: zookeeper namespace: default labels: app.kubernetes.io/instance: release app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: zookeeper app.kubernetes.io/version: 3.9.2 helm.sh/chart: zookeeper-13.5.0 app.kubernetes.io/component: zookeeper role: zookeeper spec: replicas: 3 revisionHistoryLimit: 10 podManagementPolicy: Parallel selector: matchLabels: app.kubernetes.io/instance: release app.kubernetes.io/name: zookeeper app.kubernetes.io/component: zookeeper serviceName: zookeeper-headless updateStrategy: rollingUpdate: {} type: RollingUpdate template: metadata: annotations: labels: app.kubernetes.io/instance: release app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: zookeeper app.kubernetes.io/version: 3.9.2 helm.sh/chart: zookeeper-13.5.0 app.kubernetes.io/component: zookeeper spec: enableServiceLinks: true serviceAccountName: zookeeper automountServiceAccountToken: false affinity: podAffinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchLabels: app.kubernetes.io/instance: release app.kubernetes.io/name: zookeeper app.kubernetes.io/component: zookeeper topologyKey: kubernetes.io/hostname weight: 1 nodeAffinity: securityContext: fsGroup: 1001 fsGroupChangePolicy: Always supplementalGroups: [] sysctls: [] initContainers: containers: - name: zookeeper image: docker.io/bitnami/zookeeper:3.9.2-debian-12-r15 imagePullPolicy: "IfNotPresent" securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL privileged: false readOnlyRootFilesystem: true runAsGroup: 1001 runAsNonRoot: true runAsUser: 1001 seLinuxOptions: {} seccompProfile: type: RuntimeDefault command: - /scripts/setup.sh resources: limits: cpu: 375m ephemeral-storage: 2Gi memory: 384Mi requests: cpu: 250m ephemeral-storage: 50Mi memory: 256Mi env: - name: BITNAMI_DEBUG value: "false" - name: ZOO_DATA_LOG_DIR value: "" - name: ZOO_PORT_NUMBER value: "2181" - name: ZOO_TICK_TIME value: "2000" - name: ZOO_INIT_LIMIT value: "10" - name: ZOO_SYNC_LIMIT value: "5" - name: ZOO_PRE_ALLOC_SIZE value: "65536" - name: ZOO_SNAPCOUNT value: "100000" - name: ZOO_MAX_CLIENT_CNXNS value: "60" - name: ZOO_4LW_COMMANDS_WHITELIST value: "srvr, mntr, ruok" - name: ZOO_LISTEN_ALLIPS_ENABLED value: "no" - name: ZOO_AUTOPURGE_INTERVAL value: "1" - name: ZOO_AUTOPURGE_RETAIN_COUNT value: "10" - name: ZOO_MAX_SESSION_TIMEOUT value: "40000" - name: ZOO_SERVERS value: zookeeper-0.zookeeper-headless.default.svc.cluster.local:2888:3888::1 zookeeper-1.zookeeper-headless.default.svc.cluster.local:2888:3888::2 zookeeper-2.zookeeper-headless.default.svc.cluster.local:2888:3888::3 - name: ZOO_ENABLE_AUTH value: "no" - name: ZOO_ENABLE_QUORUM_AUTH value: "no" - name: ZOO_HEAP_SIZE value: "1024" - name: ZOO_LOG_LEVEL value: "ERROR" - name: ALLOW_ANONYMOUS_LOGIN value: "yes" - name: POD_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name - name: ZOO_ADMIN_SERVER_PORT_NUMBER value: "8080" ports: - name: client containerPort: 2181 - name: follower containerPort: 2888 - name: election containerPort: 3888 - name: http-admin containerPort: 8080 livenessProbe: failureThreshold: 6 initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 exec: command: - /bin/bash - -ec - ZOO_HC_TIMEOUT=3 /opt/bitnami/scripts/zookeeper/healthcheck.sh readinessProbe: failureThreshold: 6 initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 exec: command: - /bin/bash - -ec - ZOO_HC_TIMEOUT=2 /opt/bitnami/scripts/zookeeper/healthcheck.sh volumeMounts: - name: empty-dir mountPath: /tmp subPath: tmp-dir - name: empty-dir mountPath: /opt/bitnami/zookeeper/conf subPath: app-conf-dir - name: empty-dir mountPath: /opt/bitnami/zookeeper/logs subPath: app-logs-dir - name: scripts mountPath: /scripts/setup.sh subPath: setup.sh - name: data mountPath: /bitnami/zookeeper volumes: - name: empty-dir emptyDir: {} - name: scripts configMap: name: zookeeper-scripts defaultMode: 493 - name: data emptyDir: {}