123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- ---
- apiVersion: v1
- kind: ConfigMap
- metadata:
- name: zk-config
- data:
- ensemble: "zk-0;zk-1;zk-2"
- jvm.heap: "2G"
- tick: "2000"
- init: "10"
- sync: "5"
- client.cnxns: "60"
- snap.retain: "3"
- purge.interval: "1"
- ---
- apiVersion: policy/v1beta1
- kind: PodDisruptionBudget
- metadata:
- name: zk-budget
- spec:
- selector:
- matchLabels:
- app: zk
- minAvailable: 2
- ---
- apiVersion: apps/v1beta1
- kind: StatefulSet
- metadata:
- name: zk
- spec:
- serviceName: zk-headless
- replicas: 3
- template:
- metadata:
- labels:
- app: zk
- annotations:
- pod.alpha.kubernetes.io/initialized: "true"
- spec:
- affinity:
- podAntiAffinity:
- requiredDuringSchedulingIgnoredDuringExecution:
- - labelSelector:
- matchExpressions:
- - key: "app"
- operator: In
- values:
- - zk-headless
- topologyKey: "kubernetes.io/hostname"
- volumes:
- - name: datadir
- emptyDir: {}
- containers:
- - name: k8szk
- imagePullPolicy: Always
- image: dotbalo/k8szk:v1
- resources:
- requests:
- memory: "256Mi"
- # cpu: "1"
- ports:
- - containerPort: 2181
- name: client
- - containerPort: 2888
- name: server
- - containerPort: 3888
- name: leader-election
- env:
- - name : ZK_ENSEMBLE
- valueFrom:
- configMapKeyRef:
- name: zk-config
- key: ensemble
- - name : ZK_HEAP_SIZE
- valueFrom:
- configMapKeyRef:
- name: zk-config
- key: jvm.heap
- - name : ZK_TICK_TIME
- valueFrom:
- configMapKeyRef:
- name: zk-config
- key: tick
- - name : ZK_INIT_LIMIT
- valueFrom:
- configMapKeyRef:
- name: zk-config
- key: init
- - name : ZK_SYNC_LIMIT
- valueFrom:
- configMapKeyRef:
- name: zk-config
- key: tick
- - name : ZK_MAX_CLIENT_CNXNS
- valueFrom:
- configMapKeyRef:
- name: zk-config
- key: client.cnxns
- - name: ZK_SNAP_RETAIN_COUNT
- valueFrom:
- configMapKeyRef:
- name: zk-config
- key: snap.retain
- - name: ZK_PURGE_INTERVAL
- valueFrom:
- configMapKeyRef:
- name: zk-config
- key: purge.interval
- - name: ZK_CLIENT_PORT
- value: "2181"
- - name: ZK_SERVER_PORT
- value: "2888"
- - name: ZK_ELECTION_PORT
- value: "3888"
- command:
- - sh
- - -c
- - zkGenConfig.sh && zkServer.sh start-foreground
- readinessProbe:
- exec:
- command:
- - "zkOk.sh"
- initialDelaySeconds: 15
- timeoutSeconds: 5
- livenessProbe:
- exec:
- command:
- - "zkOk.sh"
- initialDelaySeconds: 15
- timeoutSeconds: 5
- volumeMounts:
- - name: datadir
- mountPath: /var/lib/zookeeper
- securityContext:
- runAsUser: 1000
- fsGroup: 1000
- # volumeClaimTemplates:
- # - metadata:
- # name: datadir
- # spec:
- # accessModes: [ "ReadWriteOnce" ]
- # storageClassName: "gluster-heketi-2"
- # resources:
- # requests:
- # storage: 2Gi
- #
|