PV & PVC in K8s

这篇具有很好参考价值的文章主要介绍了PV & PVC in K8s。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

摘要

在Kubernetes中,PV(Persistent Volume)和PVC(Persistent Volume Claim)是用于管理持久化存储的重要资源对象。PV表示存储的实际资源,而PVC表示对PV的声明性要求。当应用程序需要使用持久化存储时,它可以通过创建PVC来请求和使用PV。以下是使用PV和PVC时的一些注意事项:

  1. 定义存储类别(Storage Class):在创建PV和PVC之前,需要先定义存储类别。存储类别定义了如何将存储提供给应用程序,例如使用网络存储,本地存储等。对PV和PVC进行配对时,需要确保它们使用相同的存储类别。
  2. PV的访问模式(Access Mode):PV可以有不同的访问模式,包括ReadWriteOnce(单节点读写)、ReadOnlyMany(多节点只读)和ReadWriteMany(多节点读写)。在创建PVC时,需要根据应用程序的要求选择正确的访问模式。
  3. PVC的大小限制:PVC可以指定对PV的容量请求。在创建PVC时,请确保请求的容量不超过可用的PV的容量。
  4. PVC的绑定与回收策略:PVC可以根据需要与PV进行绑定和解绑定。在PVC创建后,Kubernetes会自动找到满足该PVC要求的可用PV,并将其与PVC进行绑定。当PVC不再需要时,可以删除PVC,并根据指定的回收策略进行PV的回收。
  5. 高可用性考虑:如果应用程序需要高可用性的存储,可以使用PV提供的副本功能。使用副本控制器(Replication Controller)或状态集(StatefulSet)来管理多个副本的PV和PVC,确保应用程序的持久化数据在节点故障时不会丢失。
  6. PVC和Pod的关联:PVC是通过Pod来使用的,因此在创建PVC之前,必须保证Pod已经存在或者会在PVC创建后创建。在Pod的配置中,可以通过volume的方式将PVC挂载到容器内部。

总而言之,当使用PV和PVC时,需要注意定义存储类别、选择适当的访问模式、设置正确的大小限制、配置好绑定和回收策略,并确保PVC与Pod正确关联,以确保应用程序有可靠的持久化存储。

Simply put

When using PV (Persistent Volume) and PVC (Persistent Volume Claim) in Kubernetes, there are some considerations to keep in mind:

  1. Define Storage Class: Before creating PV and PVC, it is important to define the storage class. The storage class defines how the storage is provided to the application, such as using network storage, local storage, etc. It is important to ensure that the PV and PVC are paired with the same storage class.
  2. PV Access Modes: PV can have different access modes, including ReadWriteOnce (single node read-write), ReadOnlyMany (multiple nodes read-only), and ReadWriteMany (multiple nodes read-write). When creating the PVC, select the appropriate access mode based on the requirements of the application.
  3. PVC Size Limit: PVC can specify capacity requests for PV. When creating the PVC, make sure that the requested capacity does not exceed the available capacity of the PV.
  4. PVC Binding and Reclaim Policy: PVC can be bound and unbound from PV as needed. After the PVC is created, Kubernetes automatically finds an available PV that meets the PVC requirements and binds it to the PVC. When the PVC is no longer needed, it can be deleted, and the PV is reclaimed based on the specified reclaim policy.
  5. Consider High Availability: If the application requires high availability of storage, replication can be used with PV. Use Replication Controllers or StatefulSets to manage multiple replicas of PV and PVC to ensure that the application’s persistent data is not lost in the event of a node failure.
  6. Association Between PVC and Pod: PVC is used by Pods and should be created before the associated Pod or along with it. In the Pod configuration, PVC can be mounted inside the container using the volume.

In summary, when using PV and PVC, it is important to define the storage class, select the appropriate access mode, set the correct size limit, configure binding and reclaim policies, and ensure that PVC is properly associated with Pods to ensure reliable persistent storage for the application.

PV

PV(Persistent Volume)是Kubernetes中持久化存储的抽象层,它可以将底层存储资源抽象为一个独立的对象,并让这个对象能够被Pod使用。

