Kubernetes StatefulSet Manifest: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 38: Line 38:
       terminationGracePeriodSeconds: ...
       terminationGracePeriodSeconds: ...
   [[#volumeClaimTemplates|volumeClaimTemplates]]:
   [[#volumeClaimTemplates|volumeClaimTemplates]]:
     <font color=lightblue># for details see [[Kubernetes_Persistent_Volume_Claim_Manifest|Persistent Volume Claim Manifest]]</font>
     <font color=darkgray># ''for details see [[Kubernetes_Persistent_Volume_Claim_Manifest|Persistent Volume Claim Manifest]]''</font>
     - metadata:
     - metadata:
         <span id='name_template'></span>[[#Volume_Claim_Name|name]]: data
         <span id='name_template'></span>[[#Volume_Claim_Name|name]]: data

Revision as of 17:39, 11 December 2019

External

Internal

Example

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: postgresql
  labels:
    color: blue
spec:
  replicas: 1
  serviceName: postgresql-headless
  selector:
    matchLabels:
      app: postgresql
      role: master   
  podManagementPolicy: OrderedReady
  updateStrategy: 
    type: RollingUpdate
  template:
    metadata:
      name: postgresql
      labels:
        app: postgresql
        role: master
    spec:
      containers:
        - ...
      initContainers:
        - ...
      dnsPolicy:  ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: ...
      terminationGracePeriodSeconds: ...
  volumeClaimTemplates:
    # for details see Persistent Volume Claim Manifest
    - metadata:
        name: data
      spec:
        volumeMode: Filesystem
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: 8Gi

.spec Elements

template

volumeClaimTemplates

"volumeClaimTemplates" is a list of persistent volume claim specifications, defining persistent volume claims that pods are allowed to reference. The StatefulSet controller is responsible for mapping network identities to claims in a way that maintains the identity of a pod. Every claim in this list must have at least one name-matching volumeMount in one container in the template. The name of the claim is specified as .metadata.name.A claim in this list takes precedence over any volumes in the template, with the same name. For more details on persistent claim manifests, see:

Persistent Volume Claim Manifest