当前位置: 首页 > news >正文

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-------完成

http://www.lryc.cn/news/279142.html

相关文章:

  • 逆变器2(原理框图)
  • ERA5合集,使用ERA5得到GNSS站点的温度,气压,水汽压,Tm和PWV合集,可以求五个参数
  • c#让三个线程按照顺序执行
  • AWS Directory Service 开启ldaps
  • Seata 以 Nacos 为注册中心启动
  • Unity填坑-灯光烘焙相关
  • 【python】TCP测速程序
  • 新书速览|从零开始大模型开发与微调:基于PyTorch与ChatGLM
  • 边缘计算:连接实时数据的力量与未来发展之路
  • ZooKeeper 实战(四) Curator Watch事件监听
  • Spring Boot 构建工具插件
  • Java集成消息队列Kafka
  • 第十四章JSON
  • 0_项目git地址——正点原子minifly与crazyflie
  • php 字符串常用函数
  • Android基于Matrix绘制PaintDrawable设置BitmapShader,以手指触点为中心显示原图像圆图,Kotlin(2)
  • FlinkOnYarn 监控 flink任务
  • C++内存管理机制(侯捷)笔记1
  • 【论文阅读】Non-blocking Lazy Schema Changes in Multi-Version
  • Rust 最新版1.75.0升级记
  • 使用 KubeSphere 与极狐GitLab 打造云原生持续交付系统
  • EasyExcel的追加写入(新增POI、CSV)
  • JetBrains 开发工具——免费教育许可申请流程
  • 打造高性价比小程序,轻松降低成本
  • mysql 索引优化查询
  • 跟着cherno手搓游戏引擎【4】窗口抽象、GLFW配置
  • Tomcat基础升华学习
  • 一种具有轨迹优化的无人驾驶车实时运动规划器 论文阅读
  • GPDB - 高可用 - 流复制状态
  • 最佳解决方案:如何在网络爬虫中解决验证码