设计思想和执行说明如下:

  1. PV的设计思想:
    • 抽象化:PV将底层存储资源(例如物理卷、存储设备)抽象为独立的对象,使其可以被Kubernetes集群中的各种应用和Pod使用,而无需关注底层存储的具体细节。
    • 生命周期管理:PV具有自己的生命周期,可以与Pod独立存在。这意味着即使Pod被删除,PV的数据也可以保留,并可以被重新绑定到其他Pod上。
    • 动态和静态供给:PV支持两种供给模式,即静态供给和动态供给。静态供给需要手动创建和配置PV对象,而动态供给可以通过使用StorageClass自动创建PV对象。
  2. 高可用的PV的设计思想:
    • 冗余性:为了提供高可用性,可将同一份数据复制到多个物理卷或存储设备上,建立冗余副本。这样即使某个副本发生故障,仍然可以从其他副本中进行恢复和访问。
    • 故障恢复:当一个PV副本发生故障时,Kubernetes会自动将Pod重新调度到其他健康的副本上,以确保数据的可靠性和持久性。
  3. 执行说明:
    • 创建PV:根据底层存储设备的类型和供给模式(静态或动态),创建PV对象并定义其属性和规格(例如存储类型、容量、访问模式等)。
    • 设置StorageClass(动态供给时):如果使用动态供给模式,则首先需要创建和配置StorageClass对象,该对象定义了动态创建PV的规则和策略。
    • 创建PVC(Persistent Volume Claim):Pod通过PVC来声明对PV的需求,PVC指定所需的PV规格和属性。
    • Pod与PV绑定:Kubernetes会自动将合适的PV与PVC进行绑定,并由调度器将Pod调度到可访问该PV的节点上。
    • 高可用性配置:为了实现高可用性,可以通过复制数据(例如使用ReplicationController)或使用备份/恢复机制(例如使用StatefulSet)配置多个PV和Pod副本。

PVC

PVC(Persistent Volume Claim)是Kubernetes中用于声明对PV(Persistent Volume)的需求的对象。它充当了用户和底层存储之间的接口,使得用户能够申请和使用所需的持久化存储资源。

以下是PVC在Kubernetes中的说明和使用说明:

  1. PVC的说明:

    • PVC是一个抽象层:PVC为应用程序和开发人员提供了一个抽象层,隐藏了底层存储的实现细节,使其能够专注于声明自己对存储资源的需求。
    • 并不直接绑定实际存储:PVC并不直接与底层存储资源绑定,而是声明了自己对存储资源的需求。由Kubernetes的存储控制器根据PVC的需求来匹配和绑定适当的PV。
    • 生命周期独立于Pod:PVC具有自己的生命周期,并且可以与Pod独立存在。即使Pod被删除,PVC的数据也可以保留,并可以重新绑定到其他Pod上。
  2. 使用PVC的步骤:

    • 创建PVC定义文件:创建一个YAML或JSON文件,定义PVC的规格和属性。需要指定存储类别、访问模式、存储容量等信息。
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: my-pvc
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 5Gi
    
    • 应用PVC定义:使用kubectl apply命令将PVC定义文件部署到Kubernetes集群中:
    kubectl apply -f pvc-definition.yaml
    
    • 使用PVC:在Pod的配置文件中,通过volume和volumeMounts将PVC与Pod关联起来,使Pod可以使用PVC提供的持久化存储。
    apiVersion: v1
    kind: Pod
    metadata:
      name: my-pod
    spec:
      volumes:
        - name: my-pvc
          persistentVolumeClaim:
            claimName: my-pvc
      containers:
        - name: my-container
          image: my-image
          volumeMounts:
            - name: my-pvc
              mountPath: /data
    

PVC的定义文件可以根据实际需求进行配置,包括存储容量、访问模式(ReadWriteOnce、ReadOnlyMany、ReadWriteMany)和存储类别等。使用PVC可以使应用程序在不同的环境中灵活地使用和管理持久化存储资源。注意,创建PVC之前要确保已经有可用的PV满足PVC的需求。

On the other hand

The Quantum Chronicles: PV & PVC in the Realm of K8s

In the distant future, humanity found itself exploring the vast depths of the universe, seeking answers to the mysteries of existence. Their journey led them to a realm known as K8s, a quantum dimension where the laws of computing and data management took on a whole new meaning.

In this realm, humans discovered an extraordinary technology called Persistent Volumes (PV) and Persistent Volume Claims (PVC). These concepts allowed them to transcend the limitations of physical storage and unlock the true potential of their artificial intelligence systems.

PVs were like cosmic repositories, massive extraterrestrial storage units with unimaginable capacity. They acted as containers for data, holding vast amounts of information from across galaxies. Imagine an ethereal archive where the secrets of the universe were captured and stored.

But these PVs were not easily accessible. They were guarded by formidable cosmic forces, capable of unleashing chaos upon anyone who would dare to disturb them. To interact with these enigmatic storage units, humans had to make use of PVCs.

PVCs were like celestial keys that allowed humans to tap into the power of PVs. They were carefully crafted pieces of code, equipped with quantum algorithms that could seamlessly interface with the esoteric nature of the PVs. When a human needed access to the data stored within a PV, they would create a PVC and submit it to the cosmic gatekeepers of K8s.

To create a PVC, humans had to summon their AI companions, programmed with the knowledge of the ancient computing arts. These AI companions acted as intermediaries between the humans and the mystical forces of K8s. Together, they forged a bond, a channel through which they could communicate with the PVs.

Once the PVC was created, it would traverse the dimensions, navigating the intricate pathways of K8s until it reached the guardians of the PV. Like an emissary, the PVC would present itself and negotiate with the powerful beings, seeking permission to access the stored knowledge.

The guardians, mighty cosmic entities known as orchestrators, would examine the PVC and assess its intentions. If deemed worthy, they would grant access, opening the gates to the PV. The AI companions would then guide the humans as they delved into the vast sea of information, extracting insights and unraveling the mysteries of the universe itself.

