mkdir -p /data/k8s-pv-test01
客户端访问 → Service 固定地址 → 负载均衡 → Pod → 挂载 PVC → 绑定 PV (hostPath 本地目录)



1、pv-test01.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-test01
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-path
hostPath:
path: /data/k8s-pv-test01

2、pvc-test01.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-test01
spec:
volumeName: pv-test01 #强制绑定指定 PV
storageClassName: local-path
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi

3、执行更新生效
# 重新应用PV配置
kubectl apply -f pv-test01.yaml
# 重新应用PVC
kubectl apply -f pvc-test01.yaml
# 查看绑定状态
kubectl get pv,pvc




4、deployment-test01.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment-test01
spec:
replicas: 1
selector:
matchLabels:
app: deployment-test01
template:
metadata:
labels:
app: deployment-test01
spec:
volumes:
- name: html-storage
persistentVolumeClaim:
claimName: pvc-test01
containers:
- name: nginx
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io/ingress-nginx/nginx:v1.3.4
ports:
- containerPort: 80
volumeMounts:
- name: html-storage
mountPath: /usr/share/nginx/html

5、service-test01.yaml
apiVersion: v1
kind: Service
metadata:
name: service-test01
spec:
selector: ###selector 标签必须一致,否则找不到后端 Pod
app: deployment-test01
ports:
- port: 80
targetPort: 80
nodePort: 30083
type: NodePort

6、执行更新生效
kubectl apply -f deployment-test01.yaml
kubectl apply -f service-test01.yaml
查看资源 kubectl get deploy,pod,svc




7、查看全部资源

8、访问pod对外


浙公网安备 33010602011771号