146 lines
3.9 KiB
YAML
146 lines
3.9 KiB
YAML
---
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: "zookeeper"
|
|
labels:
|
|
app.kubernetes.io/name: "zookeeper"
|
|
app.kubernetes.io/component: "server"
|
|
spec:
|
|
podManagementPolicy: "Parallel"
|
|
replicas: 1
|
|
serviceName: "zookeeper-headless"
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: "server"
|
|
spec:
|
|
affinity:
|
|
podAntiAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 100
|
|
podAffinityTerm:
|
|
labelSelector:
|
|
matchExpressions:
|
|
- key: "app.kubernetes.io/name"
|
|
operator: In
|
|
values:
|
|
- "zookeeper"
|
|
- key: "app.kubernetes.io/component"
|
|
operator: In
|
|
values:
|
|
- "server"
|
|
topologyKey: "kubernetes.io/hostname"
|
|
|
|
terminationGracePeriodSeconds: 1800
|
|
serviceAccountName: "zookeeper"
|
|
containers:
|
|
- name: "zookeeper"
|
|
securityContext:
|
|
runAsUser: 1000
|
|
runAsGroup: 1000
|
|
image: "zookeeper"
|
|
command:
|
|
- "/bin/bash"
|
|
- "-xec"
|
|
- "/config-scripts/run"
|
|
ports:
|
|
- containerPort: 2281
|
|
name: "client"
|
|
- containerPort: 2888
|
|
name: "server"
|
|
- containerPort: 3888
|
|
name: "election"
|
|
livenessProbe:
|
|
exec:
|
|
command:
|
|
- sh
|
|
- /config-scripts/ok
|
|
initialDelaySeconds: 20
|
|
periodSeconds: 30
|
|
timeoutSeconds: 5
|
|
failureThreshold: 2
|
|
successThreshold: 1
|
|
readinessProbe:
|
|
exec:
|
|
command:
|
|
- sh
|
|
- /config-scripts/ready
|
|
initialDelaySeconds: 20
|
|
periodSeconds: 30
|
|
timeoutSeconds: 5
|
|
failureThreshold: 2
|
|
successThreshold: 1
|
|
env:
|
|
- name: ZK_REPLICAS
|
|
value: "3"
|
|
- name: JMXAUTH
|
|
value: "false"
|
|
- name: JMXDISABLE
|
|
value: "false"
|
|
- name: JMXPORT
|
|
value: "1099"
|
|
- name: JMXSSL
|
|
value: "false"
|
|
- name: ZK_SYNC_LIMIT
|
|
value: "10"
|
|
- name: ZK_TICK_TIME
|
|
value: "2000"
|
|
- name: ZK_PURGE_INTERVAL
|
|
value: "6"
|
|
- name: ZK_SNAP_RETAIN_COUNT
|
|
value: "3"
|
|
- name: ZOO_INIT_LIMIT
|
|
value: "5"
|
|
- name: ZOO_MAX_CLIENT_CNXNS
|
|
value: "60"
|
|
- name: ZOO_PORT
|
|
value: "2181"
|
|
- name: ZOO_STANDALONE_ENABLED
|
|
value: "false"
|
|
- name: ZOO_TICK_TIME
|
|
value: "2000"
|
|
|
|
resources:
|
|
limits:
|
|
cpu: "100m"
|
|
memory: "2Gi"
|
|
requests:
|
|
cpu: "20m"
|
|
memory: "1Gi"
|
|
|
|
volumeMounts:
|
|
- name: data
|
|
mountPath: /data
|
|
- name: zookeeper-server-tls
|
|
mountPath: /tls/server
|
|
readOnly: true
|
|
- name: zookeeper-client-tls
|
|
mountPath: /tls/client
|
|
readOnly: true
|
|
- name: config
|
|
mountPath: /config-scripts
|
|
|
|
volumes:
|
|
- name: config
|
|
configMap:
|
|
name: zookeeper-config
|
|
defaultMode: 0555
|
|
- name: zookeeper-server-tls
|
|
secret:
|
|
secretName: zookeeper-server-tls
|
|
- name: zookeeper-client-tls
|
|
secret:
|
|
secretName: zookeeper-server-tls
|
|
|
|
updateStrategy:
|
|
type: "RollingUpdate"
|
|
volumeClaimTemplates:
|
|
- metadata:
|
|
name: "data"
|
|
spec:
|
|
accessModes: ["ReadWriteOnce"]
|
|
resources:
|
|
requests:
|
|
storage: "1Gi"
|