Difference between revisions of "StatefulSets"

From wikieduonline
Jump to navigation Jump to search
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
+
[[StatefulSet]]
 
* https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
 
* https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
  
 
+
* <code>[[kubectl get statefulsets]]</code>
[[kubectl get statefulsets]]
+
* <code>[[kubectl describe statefulsets]]</code>
[[kubectl describe statefulsets]]
 
  
 
  kubectl get statefulsets -n your_namespace
 
  kubectl get statefulsets -n your_namespace
Line 10: Line 9:
 
  your-elasticsearch-master  0/2    2y88d
 
  your-elasticsearch-master  0/2    2y88d
  
  33m        Warning  CalculateExpectedPodCountFailed  poddisruptionbudget/xxxx-[[pdb]]                    Failed to calculate the number of  expected pods: statefulsets.apps does not implement the scale subresource
+
  33m        Warning  [[CalculateExpectedPodCountFailed]]   poddisruptionbudget/xxxx-[[pdb]]                    Failed to calculate the number of  expected pods: statefulsets.apps does not implement the scale subresource
  
  
Line 16: Line 15:
  
 
  apiVersion: v1
 
  apiVersion: v1
  kind: Service
+
  [[kind: Service]]
 
  metadata:
 
  metadata:
 
   name: nginx
 
   name: nginx
Line 30: Line 29:
 
  ---
 
  ---
 
  apiVersion: apps/v1
 
  apiVersion: apps/v1
  kind: StatefulSet
+
  [[kind: StatefulSet]]
 
  metadata:
 
  metadata:
 
   name: web
 
   name: web
Line 45: Line 44:
 
         app: nginx # has to match .spec.selector.matchLabels
 
         app: nginx # has to match .spec.selector.matchLabels
 
     spec:
 
     spec:
       terminationGracePeriodSeconds: 10
+
       [[terminationGracePeriodSeconds]]: 10
 
       containers:
 
       containers:
 
       - name: nginx
 
       - name: nginx
Line 52: Line 51:
 
         - containerPort: 80
 
         - containerPort: 80
 
           name: web
 
           name: web
         volumeMounts:
+
         [[volumeMounts:]]
 
         - name: www
 
         - name: www
           mountPath: /usr/share/nginx/html
+
           [[mountPath:]] /usr/share/nginx/html
 
   [[volumeClaimTemplates:]]
 
   [[volumeClaimTemplates:]]
 
   - metadata:
 
   - metadata:
Line 64: Line 63:
 
         requests:
 
         requests:
 
           storage: 1Gi
 
           storage: 1Gi
 +
 +
== Related ==
 +
* [[Peloton]]
 +
* <code>[[kubectl rollout]]</code>
 +
* [[Elastic Cloud on Kubernetes (ECK)]] (May 2019)
  
 
== See also ==
 
== See also ==

Latest revision as of 13:14, 9 December 2022

StatefulSet

kubectl get statefulsets -n your_namespace
NAME                   READY   AGE
your-elasticsearch-master   0/2     2y88d
33m         Warning   CalculateExpectedPodCountFailed   poddisruptionbudget/xxxx-pdb                     Failed to calculate the number of  expected pods: statefulsets.apps does not implement the scale subresource


Official example[edit]

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: k8s.gcr.io/nginx-slim:0.8
        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[edit]

See also[edit]

Advertising: