|
@@ -1,14 +1,55 @@
|
|
|
|
+apiVersion: v1
|
|
|
|
+kind: Service
|
|
|
|
+metadata:
|
|
|
|
+ name: zk-hs
|
|
|
|
+ namespace: qa
|
|
|
|
+ labels:
|
|
|
|
+ app: zk
|
|
|
|
+spec:
|
|
|
|
+ ports:
|
|
|
|
+ - port: 2888
|
|
|
|
+ name: server
|
|
|
|
+ - port: 3888
|
|
|
|
+ name: leader-election
|
|
|
|
+ clusterIP: None
|
|
|
|
+ selector:
|
|
|
|
+ app: zk
|
|
|
|
+---
|
|
|
|
+apiVersion: v1
|
|
|
|
+kind: Service
|
|
|
|
+metadata:
|
|
|
|
+ name: zk-cs
|
|
|
|
+ namespace: qa
|
|
|
|
+ labels:
|
|
|
|
+ app: zk
|
|
|
|
+spec:
|
|
|
|
+ ports:
|
|
|
|
+ - port: 2181
|
|
|
|
+ name: client
|
|
|
|
+ selector:
|
|
|
|
+ app: zk
|
|
|
|
+---
|
|
|
|
+apiVersion: policy/v1beta1
|
|
|
|
+kind: PodDisruptionBudget
|
|
|
|
+metadata:
|
|
|
|
+ name: zk-pdb
|
|
|
|
+ namespace: qa
|
|
|
|
+spec:
|
|
|
|
+ selector:
|
|
|
|
+ matchLabels:
|
|
|
|
+ app: zk
|
|
|
|
+ maxUnavailable: 1
|
|
---
|
|
---
|
|
apiVersion: apps/v1
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
kind: StatefulSet
|
|
metadata:
|
|
metadata:
|
|
- name: zookeeper
|
|
|
|
|
|
+ name: zk
|
|
namespace: qa
|
|
namespace: qa
|
|
spec:
|
|
spec:
|
|
selector:
|
|
selector:
|
|
matchLabels:
|
|
matchLabels:
|
|
- app: zookeeper
|
|
|
|
- serviceName: zookeeper-hs
|
|
|
|
|
|
+ app: zk
|
|
|
|
+ serviceName: zk-hs
|
|
replicas: 3
|
|
replicas: 3
|
|
updateStrategy:
|
|
updateStrategy:
|
|
type: RollingUpdate
|
|
type: RollingUpdate
|
|
@@ -16,9 +57,8 @@ spec:
|
|
template:
|
|
template:
|
|
metadata:
|
|
metadata:
|
|
labels:
|
|
labels:
|
|
- app: zookeeper
|
|
|
|
|
|
+ app: zk
|
|
spec:
|
|
spec:
|
|
- terminationGracePeriodSeconds: 180
|
|
|
|
affinity:
|
|
affinity:
|
|
podAntiAffinity:
|
|
podAntiAffinity:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
requiredDuringSchedulingIgnoredDuringExecution:
|
|
@@ -27,7 +67,7 @@ spec:
|
|
- key: "app"
|
|
- key: "app"
|
|
operator: In
|
|
operator: In
|
|
values:
|
|
values:
|
|
- - zookeeper
|
|
|
|
|
|
+ - zk
|
|
topologyKey: "kubernetes.io/hostname"
|
|
topologyKey: "kubernetes.io/hostname"
|
|
containers:
|
|
containers:
|
|
- name: kubernetes-zookeeper
|
|
- name: kubernetes-zookeeper
|
|
@@ -49,8 +89,8 @@ spec:
|
|
- -c
|
|
- -c
|
|
- "start-zookeeper \
|
|
- "start-zookeeper \
|
|
--servers=3 \
|
|
--servers=3 \
|
|
- --data_dir=/data/zookeeper \
|
|
|
|
- --data_log_dir=/data/zookeeper/log \
|
|
|
|
|
|
+ --data_dir=/var/lib/zookeeper/data \
|
|
|
|
+ --data_log_dir=/var/lib/zookeeper/data/log \
|
|
--conf_dir=/opt/zookeeper/conf \
|
|
--conf_dir=/opt/zookeeper/conf \
|
|
--client_port=2181 \
|
|
--client_port=2181 \
|
|
--election_port=3888 \
|
|
--election_port=3888 \
|
|
@@ -82,63 +122,17 @@ spec:
|
|
initialDelaySeconds: 10
|
|
initialDelaySeconds: 10
|
|
timeoutSeconds: 5
|
|
timeoutSeconds: 5
|
|
volumeMounts:
|
|
volumeMounts:
|
|
- - name: volume
|
|
|
|
- mountPath: /data/zookeeper
|
|
|
|
|
|
+ - name: datadir
|
|
|
|
+ mountPath: /var/lib/zookeeper
|
|
securityContext:
|
|
securityContext:
|
|
runAsUser: 1000
|
|
runAsUser: 1000
|
|
fsGroup: 1000
|
|
fsGroup: 1000
|
|
volumeClaimTemplates:
|
|
volumeClaimTemplates:
|
|
- metadata:
|
|
- metadata:
|
|
- name: volume
|
|
|
|
- annotations:
|
|
|
|
- volume.alpha.kubernetes.io/storage-class: anything
|
|
|
|
|
|
+ name: datadir
|
|
spec:
|
|
spec:
|
|
accessModes: [ "ReadWriteOnce" ]
|
|
accessModes: [ "ReadWriteOnce" ]
|
|
storageClassName: rbd
|
|
storageClassName: rbd
|
|
resources:
|
|
resources:
|
|
requests:
|
|
requests:
|
|
- storage: 5Gi
|
|
|
|
----
|
|
|
|
-apiVersion: v1
|
|
|
|
-kind: Service
|
|
|
|
-metadata:
|
|
|
|
- name: zookeeper-hs
|
|
|
|
- namespace: qa
|
|
|
|
- labels:
|
|
|
|
- app: zookeeper
|
|
|
|
-spec:
|
|
|
|
- ports:
|
|
|
|
- - port: 2888
|
|
|
|
- name: server
|
|
|
|
- - port: 3888
|
|
|
|
- name: leader-election
|
|
|
|
- clusterIP: None
|
|
|
|
- selector:
|
|
|
|
- app: zookeeper
|
|
|
|
----
|
|
|
|
-apiVersion: v1
|
|
|
|
-kind: Service
|
|
|
|
-metadata:
|
|
|
|
- name: zookeeper-cs
|
|
|
|
- namespace: qa
|
|
|
|
- labels:
|
|
|
|
- app: zookeeper
|
|
|
|
-spec:
|
|
|
|
- type: NodePort
|
|
|
|
- ports:
|
|
|
|
- - port: 2181
|
|
|
|
- name: client
|
|
|
|
- nodePort: 31812
|
|
|
|
- selector:
|
|
|
|
- app: zookeeper
|
|
|
|
----
|
|
|
|
-apiVersion: policy/v1beta1
|
|
|
|
-kind: PodDisruptionBudget
|
|
|
|
-metadata:
|
|
|
|
- name: zookeeper-pdb
|
|
|
|
- namespace: qa
|
|
|
|
-spec:
|
|
|
|
- selector:
|
|
|
|
- matchLabels:
|
|
|
|
- app: zookeeper
|
|
|
|
- maxUnavailable: 1
|
|
|
|
|
|
+ storage: 10Gi
|