kubernetes/zookeeper.yaml (237 lines of code) (raw):

--- # Source: zookeeper/templates/scripts-configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: zookeeper-scripts namespace: default labels: app.kubernetes.io/name: zookeeper helm.sh/chart: zookeeper-11.1.6 app.kubernetes.io/instance: zookeeper app.kubernetes.io/managed-by: Helm 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 $HOST" 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/name: zookeeper helm.sh/chart: zookeeper-11.1.6 app.kubernetes.io/instance: zookeeper app.kubernetes.io/managed-by: Helm 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/name: zookeeper app.kubernetes.io/instance: zookeeper app.kubernetes.io/component: zookeeper --- # Source: zookeeper/templates/svc.yaml apiVersion: v1 kind: Service metadata: name: zookeeper namespace: default labels: app.kubernetes.io/name: zookeeper helm.sh/chart: zookeeper-11.1.6 app.kubernetes.io/instance: zookeeper app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: zookeeper spec: type: ClusterIP sessionAffinity: None ports: - name: tcp-client port: 2181 targetPort: client nodePort: null - name: tcp-follower port: 2888 targetPort: follower - name: tcp-election port: 3888 targetPort: election selector: app.kubernetes.io/name: zookeeper app.kubernetes.io/instance: 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/name: zookeeper helm.sh/chart: zookeeper-11.1.6 app.kubernetes.io/instance: zookeeper app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: zookeeper role: zookeeper spec: replicas: 1 podManagementPolicy: Parallel selector: matchLabels: app.kubernetes.io/name: zookeeper app.kubernetes.io/instance: zookeeper app.kubernetes.io/component: zookeeper serviceName: zookeeper-headless updateStrategy: rollingUpdate: {} type: RollingUpdate template: metadata: annotations: labels: app.kubernetes.io/name: zookeeper helm.sh/chart: zookeeper-11.1.6 app.kubernetes.io/instance: zookeeper app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: zookeeper spec: serviceAccountName: default affinity: podAffinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchLabels: app.kubernetes.io/name: zookeeper app.kubernetes.io/instance: zookeeper app.kubernetes.io/component: zookeeper topologyKey: kubernetes.io/hostname weight: 1 nodeAffinity: securityContext: fsGroup: 1001 initContainers: containers: - name: zookeeper image: docker.io/bitnami/zookeeper:3.8.1-debian-11-r18 imagePullPolicy: "IfNotPresent" securityContext: allowPrivilegeEscalation: false runAsNonRoot: true runAsUser: 1001 command: - /scripts/setup.sh resources: limits: {} requests: cpu: 250m 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: "0" - name: ZOO_AUTOPURGE_RETAIN_COUNT value: "3" - name: ZOO_MAX_SESSION_TIMEOUT value: "40000" - name: ZOO_SERVERS value: zookeeper-0.zookeeper-headless.default.svc.cluster.local:2888:3888::1 - 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 ports: - name: client containerPort: 2181 - name: follower containerPort: 2888 - name: election containerPort: 3888 livenessProbe: failureThreshold: 6 initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 exec: command: ['/bin/bash', '-c', 'echo "ruok" | timeout 2 nc -w 2 localhost 2181 | grep imok'] readinessProbe: failureThreshold: 6 initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 exec: command: ['/bin/bash', '-c', 'echo "ruok" | timeout 2 nc -w 2 localhost 2181 | grep imok'] volumeMounts: - name: scripts mountPath: /scripts/setup.sh subPath: setup.sh - name: data mountPath: /bitnami/zookeeper volumes: - name: scripts configMap: name: zookeeper-scripts defaultMode: 0755 - name: data emptyDir: {}