1,创建PersistentVolume

kind: PersistentVolume
apiVersion: v1
metadata:
  name: task-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"

执行上面配置文件后PersistentVolume被创建,通过命令查看

kubectl get pv

2,创建PersistentVolumeClaim

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: task-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi

PersistentVolumeClaim已邦定到PersistentVolume,创建后通过命令查看

kubectl get pvc

 3,创建Pod使用PersistentVolumeClaim

kind: Pod
apiVersion: v1
metadata:
  name: task-pv-pod
spec:
  volumes:
    - name: task-pv-storage
      persistentVolumeClaim:
       claimName: task-pv-claim
  containers:
    - name: task-pv-container
      image: nginx
      ports:
        - containerPort: 80
          name: "http-server"
      volumeMounts:
        - mountPath: "/usr/share/nginx/html"
          name: task-pv-storage

容器目录/usr/share/nginx/html已挂载到宿主机/mnt/data

参考资料

https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/

https://kubernetes.io/docs/concepts/storage/persistent-volumes/

https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/

相关文章:

  • 2022-12-23
  • 2021-09-10
  • 2021-05-26
  • 2021-11-28
  • 2021-12-12
  • 2021-12-03
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-14
  • 2021-10-18
  • 2021-07-10
  • 2022-12-23
相关资源
相似解决方案