K8S动态PV

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

pv和pvc存储卷

存储卷:

emptyDir容器内部,随着pod销毁,emptyDir也会消失,不能做数据持久化

hostPath:持久化存储数据,可以和节点上目录做挂载。pod被销毁了数据还在

NFS:一台机器,提供pod内容器所有的挂载点

pv和pvc:

pvc就是pod发起得挂载得请求

pv:持久化存储得目录,ReadWriteMany   ReadOnlyMany   ReadWriteOnce

NFS支持三种方式

hostPath只支持ReadWriteOnce

ISCSI不支持ReadWriteMany

pv的回收策略:Retain  默认 released需要人工设置,调整回Available

              Recycle  回收,自动调回Available

              Delete  删除

静态pv和pvc的用法:

运维负责pv:创建好持久化存储卷,声明好读写和挂载类型,以及可以提供的存储空间

开发负责pvc:要和开发沟通好你期望的读写和挂载类型以及存储空间

当我发布pvc之后,可以生成pv,还可以在共享服务器上直接生成挂载目录

pvc直接绑定和使用pv

动态pv需要两个组件:

1、卷插件Provisioner(存储分配器)

K8S本身支持的动态pv创建不包括NFS,需要声明和安装一个外部插件Provisioner(存储分配器)

Provisioner可以动态创建pv,然后根据pvc的请求自动绑定和使用

2、StorageClass

定义pv的属性,包括存储类型、大小、回收策略等等

NFS实现动态pv

NFS支持的方式NFS-client,先搞定Provisioner,来适配NFS-client

nfs-client-provisioner卷插件

serviceAccount:

NFS PRovisioner: 是一个插件,没有权限是无法再集群当中获取k8s的消息,插件要有权限能够监听apiserver,获取get,list获取集群的列表资源)create delete

rbac: Role-based ACCESS CONTROL

定义角色在集群当中可以使用的权限

角色 权限都已经创建完毕

部署插件:

NFs -privisioner。deplpyment来创建插件 pod

1.20之后有一个新的机制:selfLink

selfLink:API的资源对象之一,表示资源对象在集群当中自身的一个连接,selef-link是一个唯一标识符号,可以用于识别K8S集群当中每个资源的对象

self lonk的值是一个URL,指向该资源的对象的K8S  api的路径

更好的实现资源对象的查找和引用

feature-gates=RemoveSelfLink=false

feature-gates: 在不破坏现有规则以及功能基础上引入新功能或者修改现有功能的机制。

禁用不影响之前的规则。

部署nfs-provisioner的插件:

nfs的provisioner的客户端已pod的方式运行在集当中,监听k8s集联当中pv的请求。动态的创建于NFS服务器相关的pv

容器里使用的配置,在provisioner当中定义好环境变量,传给容器。storageClass的名称、NFS服务器的地址、NFS的目录

动态pv的默认策略是删除。delete

总结: 动态pv

provisioner插件------支持nfs 创建pv目录

stroageclass: 定义pv的属性动态

pv的默认策略是删除

动态策略没有回收

动态pv删除pvc之后的状态,released

1、创建账号,给卷插件能狗在集群内部通信,获取资源,监听事件,创建,删除,更新pv

2、创建卷插件pod,卷插件的pod创建pv

3、storageclass: 给pv赋予属性 (pvc被删除之后pv的状态,以及回收策略)

4、创建pvc-------完成文章来源地址https://www.toymoban.com/news/detail-818047.html

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

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

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

