美工做任务网站,做app软件开发的公司,手机网站系统,怎么做打鱼网站1、定义
发布pvc之后可以生成pv#xff0c;还可以在共享服务器上直接生成挂载目录
pvc直接绑定和使用pv
2、动态pv依赖两个组件
#xff08;1#xff09;provisioner卷插件#xff1a;k8s本身支持的动态pv创建不包括nfs#xff0c;需要声明和安装一个外部插件provisio…1、定义
发布pvc之后可以生成pv还可以在共享服务器上直接生成挂载目录
pvc直接绑定和使用pv
2、动态pv依赖两个组件
1provisioner卷插件k8s本身支持的动态pv创建不包括nfs需要声明和安装一个外部插件provisioner存储分配器可以动态创建pv根据pvc请求自动绑定和使用根据定义的pv属性创建pv
2StorageClass定义pv属性存储类型、大小、回收策略等
3、nfs实现动态pv
nfs支持NFS-clientprovisioner来适配nfs-client
先创建nfs-client-provisioner卷插件
与静态pv相比少了自定义挂载卷和自定义pv这两步用StorageClass和provisioner来代替这两步自动生成 创建动态pv实验默认策略是Delete一定要设置成Retain
1、创建共享目录 查看其他节点是否共享目录 2、创建账户Service Account
用来管理 NFS Provisioner 在 k8s 集群中运行的权限
nfs provisioner是一个插件没有权限是无法在集群中获取k8s的消息.插件要有权限监听apiserver、获取集群的列表资源、create、delete
查看各个yaml文件的格式
①查看账户kubectl explain ServiceAccount ②查看集群角色kubectl explain ClusterRole rbacRole-based Access control基础权限配置定义角色在集群中可以使用的权限 ③查看集群角色和账户绑定kubectl explain ClusterRoleBinding ④查看storageclass插件 kubectl explain storageclass
⑤查看pvc
kubectl explain pvc verbs表示权限的动作 get 获取资源 list 获取集群中列表资源 watch 监听 create 创建 update 更新 patch 路径 账户名称 nfs-client-provisioner 角色名称 nfs-client-provisioner-clusterrole storageclass名称 nfs-client-storageclass
3、使用 Deployment 来创建 NFS Provisioner插件
NFS Provisione即 nfs-client有两个功能一个是在 NFS 共享目录下创建挂载点(volume)另一个则是将 PV 与 NFS 的挂载点建立关联
①屏蔽selflink功能
由于 1.20 版本启用了 selfLink所以 k8s 1.20 版本通过 nfs provisioner 动态生成pv会报错 feature-gates 在不破坏现有规则和功能的情况下引入新功能或修改现有功能的机制 禁用不影响之前的规则 ②创建NFS Provisioner插件
创建nfs的provisioner的客户端以pod的方式运行在集群中根据刚才赋予的权限监听k8s集群中pv请求动态创建与nfs服务器相关的pv
容器里使用的配置在provisioner里定义好环境变量传给容器
环境变量storageclass的名称nfs服务器的地址nfs的目录
4、创建 StorageClass
负责建立 PVC 并调用 NFS provisioner 进行预定的工作并让 PV 与 PVC 建立关联 NAME storageclass的名称 PROVISIONER 对应创建pv的provisioner插件 RECLAIMPOLICY pv回收策略。这里定义的是retain VOLUMEBINDINGMODE 卷绑定模式immediate标识pvc请求创建pv时系统会立即绑定一个可用的pv waitForFirstConsumer第一个使用者而出现之后再绑定pv ALLOWVOLUMEEXPANSION 可以在运行时对pv进行扩容
5、创建 PVC 和 Pod 测试 测试挂载卷 6、释放pv资源 将pv资源改为可用状态Available 7、重新定义pv回收策略
①Delete策略
先删除storageclass 再回收pv资源
②Recycle策略 先删除storageclass 再回收pv资源 结论pv不支持Recycle回收策略