k8s学习:挂载 pvc

本文介绍如何使用Kubernetes Persistent Volume Claim (PVC)简化容器存储管理。通过实例演示了将NFS类型的PVC挂载到Nginx Pod的过程,使Pod能够共享存储资源并简化配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前学习过 nfs 方式的pv/pvc 创建、删除,之后一直没有再继续。
如何使用 pvc ?我的理解应该就和 docker 挂载本地volune差不多
使用 pvc 可以忽略掉路径、目录、Volume 等繁琐信息
并且,可以和其他 pod 共同使用,只需要记得一个 pvc 名字即可用

k8s nfs安装及pv/pvc 创建和回收删除

以下使用的测试例子来自于本人的 Ingress Nginx学习
已经创建过 nginx 服务的 pod,名字是 demo1
k8s学习: Ingress Nginx

预备好 pv/pvc 和需要改造的 pod

  1. 找到 需要改造的 pod

    kubectl get pods

     NAME                           
Kubernetes PVC(Persistent Volume Claim)是一种 Kubernetes 资源对象,用于请求持久化存储。通常情况下,PVC 会被动态地绑定到一个 PV(Persistent Volume),并在 Pod 中挂载该 PV。 如果你想将一个已经存在的 PV 挂载到本地,可以按照以下步骤进行操作: 1. 创建一个 PV YAML 文件,指定 PV 的类型为 hostPath,示例: ```yaml apiVersion: v1 kind: PersistentVolume metadata: name: my-local-pv spec: capacity: storage: 1Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: local-storage hostPath: path: /data/my-local-pv ``` 其中 `hostPath` 字段指定了本地路径 `/data/my-local-pv`,该路径必须在所有节点上都存在。 2. 创建一个 PVC YAML 文件,指定 storageClassName 为上一步定义的 local-storage,示例: ```yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-local-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: local-storage ``` 3. 在 Pod 中挂载PVC,示例: ```yaml apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: - name: my-container image: my-image volumeMounts: - name: my-volume mountPath: /mnt/data volumes: - name: my-volume persistentVolumeClaim: claimName: my-local-pvc ``` 这样,Pod 中的容器就可以将 `/mnt/data` 挂载到本地路径 `/data/my-local-pv` 上了。需要注意的是,这种方式并不支持 Pod 在不同节点之间的迁移,如果需要跨节点使用本地存储,可以考虑使用 Local Persistent Volume。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈哈虎123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值