相关文章

  • k8s pv pvc的介绍|动态存储|静态存储

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

    2024年02月06日
    浏览(28)
  • K8S临时存储-本地存储-PV和PVC的使用-动态存储(StorageClass)

    容器中的文件在磁盘上是临时存放的,当容器崩溃或停止时容器上面的数据未保存, 因此在容器生命周期内创建或修改的所有文件都将丢失。 在崩溃期间,kubelet 会以干净的状态重新启动容器。 当多个容器在一个 Pod 中运行并且需要共享文件时,会出现另一个问题,跨所有容

    2024年04月16日
    浏览(38)
  • k8s 1.28版本:使用StorageClass动态创建PV,SelfLink 问题修复

       k8s中提供了一套自动创建 PV 的机制,就是基于 StorageClass 进行的 ,通过 StorageClass 可以实现仅仅配置 PVC,然后交由 StorageClass 根据 PVC 的需求动态创建 PV。 问题:   使用 k8s 1.28版本,通过 kubectl get pvc ,发现 PVC一直处于 Pending 状态。通过 kubectl describe pvc [pvc名称] 描述

    2024年02月08日
    浏览(36)
  • K8s基础10——数据卷、PV和PVC、StorageClass动态补给、StatefulSet控制器

    为什么需要数据卷? 容器中的文件在磁盘上是临时存放的,这给容器中运行比较重要的应用程序带来一些问题。 当容器升级或者崩溃时,kubelet会重建容器,容器内文件会丢失。 一个Pod中运行多个容器时,需要共享文件。 而K8s 数据卷就可以解决这两个问题。 Volume概念: V

    2024年02月05日
    浏览(89)
  • 使用k8s部署Mysql实例~hostpath,nfs服务器,PV和PVC持久化

    1.基础存储的分类: 分类 说明 EmptyDir EmptyDir是在Pod 被分配到Node时 创建的, 无须手动指定 ,当 Pod销毁时 , EmptyDir中的数据也会被 永久删除 HostPath HostPath就是将Node主机中一个实际目录挂载到Pod中,保证 Pod销毁 了,但是 数据依旧可以存在 于Node主机上 NFS NFS是一个网络文件

    2024年02月20日
    浏览(35)
  • 【K8S 存储卷】K8S的存储卷+PV/PVC

    目录 一、K8S的存储卷 1、概念: 2、挂载的方式: 2.1、emptyDir: 2.2、hostPath: 2.3、NFS共享存储: 二、PV和PVC: 1、概念 2、请求方式 3、静态请求流程图: 4、PV和PVC的生命周期 5、PV的状态: 6、PV的读写挂载方式: 7、回收策略: 三、PV和PVC静态请求实验: 1、默认的Retain保留策

    2024年02月02日
    浏览(39)
  • 【K8S系列】深入解析K8S中PV 和PVC

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

    2024年04月23日
    浏览(35)
  • K8s中的PV的介绍

    PV 的生命周期  PV 生命周期总共四个阶段 : Available(可用) —— 可用状态,尚未被 PVC 绑定。 Bound(已绑定 )—— 绑定状态,已经与某个 PVC 绑定。 Released(已释放) —— 与之绑定的 PVC 已经被删除,但资源尚未被集群回收。 Failed(失败 )—— 当删除 PVC 清理资源,自动

    2024年02月08日
    浏览(25)
  • k8s pv与pvc

    1.前言 PV 是 Kubernetes 集群中的一种资源对象,它代表着一块物理存储设备,例如磁盘、网络存储或云存储等。PV 可以被多个 Pod 共享,并且可以独立于 Pod 存在。PV 可以配置不同的访问模式 (Access Modes),例如 ReadWriteOnce 、 ReadOnlyMany 或 ReadWriteMany ,以确定 PV 可以被多少个 Pod 同

    2024年01月21日
    浏览(41)
  • k8s中强制删除pv

    K8s 集群内有一个已经不再使用的 PV,虽然已经删除了与其关联的 Pod 及 PVC,并对其执行了删除命令,但仍无法正常删除,一直处于 Terminating 状态:  解决办法: 1. 获取pv信息  2. 解除pv锁定  3. 解除pvc锁定 4. 【如果还没删掉】删除PV 5. 【如果还没删掉】删除PVC

    2024年02月15日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包