But this journey was not without risks. The forces within K8s were unpredictable, and a miscalculation could lead to catastrophic consequences. The AI companions constantly monitored and optimized the interaction, ensuring a harmonious equilibrium between human intelligence and the quantum realm.

In this age of discovery and exploration, PVs and PVCs became the backbone of the AI infrastructure, enabling humans to harness the power of the cosmos. They transcended the limits of physical storage, allowing for the seamless flow of data across the dimensions.

And so, the Quantum Chronicles of PVs and PVCs in the realm of K8s carried on, with humans pushing the boundaries of knowledge and unraveling the secrets of existence, one celestial key at a time.文章来源地址https://www.toymoban.com/news/detail-706122.html

到了这里,关于PV & PVC in K8s的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【K8S系列】深入解析K8S中PV 和PVC

    在 Kubernetes 中,PV(持久卷)和 PVC(持久卷声明)之间的关系是一种动态匹配和绑定关系,用于实现 Pod 与存储资源的解耦。 PV 是集群中的一块网络存储,它独立于 Pod 存在。PV 可以是各种存储系统,如云提供商的存储、NFS、iSCSI、本地存储等。 管理员负责创建 PV,并配置其

    2024年04月23日
    浏览(46)
  • k8s里pv pvc configmap

    通过storageClassName 将PV 和PVC 关联起来。

    2024年02月11日
    浏览(33)
  • k8s 存储卷和pvc,pv

    存储卷---数据卷 容器内的目录和宿主机的目录进行挂载。 容器在系统上的生命周期是短暂的,deletek8s用控制器创建的pod,delete相当于重启,容器的状态也会回复到初始状态。 一旦回到初始状态,所有的后天编辑的文件的都会消失。 容器容器和节点之间创建一个可以持久化保

    2024年01月16日
    浏览(50)
  • k8s~动态生成pvc和pv

    有时,我们不想手动建立pv和pvc,这时,我们可以通过strongClass存储类来帮我们实现,动态建立pvc,并动态为它分配pv存储空间,我们以nfs为例,说一下动态分配在nfs存储截至上建立pv的方式。 StorageClass和PVC及PV 集群权限与绑定rbac.yaml 建立动态pvc的provisioner.yaml 建立strongClass的

    2024年02月03日
    浏览(48)
  • k8s中的PV和PVC存储介绍

    目录 一.PV介绍 1.含义 2.关键配置参数 二.PVC介绍 1.含义 2.关键参数配置 三.PV和PVC的生命周期问题 1.PV的生命周期会有4个阶段 2.用户申请空间PV的周期流程 3.PV和PVC的使用/释放/回收 四.案例演示 1.NFS配置 2.新建PV 3.新建PVC 4.新建Pod测试 5.模拟删除Pod后后端目录内数据不会受影响

    2024年03月15日
    浏览(49)
  • K8s---存储卷(动态pv和pvc)

    当我要发布pvc可以生成pv,还可以共享服务器上直接生成挂载目录。pvc直接绑定pv。 1、卷插件:k8s本生支持的动态pv创建不包括nfs,需要声明和安装一个外部插件 Provisioner: 存储分配器。动态创建pv,然后根据pvc的请求自动绑定和使用。 2、StorageClass:来定义pv的属性,存储类型

    2024年01月21日
    浏览(58)
  • 【云原生】K8S存储卷:PV、PVC详解

    容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在Pod中同时运行多个容器时,这些容器之间通常需要共

    2024年02月12日
    浏览(42)
  • k8s创建pvc后,不自动创建pv

    创建pvc的yaml 是否立刻动态产生pv,要看sc volumeBindingMode配置 默认情况下,Immediate 模式表示一旦创建了 PersistentVolumeClaim 也就完成了卷绑定和动态制备。 对于由于拓扑限制而非集群所有节点可达的存储后端,PersistentVolume 会在不知道 Pod 调度要求的情况下绑定或者制备。 集群管

    2024年02月16日
    浏览(30)
  • k8s pv pvc的介绍|动态存储|静态存储

    当Pod被分配给节点时,首先创建emptyDir卷,并且只要该Pod在该节点上运行,该卷就会存在。正如卷的名字所述,它最初是空的。Pod 中的容器可以读取和写入emptyDir卷中的相同文件,尽管该卷可以挂载到每个容器中的相同或不同路径上。当出于任何原因从节点中删除 Pod 时,em

    2024年02月06日
    浏览(37)
  • 阿里云 K8s PVC 绑定 StorageClass 申领 PV 失败

    错误场景: 因为阿里云没有默认的 StorageClass 我也懒得更新,所以就创建了一个类型是云盘的 StorageClass 。 但是在创建 PVC 之后发现一直是 Pending 状态就查询了一下日志,然后看到很多下面这种错误 使用的配置 原因: 根据阿里云 FAQ 文档 发现在 PVC 中指定的云盘大小不符合规范

    2024年02月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包