Skip to content

Instantly share code, notes, and snippets.

@azhuox
Created November 30, 2020 00:44
Show Gist options
  • Save azhuox/5dbea22c23af3b035690ba6228e627de to your computer and use it in GitHub Desktop.
Save azhuox/5dbea22c23af3b035690ba6228e627de to your computer and use it in GitHub Desktop.
apiVersion: apps/v1
kind: StatefulSet
metadata:
namespace: default
name: zk
# StatefulSet spec
spec:
serviceName: zk-hs
selector:
matchLabels:
app: zk # It has to match .spec.template.metadata.labels
replicas: 5
podManagementPolicy: OrderedReady
updateStrategy:
type: RollingUpdate
# volumeClaimTemplates creates a Persistent Volume for each StatefulSet Pods.
volumeClaimTemplates:
- metadata:
name: datadir
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: standard
resources:
requests:
storage: 10Gi
# Pod spec
template:
metadata:
labels:
app: zk
spec:
affinity:
nodeAffinity:
...
podAntiAffinity:
...
# Containers running in each Pod
containers:
- name: k8szk
image: gcr.io/google_samples/k8szk:v3
ports:
- containerPort: 2181
name: client
- containerPort: 2888
name: server
- containerPort: 3888
name: leader-election
env:
...
readinessProbe:
exec:
command:
- "zkOk.sh"
initialDelaySeconds: 10
timeoutSeconds: 5
livenessProbe:
...
volumeMounts:
- name: datadir
mountPath: /var/lib/zookeeper
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment