1 changed files with 167 additions and 0 deletions
@ -0,0 +1,167 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
name: zk-headless |
||||
|
labels: |
||||
|
app: zk-headless |
||||
|
spec: |
||||
|
ports: |
||||
|
- port: 2888 |
||||
|
name: server |
||||
|
- port: 3888 |
||||
|
name: leader-election |
||||
|
clusterIP: None |
||||
|
selector: |
||||
|
app: zk |
||||
|
--- |
||||
|
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" |
||||
|
scheduler.alpha.kubernetes.io/affinity: > |
||||
|
{ |
||||
|
"podAntiAffinity": { |
||||
|
"requiredDuringSchedulingIgnoredDuringExecution": [ |
||||
|
{ |
||||
|
"labelSelector": { |
||||
|
"matchExpressions": [ |
||||
|
{ |
||||
|
"key": "app", |
||||
|
"operator": "In", |
||||
|
"values": [ "zk-headless" ] |
||||
|
} |
||||
|
] |
||||
|
}, |
||||
|
"topologyKey": "kubernetes.io/hostname" |
||||
|
} |
||||
|
] |
||||
|
} |
||||
|
} |
||||
|
spec: |
||||
|
containers: |
||||
|
- name: k8szk |
||||
|
imagePullPolicy: Always |
||||
|
image: gcr.io/google_samples/k8szk:v1 |
||||
|
resources: |
||||
|
requests: |
||||
|
memory: "1Gi" |
||||
|
cpu: "0.5" |
||||
|
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 |
||||
|
annotations: |
||||
|
volume.alpha.kubernetes.io/storage-class: anything |
||||
|
spec: |
||||
|
accessModes: [ "ReadWriteOnce" ] |
||||
|
resources: |
||||
|
requests: |
||||
|
storage: 20Gi |
||||
Loading…
Reference in new issue