blob: da736dd527bb91f3eaba4990ff34d0792d7a1390 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: v1
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
kind: ConfigMap
metadata:
labels:
app.kubernetes.io/component: zookeeper
app.kubernetes.io/instance: zookeeper
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: zookeeper
helm.sh/chart: zookeeper-11.1.6
name: zookeeper-scripts
namespace: dubbo-system
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app.kubernetes.io/component: zookeeper
app.kubernetes.io/instance: zookeeper
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: zookeeper
helm.sh/chart: zookeeper-11.1.6
role: zookeeper
name: zookeeper
namespace: dubbo-system
spec:
podManagementPolicy: Parallel
replicas: 1
selector:
matchLabels:
app.kubernetes.io/component: zookeeper
app.kubernetes.io/instance: zookeeper
app.kubernetes.io/name: zookeeper
serviceName: zookeeper-headless
template:
metadata:
annotations: null
labels:
app.kubernetes.io/component: zookeeper
app.kubernetes.io/instance: zookeeper
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: zookeeper
helm.sh/chart: zookeeper-11.1.6
spec:
affinity:
nodeAffinity: null
podAffinity: null
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/component: zookeeper
app.kubernetes.io/instance: zookeeper
app.kubernetes.io/name: zookeeper
topologyKey: kubernetes.io/hostname
weight: 1
containers:
- command:
- /scripts/setup.sh
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.dubbo-system.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
image: docker.io/bitnami/zookeeper:3.8.1-debian-11-r18
imagePullPolicy: IfNotPresent
livenessProbe:
exec:
command:
- /bin/bash
- -c
- echo "ruok" | timeout 2 nc -w 2 localhost 2181 | grep imok
failureThreshold: 6
initialDelaySeconds: 30
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
name: zookeeper
ports:
- containerPort: 2181
name: client
- containerPort: 2888
name: follower
- containerPort: 3888
name: election
readinessProbe:
exec:
command:
- /bin/bash
- -c
- echo "ruok" | timeout 2 nc -w 2 localhost 2181 | grep imok
failureThreshold: 6
initialDelaySeconds: 5
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
resources:
limits: {}
requests:
cpu: 250m
memory: 256Mi
securityContext:
allowPrivilegeEscalation: false
runAsNonRoot: true
runAsUser: 1001
volumeMounts:
- mountPath: /scripts/setup.sh
name: scripts
subPath: setup.sh
- mountPath: /bitnami/zookeeper
name: data
initContainers: null
securityContext:
fsGroup: 1001
serviceAccountName: default
volumes:
- configMap:
defaultMode: 493
name: zookeeper-scripts
name: scripts
- emptyDir: {}
name: data
updateStrategy:
rollingUpdate: {}
type: RollingUpdate
---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/component: zookeeper
app.kubernetes.io/instance: zookeeper
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: zookeeper
helm.sh/chart: zookeeper-11.1.6
name: zookeeper-headless
namespace: dubbo-system
spec:
clusterIP: None
ports:
- name: tcp-client
port: 2181
targetPort: client
- name: tcp-follower
port: 2888
targetPort: follower
- name: tcp-election
port: 3888
targetPort: election
publishNotReadyAddresses: true
selector:
app.kubernetes.io/component: zookeeper
app.kubernetes.io/instance: zookeeper
app.kubernetes.io/name: zookeeper
type: ClusterIP
---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/component: zookeeper
app.kubernetes.io/instance: zookeeper
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: zookeeper
helm.sh/chart: zookeeper-11.1.6
name: zookeeper
namespace: dubbo-system
spec:
ports:
- name: tcp-client
nodePort: null
port: 2181
targetPort: client
- name: tcp-follower
port: 2888
targetPort: follower
- name: tcp-election
port: 3888
targetPort: election
selector:
app.kubernetes.io/component: zookeeper
app.kubernetes.io/instance: zookeeper
app.kubernetes.io/name: zookeeper
sessionAffinity: None
type: ClusterIP
---