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

湛江网站建设湛江强大的wordpress瀑布流主题

湛江网站建设湛江,强大的wordpress瀑布流主题,三亚网站建设兼职,上海网页制作服务商pv和pvc#xff0c;存储卷#xff1a; 存储卷#xff1a; emptyDir 容器内部#xff0c;随着pod销毁#xff0c;emptyDir也会消失 不能做数据持久化 hostPath#xff1a;持久化存储数据 可以和节点上的目录做挂载。pod被销毁了数据还在 NFS#xff1a;一台机器存储卷 存储卷 emptyDir  容器内部随着pod销毁emptyDir也会消失  不能做数据持久化 hostPath持久化存储数据 可以和节点上的目录做挂载。pod被销毁了数据还在 NFS一台机器提供pod内容器所有的挂载点。 pv和pvc pvc就是pod发起的挂载的请求 pv持久化存储的目录ReadWriteMany ReadOnlyMany ReadWriteOnce NFS可以支持三种方式 hostPath 只支持ReadWriteOnce ISCSI  不支持ReadWirteMany pv的回收策略 Retain    released 需要人工设置调整回Avaliable Recycle  回收自动调整回Available Delete删除 静态pv和pvc 运维负责pv创建好持久化存储卷声明好读写和挂载类型 以及可以提供的存储空间 pvc开发做要和开发沟通好你期望的读写和挂载类型以及存储空间。 当我发布一个pvc之后可以自动生成pv还可以在共享服务器上直接生成挂载目录。 pvc直接绑定和使用pv。 动态pv需要两个组件 1、存储卷插件k8s本身支持的动态pv创建不包括nfs需要声明和安装一个外部插件。 Provisioner存储分配器。可以动态创建pv然后根据pvc的请求自动绑定和使用。 2、StorageClass来定义pv的属性存储类型大小回收策略。 还是用nfs来实现动态pv。NFS支持的方式NFS-client。Provisioner来适配nfs-client nfs-client-provisioner卷插件。 准备共享目录 rpcbind 到其他节点查看 回到master节点 serviceAccount NFS PRovisioner是一个插件没有权限是无法再集群当中获取k8s的消息。插件要有权限能够监听apiserver获取getlist获取集群的列表资源create delete rbacRole based ACCESS CONTROL 定义角色在集群中可以使用的资源 查看ServiceAccount的格式 创建 Service Account用来管理 NFS Provisioner 在 k8s 集群中运行的权限 设置 nfs-client 对 PVPVCStorageClass 等的规则 vim nfs-client-rbac.yaml #创建 Service Account 账户用来管理 NFS Provisioner 在 k8s 集群中运行的权限apiVersion: v1 kind: ServiceAccount metadata:   name: nfs-client-provisioner ---#创建集群角色 kubectl explain ClusterRole   #查看Kubernetes RBACRole-Based Access Control的 ClusterRole 配置 命名为 nfs-client-provisioner-clusterrole。这个 ClusterRole 定义了一组权限规则 允许一个特定的服务账户通常是用于 NFS 客户端 Provisioner 的账户执行一些与存储相关的操作。 apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata:   name: nfs-client-provisioner-clusterrole rules:   - apiGroups: [] #apigroup定义了规则使用哪个API的组空字符,直接使用API的核心组的资源。 resources: [persistentvolumes]     verbs: [get, list, watch, create, delete] #表示获取权限的动作获取资源获取资源列表监听API创建删除pv的信息 - apiGroups: []     resources: [persistentvolumeclaims]     verbs: [get, list, watch, update]   - apiGroups: [storage.k8s.io]     resources: [storageclasses]     verbs: [get, list, watch]   - apiGroups: []     resources: [events]     verbs: [list, watch, create, update, patch]   - apiGroups: []     resources: [endpoints]     verbs: [create, delete, get, list, watch, patch, update] ---#集群角色绑定 kubectl explain ClusterRoleBinding 查看字段详情 apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata:   name: nfs-client-provisioner-clusterrolebinding subjects: - kind: ServiceAccount   name: nfs-client-provisioner   namespace: default roleRef:   kind: ClusterRole   name: nfs-client-provisioner-clusterrole   apiGroup: rbac.authorization.k8s.io 查看apiversion的信息 查看如何绑定角色和权限 kubectl apply -f nfs-client-rbac.yaml apiVersion 和 kind: apiVersion: rbac.authorization.k8s.io/v1: 表示这是 RBAC API 的版本。 kind: ClusterRole: 表示这是一个 ClusterRole即集群级别的角色。 metadata: name: nfs-client-provisioner-clusterrole: 给这个 ClusterRole 起一个名字方便在集群中引用。 rules: 这是权限规则的列表定义了该角色拥有的权限。 每个规则rule的结构如下 apiGroups: 定义这个规则适用的 API 组。在这里使用了空字符串 表示核心 API 组。 resources: 定义了这个规则适用的资源类型。例如persistentvolumes 表示持久卷 persistentvolumeclaims 表示持久卷声明storageclasses 表示存储类 events 表示事件 endpoints 表示服务的终结点。 verbs: 定义了这个规则允许的操作 如 get获取资源信息、list列出资源列表、 watch监视资源变化、create创建资源、delete删除资源等。 核心 API 组通常是默认的 API 组无需额外的路径前缀 通过这个 ClusterRoleBinding服务账户 nfs-client-provisioner 将被 授予 ClusterRole nfs-client-provisioner-clusterrole 中定义的一组权限 使其能够执行与持久卷、持久卷声明、存储类、事件和服务终结点相关的操作。   角色 权限都已经创建完毕 部署插件 NFS-privisioner。deployment来创建插件  pod 1.20之后有一个新的机制 selfLink:API的资源对象之一表示资源对象在集群当中自身的一个连接self-link是一个唯一标识符号可以用于标识k8s集群每个资源的对象。 self-link的值是一个URL指向该资源对象的k8s api的路径。 更好的实现资源对象的查找和引用。 feature-gatesRemoveSelfLinkfalse feature-gates在不破坏现有规则及功能的基础上引入新功能或者修改现有功能的机制。 禁用不影响之前的规则。 部署nfs-provisioner的插件 nfs的provisioner的客户端以pod的方式运行在集群当中监听k8s集群当中pv的请求。动态的创建 于NFS服务器相关的pv。 容器里使用的配置在provisioner当中定义好环境变量传给容器storageclass的名称nfs服务器的地址nfs的目录。 vim /etc/kubernetes/manifests/kube-apiserver.yaml spec:   containers:   - command:     - kube-apiserver     - --feature-gatesRemoveSelfLinkfalse       #添加这一行     - --advertise-address192.168.233.91 Feature Gate 提供了一种在不破坏现有功能的基础上引入新功能或修改现有功能的机制。 通过在 API Server 启动时设置 Feature Gate 选项可以在集群中启用或禁用特定功能。 kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml kubectl delete pods kube-apiserver -n kube-system  kubectl get pods -n kube-system | grep apiserver #创建 NFS Provisioner插件 vim nfs-client-provisioner.yaml apiVersionapps/v1 kind:Deployment metadata: name: nfs-provisioner labels: app: nfs1 spec: replicas: 1 selector: matchLabels: app: nfs1 template: metadata: labels: app: nfs1 spec: serviceAccountName: nfs-client-provisioner containers: - name: nfs1 image: quay,io/external_storage/nfs-client-provisioner;latest volumeMounts: - name: nfs mountPath: /persistentvolumes env: - name: PROVISIONER_NAME value: nfs-storage #配置provisioner的账户名称要和storageclass的资源名称一致 - name: NFS_SERVER #指的是nfs共享服务器的地址 value: 192.168.233.94 - name: nfs nfs: server: 192.168.233.94 path: /opt/k8s vim stroageclass.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nfs-client-storageclass #匹配provisioner:  nfs-storage parameters: archiveOnDeleate: false #pvc被删除之后pv的状态定义的是falsepvc被删除pv的状态将是released可以人工调整继续使用 #如果是truepv的将是Archived表示pv不再可用 reclaimPolicy:  Retain #定义pv的回收策略retain另一个是delete。不支持回收 allowvolumeExpansion: true #表示pv的存储空间可以动态的扩缩容。 kubectl apply -f nfs-client provisioner的作用创建pv kubectl get storageclass.storage.k8s.io namestorageclass的名称 PROVISIONER对应的创建pv的 PROVISIONER的插件 RECLAIMPOLICY回收策略保留 VOLUMEBINDINGMODE卷绑定模式immediate表示pvc请求创建pv时系统会立即绑定一个可用的pv waitForFirstConsumer第一个使用者出现之后再绑定pv。 ALLOWVOLUMEEXPANSION:true 表示可以在运行时对pv进行扩容。 10:55 kubectl expalain pvc 定义pvc vim pvc-pod.yaml apiversionv1 kindPersistentVolumeClaim metadata: name: nfs-pvc spec: accessModes: - ReadWriteMany storageClassName: nfs-client-storageclass resources: requests: storage: 2Gi #创建一个pvc名称为nfs-pvc使用的pv属性是nfs-client-storageclass定义的属性创建的pv的大小是2G --- apiVersionapps/v1 kindDeployment metadata name: nginx1 spec: replicas: 1 selector: matchLabels: app: nginx template: matadata: labels: app: nginx1 spec: containers: - name: nginx1 image: nginx:1.22 volumeMounts: - name: html mountPath: /usr/share/nginx/html volumes: - name: html persistentVolumeClaim: claimName: nfs-pvc 到共享目录上写入信息 回到master查看情况 vim test1.yaml 删除字段 查看 重新apply查看一下又可以继续使用 修改回复策略 改为Recycle试试是否支持 发现只支持保留和删除策略 改为删除策略 创建 查看然后删除查看状态 变为不可用状态然后重新创建一下用的就是删除的策略 查看 删除pvc查看一下状态 pv的共享目录也被删除 动态pv的默认策略是删除。delete 不加默认就是delete 注一定要先删除原来的storageclass再重新创建 查看发现动态的默认策略是delete 总结动态pv provisioner插件------支持nfs创建pv目录 storageclass定义pv的属性 动态pv的默认策略是删除重要 动态pv删除pvc之后的状态最好调整为released 1、创建账号给卷插件能够在集群内部通信获取资源监听事件创建删除更新pv 2、创建卷插件pod卷插件的pod创建pv 3、storageclass给pv赋予属性pvc被删除之后pv的状态以及回收策略 4、创建pvc------完成。
http://www.zqtcl.cn/news/309993/

相关文章:

  • 安康网站建设公司价格pathon做网站
  • jq网站模板宣城有做网站的公司吗
  • 江苏个人备案网站内容大连seo加盟
  • 服装网站建设公司地址公司网站建设需要注意什么
  • 免费行情软件网站下载安装电子商务网站建设实训报告
  • wordpress怎么添加企业网站美化网站公司
  • 工作室网站源码全球军事网站
  • 网站设计模板免费建站珠海正规网站制作排名费用多少
  • 北京沙河教做网站的wordpress增加自适应功能
  • 中国著名的个人网站网站设计怎么做ppt答辩
  • 郑州做招商的网站网站后台主流网站开发语言
  • 专业足球网站开发铜陵网站优化
  • 南昌高端网站开发山西太原网站建设公司
  • 青岛专业制作网站的公司吗百度咨询
  • 自定义网站模块深圳宝安区有什么好玩的地方
  • 如何增加网站的外链微平台网站支持html5实现游戏
  • 平台网站建设网站邯郸seo优化
  • 做网站着用什么软件盐城网站建设电话
  • 自己的网站wordpress自动变化文字
  • 北京制作网站公司哪家好wordpress小工具不显示不出来
  • 如何建设一个新的网站h5网站建设价格
  • 无锡专业做网站的怎么攻击php做的网站
  • 盐城网站建设代理商wordpress定义字体颜色
  • 成都旅游网站建设地址自己做的网站怎么被搜索出来
  • 网站建设免费免代码商城微网站如何做
  • 网站建设域名是什么东莞网络科技营销
  • 法语网站建设高端网站建设 骆
  • vue网站开发注意事项做设计想接外单去哪个网站好
  • 免费模板下载网站推荐苏州seo
  • 徐州市水利工程建设有限公司网站网站建设技术团队有多重要性