Cloud Expert
StatefulSets pro databáze¶
KubernetesStatefulSetDatabase 3 min čtení
StatefulSets pro stateful aplikace v Kubernetes. Ordered deployment, stable network identity.
Proč StatefulSet?¶
Na rozdíl od Deployment: stabilní hostname (pod-0, pod-1), ordered vytváření/mazání, persistent volumes per pod.
Příklad¶
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: postgres
spec:
serviceName: postgres
replicas: 3
selector:
matchLabels: {app: postgres}
template:
metadata:
labels: {app: postgres}
spec:
containers:
- name: postgres
image: postgres:16
ports: [{containerPort: 5432}]
volumeMounts:
- {name: data, mountPath: /var/lib/postgresql/data}
volumeClaimTemplates:
- metadata: {name: data}
spec:
accessModes: [ReadWriteOnce]
resources: {requests: {storage: 100Gi}}
Headless Service¶
StatefulSet potřebuje headless service (clusterIP: None) pro DNS záznamy: postgres-0.postgres.default.svc.cluster.local
Shrnutí¶
StatefulSet pro databáze, message queues a další stateful workloady. Zvažte managed DB (RDS, Cloud SQL) pro jednodušší provoz.
Potřebujete pomoct s implementací?¶
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.