Kubernetes StatefulSet Manifest
Jump to navigation
Jump to search
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: - 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.