1.官网找到statefuleset的模板
2.创建statefulset
修改name storageClassName image等属性
name=sts-nginx
image =nginx
replicas=3查看存储独立特性
apiVersion: v3
kind: Service
metadata:
name: sts-nginx
labels:
app: nginx
spec:
ports:
- port: 80
name: web
clusterIP: None
selector:
app: nginx
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: sts-nginx
spec:
selector:
matchLabels:
app: nginx
serviceName: "nginx"
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
terminationGracePeriodSeconds: 10
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
name: web
volumeMounts:
- name: www
mountPath: /usr/share/nginx/html
volumeClaimTemplates:
- metadata:
name: www
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "managed-nfs-storage"
resources:
requests:
storage: 1Gi
测试结果:set中的3个pod分别对应3个pv存储,相互独立
4.启动测试容器1.28.4 busybox
kubectl run bs –image=busybox:1.28.4 – sleep 24h
5.进入测试容器 查看网络独立
测试结果:和service不同 statefulset为每个Pod创建独立的dns域名