kubectl 创建pvc_容器技术干货┃K8s存储篇之PV(PVC)

本文深入探讨Kubernetes中的PersistentVolume (PV) 和 PersistentVolumeClaim (PVC) 概念,作为集群持久存储的关键组件。通过举例介绍了如何创建PV(使用HostPath存储类型)和PVC,并演示了它们之间的绑定过程。最后,讨论了kube-controller-manager中的PersistentVolumeController的工作原理,包括其初始化、事件处理和工作流程。
摘要由CSDN通过智能技术生成

前言

Kubernetes集群中,如果没有存储,所有pod中应用产生的数据都是临时的,pod挂掉,被rc重新拉起之后,以前产生的数据就丢掉了,这对有些场景是不可接受的,此时,外部存储就显得尤为重要。

这里重点介绍两个API资源:

PersistentVolume(PV):集群中的一块网络存储,是集群中的资源,可类比集群中的Node资源;

PersistentVolumeClaim(PVC) : 用户对存储的需求,可类比pod,pod消费node资源,PVC就消费PV资源。

当然还有StorageClass等概念,这里不做详细说明(稳定后,后期文章专门介绍)。K8s存储管理主要分布在两个组件中(这里不包括api):kube-controller-manager和 kubelet。由于涉及的点比较多,我们分成几篇文章来介绍,本篇主要分析PersistentVolume。

代码基于社区,commit id: 65ddace3ed8e7c25546d12912c8dfdcd06ffe1e0

用例

Kubernetes支持的外部存储非常的多,如:AWSElasticBlockStore,AzureFile,AzureDisk,CephFS,Cinder,FlexVolume,GCEPersistentDisk,Glusterfs,HostPath,iSCSI,NFS,RBD,VsphereVolume等。

简单起见,以HostPath存储的方式,举例说明。

创建PV(hostpath方式存储,目录 /tmp/data) Yaml文件: kind: PersistentVolume

apiVersion: v1

metadata:

name: task-pv-volume

labels:

type: local

spec:

capacity:

storage: 10Gi

accessModes:

– ReadWriteOnce

hostPath:

path: “/tmp/data”

创建命令: kubectl create -f http://k8s.io/docs/tasks/configure-pod-container/task-pv-volume.yaml

persistentvolume “task-pv-volume” created

查看结果: kubectl get pv task-pv-volume

NAME CAPACITY ACCESSMODES RECLAIMPOLICY STATUS CLAIM REASON AGE

task-pv-volume 10Gi RWO Retain Available 17s

创建PVC Yaml文件:

kind: PersistentVolumeClaim

apiVersion: v1

metadata:

name: task-pv-claim

spec:

accessModes:

– ReadWriteOnce

resources:

requests:

storage: 3Gi

创建命令: kubectl create -f http://k8s.io/docs/tasks/configure-pod-container/task-pv-claim.yaml

persistentvolumeclaim “task-pv-claim” created

查看结果:(已经绑定上面创建的PV) kubectl get pvc task-pv-claim

NAME STATUS VOLUME CAPACITY ACCESSMODES AGE

task-pv-claim

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值