StatefulSet — manages stateful applications with stable identity and storage.
1apiVersion: apps/v12kind: StatefulSet3metadata:4 name: postgres5spec:6 serviceName: postgres7 replicas: 38 selector:9 matchLabels:10 app: postgres11 template:12 metadata:13 labels:14 app: postgres15 spec:16 containers:17 - name: postgres18 image: postgres:1519 ports:20 - containerPort: 543221 env:22 - name: POSTGRES_PASSWORD23 valueFrom:24 secretKeyRef:25 name: postgres-secret26 key: password27 volumeMounts:28 - name: data29 mountPath: /var/lib/postgresql/data30 resources:31 requests:32 memory: "256Mi"33 cpu: "250m"34 limits:35 memory: "1Gi"36 cpu: "1000m"37 volumeClaimTemplates:38 - metadata:39 name: data40 spec:41 accessModes: ["ReadWriteOnce"]42 storageClassName: fast43 resources:44 requests:45 storage: 10Gi46---47# Headless Service for stable DNS48apiVersion: v149kind: Service50metadata:51 name: postgres52spec:53 clusterIP: None54 selector:55 app: postgres56 ports:57 - port: 543258 targetPort: 5432
Stable Identity:
Use cases: