Kubernetes StatefulSet

From wikieduonline
Jump to navigation Jump to search

StatefulSets available since K8s v1.9 (Dec/2017) https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/

kubectl get sts -A
kubectl scale sts yourstatefulset --replicas=X
kubectl describe sts -A
kubectl patch sts elastic-operator

Example

apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  ports:
  - port: 80
    name: web
  clusterIP: None
  selector:
    app: nginx
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
 name: web
spec:
 selector:
   matchLabels:
     app: nginx # has to match .spec.template.metadata.labels
 serviceName: "nginx"
 replicas: 3 # by default is 1
 minReadySeconds: 10 # by default is 0
 template:
   metadata:
     labels:
       app: nginx # has to match .spec.selector.matchLabels
   spec:
     terminationGracePeriodSeconds: 10
     containers:
     - name: nginx
       image: registry.k8s.io/nginx-slim:0.24
       ports:
       - containerPort: 80
         name: web
       volumeMounts:
       - name: www
         mountPath: /usr/share/nginx/html
 volumeClaimTemplates:
 - metadata:
     name: www
   spec:
     accessModes: [ "ReadWriteOnce" ]
     storageClassName: "my-storage-class"
     resources:
       requests:
         storage: 1Gi

Related

See also

Advertising: