1. 创建 Persistent Volume(pv.yaml):
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: /data/my-pv
在上述示例中:
- capacity 定义了持久卷的存储容量。
- accessModes 指定了持久卷的访问模式,例如 ReadWriteOnce 表示该卷可以被单个节点挂载为读写模式。
- hostPath 使用主机路径作为存储,该路径为 /data/my-pv。
2. 创建 Persistent Volume Claim(pvc.yaml):
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
在上述示例中:
- accessModes 与创建 PV 时的 accessModes 一致,确保 PVC 的访问模式匹配 PV。
- resources 指定了 PVC 请求的存储容量。
3. 创建 Pod 配置文件(pod-with-pvc.yaml):
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: nginx:latest
volumeMounts:
- name: myvolume
mountPath: /usr/share/nginx/html
volumes:
- name: myvolume
persistentVolumeClaim:
claimName: my-pvc
在上述示例中:
- persistentVolumeClaim 字段引用了先前创建的 PVC,将其挂载到容器中。
4. 部署 PV、PVC 和 Pod:
kubectl apply -f pv.yaml
kubectl apply -f pvc.yaml
kubectl apply -f pod-with-pvc.yaml
注意事项:
- 请确保 PV 的存储路径存在且可用,例如使用主机路径时确保目录存在。
- PV 和 PVC 的存储大小应匹配。
- PVC 的访问模式应与 PV 一致。
- 持久卷的声明周期应符合应用程序的需求。
这只是一个简单的演示,实际中,你可能需要根据你的应用程序和集群的需求,使用其他类型的存储后端。确保参考 Kubernetes 文档以获取更详细的信息。
转载请注明出处:http://www.zyzy.cn/article/detail/9882/Kubernetes