上海定制网站开发,工业产品设计网,网站和系统的区别,wordpress 密码查看pv和pvc存储卷
存储卷#xff1a;
emptyDir容器内部#xff0c;随着pod销毁#xff0c;emptyDir也会消失#xff0c;不能做数据持久化
hostPath#xff1a;持久化存储数据#xff0c;可以和节点上目录做挂载。pod被销毁了数据还在
NFS#xff1a;一台机器#xff0…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获取getlist获取集群的列表资源)create delete
rbac: Role-based ACCESS CONTROL
定义角色在集群当中可以使用的权限
角色 权限都已经创建完毕
部署插件:
NFs -privisioner。deplpyment来创建插件 pod
1.20之后有一个新的机制selfLink
selfLinkAPI的资源对象之一表示资源对象在集群当中自身的一个连接selef-link是一个唯一标识符号可以用于识别K8S集群当中每个资源的对象
self lonk的值是一个URL指向该资源的对象的K8S api的路径
更好的实现资源对象的查找和引用
feature-gatesRemoveSelfLinkfalse
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-------完成