首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kubernetes运维-持久化存储卷实践与管理

Kubernetes 支持 hostPath 类型的 PersistentVolume 使用节点上的文件或目录来模拟附带网络的存储,但是需要注意的是在生产集群中,我们不会使用 hostPath,集群管理员会提供网络存储资源...通过这个延迟绑定机制,原本实时发生的 PVC 和 PV 的绑定过程,就被延迟到了 Pod 第一次调度的时候在调度器中进行,从而保证了这个绑定结果不会影响 Pod 的正常调度。...通过这个延迟绑定机制,原本实时发生的 PVC 和 PV 的绑定过程,就被延迟到了 Pod 第一次调度的时候在调度器中进行,从而保证了这个绑定结果不会影响 Pod 的正常调度。...PV 了,但这个 PVC 依然处于 Pending 状态,也就是等待绑定的状态,这就是因为上面我们配置的是延迟绑定,需要在真正的 Pod 使用的时候才会来做绑定。...-310f89a753b5 1Gi RWO nfs-client 4s # 可以看到创建成功后自动就生成新的pv资源并绑定到这个pv上。

45110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Kubernetes 中 PV 和 PVC 的状态变化

    我们对 PV 和 PVC 的几种状态应该不算陌生,但是在使用过程中可能也会产生一些疑问,比如为什么 PV 变成 Failed 状态了,新创建的 PVC 如何能够绑定之前的 PV,我可以恢复之前的 PV...和 PV 已经是处于绑定状态了,那么如果这个时候我们不小心将 PV 进行了删除,会出现怎样的情况呢: $ kubectl delete pv nfs-pv persistentvolume "nfs-pv...pv claimRef 这个时候大家可能就会想到现在我的 PVC 被删除了,PV 也变成了 Released 状态,那么我重建之前的 PVC 他们不就可以重新绑定了,事实并不会,PVC 只能和 Available...到 PV 变化后,就会将 PV 修改为 Available 状态,Available 状态的 PV 当然就可以被其他 PVC 绑定了。...直接编辑 PV 删除 cliamRef 属性中的内容即可: # 删除 cliamRef 中的内容 $ kubectl edit pv nfs-pv persistentvolume/nfs-pv edited

    97930

    Kubernetes 中 PV 和 PVC 的状态变化

    我们对 PV 和 PVC 的几种状态应该不算陌生,但是在使用过程中可能也会产生一些疑问,比如为什么 PVC 变成 Lost 状态了,新创建的 PVC 如何能够绑定之前的 PV,我可以恢复之前的 PV 吗...和 PV 已经是处于绑定状态了,那么如果这个时候我们不小心将 PV 进行了删除,会出现怎样的情况呢: $ kubectl delete pv nfs-pv persistentvolume "nfs-pv...我们可以看到 PVC 被删除后,PV 变成了 Released 的状态,但是我们仔细看后面的 CLAIM 属性,其中依然还保留着 PVC 的绑定信息,也可以将 PV 的对象信息通过下面的命令导出: 这个时候大家可能就会想到现在我的...PVC 被删除了,PV 也变成了 Released 状态,那么我重建之前的 PVC 他们不就可以重新绑定了,事实并不会,PVC 只能和 Available 状态的 PV 进行绑定。...到 PV 变化后,就会将 PV 修改为 Available 状态,Available 状态的 PV 当然就可以被其他 PVC 绑定了。

    4.5K50

    kubernetes中用NFS做后端存储支不支持PVC扩容?

    在虚拟机时代,我们经常会收到给磁盘扩容的需求,一般我们就是添加一块磁盘,然后做LVM扩容操作,那在容器时代,我们可以给PVC扩容吗?...之前发了持久化存储相关的知识--PV和PVC,StorageClass,本文来给你介绍一下用NFS做后端存储能不能扩容的问题,当然在生产上没有哪个愿意用NFS做后端存储.........(1)、首先我们创建一个PV的YAML文件(pv2.yaml) apiVersion: v1 kind: PersistentVolume metadata: name: my-pv02 labels...我尝试的修改了pvc的配置文件,如下: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-test spec: accessModes...我们的NFS并不被支持(用NFS做后端存储的小伙伴注意了哈)。

    5.1K20

    【K8s】Kubernetes 存储简介

    PV 具有独立的生命周期,不会随着 Pod 的销毁被删除 PersistentVolumeClaim(PVC):在 Kubernetes 中,PVC(持久化卷声明)是一种与存储相关的资源对象,可以定义申请容量...:可以将 Pod 所在集群节点上指定的目录直接挂载到 Pod 内的容器中,只适用于单节点集群或 Pod 与集群某个节点绑定的场景 PersistentVolume 与 PersistentVolumeClaim...:PersistentVolume 与 PersistentVolumeClaim(持久化卷声明),可以灵活分配和释放存储资源,提高存储的灵活性和可管理性 ConfigMap 与 Secret:前文有专题介绍过...ConfigMap 与 Secret,严格意义上说,它们为 Pod 内的容器提供了配置持久化注入的能力,也可以归属到持久存储 从 PersistentVolume 插件支持类型的维度看,Kubernetes...的存储大致可以分为: 本地存储:使用集群节点上指定的目录来模拟网络附加存储,但只适用于单节点集群或 Pod 与集群某个节点绑定的场景,包含 HostPath、Local 两种方式 外置存储 NFS 存储

    18610

    Kubernetes-卷的概念

    如果为新的PVC动态调配PV,则该环路将始终会把PV绑定到PVC,否则,用户总会得到它们所请求的存储,但是容量可能超出要求的数量。...一旦PV和PVC绑定完成之后 不管他们是如何绑定的 PVC和PV是一对一的映射。 PVC 根据容量和读写模式进行匹配 使用户存储的请求。它与Pod相似。...持久化卷声明的保护 PVC保护的目的是确保Pod正在使用的PVC不会从系统中移除 当启用PVC保护alpha的功能时候,如果用户删除了一个Pod正在使用的PVC,则该PVC不会被立即删除 ,PVC的删除将会被延迟...PersistentVolume可以以资源提供者支持的任何方式挂载到主机上。...Bound:已绑定-卷已经声明绑定 Released:已释放-声明被删除,但是资源还未被集群重新声明 Failed:失败-该卷的自动回收失败 PVC创建 安装NFS的我就不写了 # 先部署PV apiVersion

    1.1K00

    Kubernetes K8S之存储Volume详解 PV概述PVC概述供应绑定使用持久化声明保护回收策略Persistent Volumes类型PV示例PV卷状态PV

    PVC到PV的绑定是一对一的映射,使用ClaimRef,它是PersistentVolume和PersistentVolumeClaim之间的双向绑定。...持久化声明保护 “使用中的存储对象保护” :该功能的目的是确保在Pod活动时使用的PersistentVolumeClaims (PVC)和绑定到PVC的PersistentVolume (PV)不会从系统中删除...另外,如果管理员删除绑定到PVC的PV,则不会立即删除该PV;PV的去除被推迟,直到PV不再与PVC结合。 回收策略 当用户处理完他们的卷时,他们可以从允许回收资源的API中删除PVC对象。...没有storageClassName的PV没有类,只能绑定到不请求特定类的PVC。...CLI将显示绑定到PV的PVC的名称。

    3K20

    PV 与 PVC介绍

    一、概念介绍 ​PersistentVolume (PV) 是由管理员设置的存储,它是群集的一部分。就像节点是集群中的资源一样,PV 也是集群中的资源。...动态 ​当管理员创建的静态 PV 都不匹配用户的 PersistentVolumeClaim 时,集群可能会尝试动态地为 PVC 创建卷。...绑定 ​master 中的控制环路监视新的 PVC,寻找匹配的 PV(如果可能),并将它们绑定在一起。如果为新的 PVC 动态调配 PV,则该环路将始终将该 PV 绑定到 PVC。...否则,用户总会得到他们所请求的存储,但是容量可能超出要求的数量。一旦 PV 和 PVC 绑定后, PersistentVolumeClaim 绑定是排他性的,不管它们是如何绑定的。...Bound(已绑定)——卷已经被声明绑定 ​Released(已释放)——声明被删除,但是资源还未被集群重新声明 ​Failed(失败)——该卷的自动回收失败 ​命令行会显示绑定到 PV 的 PVC

    3.6K20

    kubernetes-存储卷(十二)

    为了保证数据的持久性,必须保证数据在外部存储在docker容器中,为了实现数据的持久性存储,在宿主机和容器内做映射,可以保证在容器的生命周期结束,数据依旧可以实现持久性存储。...pod中的容器名称空间的之外的宿主机的文件系统的某一目录和pod建立关联关系,在pod删除时,存储数据不会丢失。...共享存储卷 nfs使的我们可以挂在已经存在的共享到的我们的Pod中,和emptyDir不同的是,emptyDir会被删除当我们的Pod被删除的时候,但是nfs不会被删除,仅仅是解除挂在状态而已,这就意味着...主机中的控制回路监视新的PVC,找到匹配的PV(如果可能),并将 PVC 和 PV 绑定在一起。 如果为新的PVC动态配置PV,则循环将始终将该PV绑定到PVC。...否则,用户总是至少得到他们要求的内容,但是卷可能超出了要求。 一旦绑定,PersistentVolumeClaim绑定是排他的,不管用于绑定它们的模式。

    1.4K20

    kubetnetes 之存储 PV PVC

    k8s使用两种资源管理存储: PersistentVolume(一些简称PV):由管理员添加的的一个存储的描述,是一个全局资源,包含存储的类型,存储的大小和访问模式等。...* Recycled:删除数据(rm -rf /thevolume/*)并允许PV被绑定到其它PVC。 * Deleted: 删除数据并删除PV。...Access Modes k8s不会真正检查存储的访问模式或根据访问模式做访问限制,只是对真实存储的描述,最终的控制权在真实的存储端。...– PV可以被使用 Bound – PV被绑定到PVC Released – 被绑定的PVC被删除,可以被Reclaim Failed – 自动回收失败 PVC资源描述 每个PVC里包含一个spec...resources: requests: storage: 8Gi Phase Pending – 等待可用的PV Bound – PV被绑定到PVC Lost – 找不到绑定的PV 实例 运行实例

    1.3K20

    7-Kubernetes入门基础之存储Volume介绍

    如果为新的PVC动态调配PV,则该环路将始终将该PV绑定到PVC。否则,用户总会得到他们所请求的存储,但是容量可能超出要求的数量。...一旦PV和PVC绑定后 PersistentVolumeClaim 绑定是排他性的不管它们是如何绑定的。简单的说PVC跟PV绑定是一对一的映射一旦PV绑定后便不可与其它PVC绑定。...StorageClass 的名称,空值意味着此卷不属于任何存储类, 他是PVC绑定到PV卷的重要指标。...Pod定义里指定的PVC绑定关键字,然后PVC会根据Pod的要求去自动绑定合适的PV给Pod使用。 Tips : 比如一个配置了许多 50Gi PV 的集群不会匹配到一个要求 100Gi 的PVC。...描述具体过程为: PV先创建分类,PVC请求绑定某个已创建的类(StorageClass)的资源,同时由 Controller控制器 创建的资源绑定到PVC之中,这样就达到动态配置的效果。

    1.4K22

    k8s的pv与pvc

    概念 PV 的全称是:PersistentVolume(持久化卷),是对底层的共享存储的一种抽象,PV 由管理员进行创建和配置,它和具体的底层的共享存储技术的实现方式有关,比如 Ceph、GlusterFS...但是通过 PVC 请求到一定的存储空间也很有可能不足以满足应用对于存储设备的各种需求,而且不同的应用程序对于存储性能的要求可能也不尽相同,比如读写速度、并发性能等,为了解决这一问题,Kubernetes...,多种访问模式是不会生效的。...persistentVolumeReclaimPolicy(回收策略) 我这里指定的 PV 的回收策略为 Recycle,目前 PV 支持的策略有三种: Retain(保留)- 保留数据,需要管理员手工清理数据...状态 一个 PV 的生命周期中,可能会处于4中不同的阶段: Available(可用):表示可用状态,还未被任何 PVC 绑定 Bound(已绑定):表示 PV 已经被 PVC 绑定 Released(

    1.2K20

    Kubernetes之pv、pvc及使用nfs网络存储应用

    加载主机的容器日志目录,达到收集本机所有日志的目的 # hostPath # 将Pod里面的目录内容绑定到宿主机目录,Pod删除并不到导致宿主机删除. # 如果指定宿主机目录不存在要不要先创建取决于...[root@node1 ~]# cat /data/pod/volume1/index.html youmen NFS网络共享存储 部署nfs # 建议找集群外的一台机器做NFS hostnamectl...# 可以删除Pod再创建数据依然存在,哪怕节点宕掉依然数据不会丢失,但是当挂载的数据,Pod多了,效果就不尽人意了 # 接下来我们通过pv,pvc来使用这个nfs存储 使用pv,pvc作为存储 ?...Retain比较保险 # 状态有以下几种 # Available: PV状态,表示可用状态,还未被任何PVC绑定 # Bound: 已绑定,已经绑定到某个PVC # Released:...# 并且可以看到pvc已经绑定到名称为pv1的volume上, # 同时在pv上可以看到绑定到名称为pvc-nfs的pvc中 查看pv,pvc [root@master storage]# kubectl

    3.1K82

    Kubernetes(七) - Volume

    Kubernetes(七) - Volume Docker是无状态的不管被销毁多少次都会恢复到最初的状态,但是这就意味着在程序过程中产生的配置也好文件也好会丢失,对于Docker我们经常会使用磁盘挂载的方式来保存一些重要的内容...K8S-S1上我们看一下是否保存到了K8S-S1的磁盘上了吗 2.NAS网络盘 但是这样做有一个很大的弊端,如果这个Pod重启可能会被调度到其他的节点上,那么对应挂载盘的就会情况,这里有两种方式解决,第一种就是固定...Pod运行的节点,在就是使用共享磁盘(首先你需要创建一个NAS盘) 一般用的比较频繁的就是NAS盘作为挂载盘,用法如下 > vim nfs-pv.yaml apiVersion: v1 kind: PersistentVolume...# nfs的挂载目录(一定需要有这个文件目录) --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nfs-pv spec:...persistentvolume "nfs-pv" created persistentvolumeclaim "nfs-pv" created 我们创建两个Pod共享一个NAS盘 > vim volume-nfs.yaml

    46220

    Kubernetes 持久卷

    容器崩溃并不会导致 Pod 被从节点上移除,因此容器崩溃期间 emptyDir 卷中的数据是安全的。...Persistent Volume:persistentVolumeClaim 卷用来将持久卷(PersistentVolume) 挂载到 Pod 中。...持久卷申领(PersistentVolumeClaim)是用户在不知道特定云环境细节的情况下"申领"持久存储 (例如 NFS,iSCSI)的一种方法。...Kubernetes 为了使开发人员能够在请求存储资源时,避免处理存储设施细节,引入了持久卷(PersistentVolume,PV) 和 持久卷申领(PersistentVolumeClaim,PVC...此 API 对象中记述了存储的实现细节,无论其背后是 NFS、iSCSI 还是特定于云平台的存储系统。 持久卷申领(PersistentVolumeClaim,PVC 表达的是用户对存储的请求。

    1.2K50
    领券