配置 Pod 以使用 PersistentVolume 作为存储

本文详细介绍了如何在Kubernetes中配置PersistentVolume (PV) 和PersistentVolumeClaim (PVC),包括PV的创建、PVC的自动绑定以及使用PVC的deployment创建。通过实例展示了从minikube挂载本地目录到创建和删除PV、PVC的全过程。

最近了解这个k8s在PVC存储这儿卡了两天,今天终于算是大概搞明白是个怎么回事了。

以下是该过程的总结:

原理图

路径 说明
/mnt/data 本地主机上的目录
/app/wiz minikube容器里的路径
Kubernetes配置 PersistentVolume (PV) 和 PersistentVolumeClaim (PVC) 是为了提供一种抽象,允许用户不必关心底层存储的具体实现细节而能够使用持久化的存储。以下是配置 PV 和 PVC 的基本步骤: 1. **定义 PersistentVolume (PV)**: PV 是集群中的一块存储,它由管理员事先创建或动态创建。PV 可以通过静态方式预先创建,也可以通过 StorageClass 动态提供。PV 的定义包括存储的大小、访问模式(如 ReadWriteOnce、ReadOnlyMany 或 ReadWriteMany)和存储的类型(如 NFS、云存储等)。 示例 YAML 文件定义一个 PV: ```yaml apiVersion: v1 kind: PersistentVolume metadata: name: pv0003 spec: capacity: storage: 5Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Recycle storageClassName: slow nfs: path: /tmp server: 172.17.0.2 ``` 2. **定义 PersistentVolumeClaim (PVC)**: PVC 是用户对存储的请求,用户根据需要的存储大小和访问模式向 PV 提出申请。Kubernetes 将自动将 PVC 绑定到符合条件的 PV 上。 示例 YAML 文件定义一个 PVC: ```yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: myclaim spec: accessModes: - ReadWriteOnce resources: requests: storage: 3Gi storageClassName: slow ``` 3. **使用 PVC**: 用户可以在 Pod 的定义中通过 volumeClaimTemplates 或直接声明 volumes 来使用 PVC。这样,Pod 中的应用就可以像使用本地文件系统一样使用持久化存储了。 示例 Pod 定义使用 PVC: ```yaml apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - name: myfrontend image: nginx volumeMounts: - mountPath: "/var/www/html" name: mypd volumes: - name: mypd persistentVolumeClaim: claimName: myclaim ``` 配置 PV 和 PVC 允许用户无需关心存储的具体实现,只需关注应用程序的需求即可。这大大简化了存储资源的管理和使用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值