🗄️
Kubernetes

StatefulSet (MongoDB)

StatefulSet with headless Service — stable pod identity for databases

📋Configuration Files

mongodb-statefulset.yml

yaml
1apiVersion: v1
2kind: Service
3metadata:
4 name: mongo
5spec:
6 clusterIP: None
7 selector:
8 app: mongo
9 ports:
10 - port: 27017
11---
12apiVersion: apps/v1
13kind: StatefulSet
14metadata:
15 name: mongo
16spec:
17 serviceName: mongo
18 replicas: 1
19 selector:
20 matchLabels:
21 app: mongo
22 template:
23 metadata:
24 labels:
25 app: mongo
26 spec:
27 containers:
28 - name: mongo
29 image: mongo:7
30 ports:
31 - containerPort: 27017
32 volumeMounts:
33 - name: data
34 mountPath: /data/db
35 volumeClaimTemplates:
36 - metadata:
37 name: data
38 spec:
39 accessModes: ["ReadWriteOnce"]
40 resources:
41 requests:
42 storage: 5Gi
📄

Step 01

Apply StatefulSet

(01)Deploy to cluster

Linux
1kubectl apply -f .
2kubectl get all
3kubectl get pods -w

(02)Remove

Linux
1kubectl delete -f .