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

哈尔滨企业建站服务商成都网页设计的网站建设

哈尔滨企业建站服务商,成都网页设计的网站建设,wordpress 开启xml-rpc,企业建站系统开源K8S之存储卷 一、emptyDir emptyDir#xff1a;可实现Pod中的容器之间共享目录数据#xff0c;但emptyDir存储卷没有持久化数据的能力#xff0c;存储卷会随着Pod生命周期结束而一起删除二、hostPath hostPath#xff1a;将Node节点上的目录/文件挂载到Pod容器的指定目录…K8S之存储卷 一、emptyDir emptyDir可实现Pod中的容器之间共享目录数据但emptyDir存储卷没有持久化数据的能力存储卷会随着Pod生命周期结束而一起删除二、hostPath hostPath将Node节点上的目录/文件挂载到Pod容器的指定目录中有持久化数据的能力但只能在单个Node节点上持久化数据不能实现跨Node节点的Pod共享数据 三、nfs nfs使用NFS服务将存储卷挂载到Pod容器的指定目录中有持久化数据的能力且也能实现跨Node节点的Pod共享数据四、PV PVC 1.PV PVK8S在指定存储设备空间中逻辑划分创建的可持久化的存储资源对象1.1创建PV的方式 手动根据配置文件创建的静态PV 通过StorageClass调用存储卷插件创建的动态PV1.2PV的四种状态 PV状态说明Available可用表示可用状态PV 被创建出来了还未被 PVC 绑定Bound已绑定表示 PV 已经被 PVC 绑定PV 与 PVC 是一对一的绑定关系Released已释放表示 PVC 被删除但是 PV 资源还未被回收Failed失败表示 PV 自动回收失败 2.PVC PVC是对PV资源对象的请求和绑定也是Pod能挂载使用的一种存储卷类型3.创建静态的PV PVC 3.1创建步骤 创建使用 静态PV 1准备好存储设备和共享目录 2手动创建PV资源配置 存储卷类型 访问模式RWO RWX ROX RWOP 存储空间大小 回收策略Retain Recycle Delete等 3创建PVC资源配置请求PV资源的访问模式必要条件必须是PV能支持的访问模式 存储空间大小默认就近选择大于等于指定大小的PV来绑定PV 4创建Pod和Pod控制器资源挂载PVC存储卷配置存储卷类型为 persistentVolumeClaim 并在容器配置中定义存储卷挂载点目录3.2创建过程 1.部署nfs服务器 通过vim /etc/exports /opt/data/ 192.168.111.0/24(rw,no_root_squash,sync) 通过exportfs -arv 在线发布2.准备pv的yaml文件 apiVersion: v1 kind: PersistentVolume ##类型为pv metadata:name: pv01 ##pv名称 spec:capacity:storage: 1Gi ##pv存储卷大小volumeMode: FilesystemaccessModes: ##访问模式- ReadWriteOnce- ReadWriteMany#persistentVolumeReclaimPolicy: Recycle#storageClassName: slownfs: ##pv持久卷的类型path: /opt/pv/v1 ## 挂载路径server: 192.168.111.40 ## nfs服务器类型3.准备pvc的yaml文件 apiVersion: v1 kind: PersistentVolumeClaim ##类型为pvc metadata:name: mypvc-1 ##pvc名称 spec:accessModes: ##访问模式- ReadWriteOncevolumeMode: Filesystemresources:requests: ##请求资源量storage: 2Gi#storageClassName: slow4.准备pod的yaml文件挂载pvc存储卷 apiVersion: v1 kind: Pod metadata:name: mypod-1 spec:containers:- name: mypod-1image: nginxvolumeMounts: ##pod的容器内存储卷挂载路径- mountPath: /var/www/htmlname: mypdvolumes:- name: mypdpersistentVolumeClaim:claimName: mypvc-1 ##指定pvc的存储卷名称 4.创建动态PV PVC 4.1创建步骤 创建使用 动态PV 1准备好存储设备和共享目录 2如果是外置存储卷插件需要先创建serviceaccount账户Pod使用的账户和做RBAC授权创建角色授予相关资源对象的操作权限再将账户和角色进行绑定使serviceaccount账户具有对PV PVC StorageClass等资源的操作权限 3创建外置存储卷插件provisioner的Pod配置中使用serviceaccount账户作为Pod的用户并设置相关环境变量参数 4创建StorageClassSC资源配置中引用存储卷插件的插件名称PROVISIONER_NAME ---------------- 以上操作是一劳永逸的以后只需要创建PVC时设置StorageClass就可以自动调用存储卷插件动态生成PV资源 ---------------- 5创建PVC资源配置中设置 StorageClass资源名称 访问模式 存储空间大小。创建PVC资源会自动创建相关的PV资源。 6创建Pod资源挂载PVC存储卷配置存储卷类型为 persistentVolumeClaim 并在容器配置中定义存储卷挂载点目录 4.2创建过程 1.部署nfs服务器 通过vim /etc/exports /opt/data/ 192.168.111.0/24(rw,no_root_squash,sync) 通过exportfs -arv 在线发布2.准备serviceaccount账户Pod使用的账户和做RBAC授权 vim nfs-client-rbac.yaml #创建 Service Account 账户用来管理 NFS Provisioner 在 k8s 集群中运行的权限 apiVersion: v1 kind: ServiceAccount metadata:name: nfs-client-provisioner --- #创建集群角色 apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata:name: nfs-client-provisioner-clusterrole rules:- apiGroups: []resources: [persistentvolumes]verbs: [get, list, watch, create, delete]- 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] --- #集群角色绑定 apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata:name: nfs-client-provisioner-clusterrolebinding subjects: - kind: ServiceAccountname: nfs-client-provisionernamespace: default roleRef:kind: ClusterRolename: nfs-client-provisioner-clusterroleapiGroup: rbac.authorization.k8s.iokubectl apply -f nfs-client-rbac.yaml3.使用 Deployment 来创建 NFS Provisioner NFS Provisioner(即 nfs-client)有两个功能一个是在 NFS 共享目录下创建挂载点(volume)另一个则是将 PV 与 NFS 的挂载点建立关联。#由于 1.20 版本启用了 selfLink所以 k8s 1.20 版本通过 nfs provisioner 动态生成pv会报错解决方法如下 vim /etc/kubernetes/manifests/kube-apiserver.yaml spec:containers:- command:- kube-apiserver- --feature-gatesRemoveSelfLinkfalse #添加这一行- --advertise-address192.168.80.20 ......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 kind: Deployment apiVersion: apps/v1 metadata:name: nfs-client-provisioner spec:replicas: 1selector:matchLabels:app: nfs-client-provisionerstrategy:type: Recreatetemplate:metadata:labels:app: nfs-client-provisionerspec:serviceAccountName: nfs-client-provisioner #指定Service Account账户containers:- name: nfs-client-provisionerimage: quay.io/external_storage/nfs-client-provisioner:latestimagePullPolicy: IfNotPresentvolumeMounts:- name: nfs-client-rootmountPath: /persistentvolumesenv:- name: PROVISIONER_NAMEvalue: nfs-storage #配置provisioner的Name确保该名称与StorageClass资源中的provisioner名称保持一致- name: NFS_SERVERvalue: stor01 #配置绑定的nfs服务器- name: NFS_PATHvalue: /opt/k8s #配置绑定的nfs服务器目录volumes: #申明nfs数据卷- name: nfs-client-rootnfs:server: stor01path: /opt/k8skubectl apply -f nfs-client-provisioner.yaml kubectl get pod NAME READY STATUS RESTARTS AGE nfs-client-provisioner-cd6ff67-sp8qd 1/1 Running 0 14s4.创建 StorageClass负责建立 PVC 并调用 NFS provisioner 进行预定的工作并让 PV 与 PVC 建立关联vim nfs-client-storageclass.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata:name: nfs-client-storageclass provisioner: nfs-storage #这里的名称要和provisioner配置文件中的环境变量PROVISIONER_NAME保持一致 parameters:archiveOnDelete: false #false表示在删除PVC时不会对数据目录进行打包存档即删除数据为ture时就会自动对数据目录进行打包存档存档文件以archived开头kubectl apply -f nfs-client-storageclass.yamlkubectl get storageclass NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE nfs-client-storageclass nfs-storage Delete Immediate false 43s5.创建pvc资源 apiVersion: v1 kind: PersistentVolumeClaim metadata:name: test-nfs-pvc spec:accessModes:- ReadWriteManystorageClassName: nfs-client-storageclassresources:requests:storage: 1Gi6.创建pod挂载pvc存储卷 apiVersion: v1 kind: Pod metadata:name: test-storageclass-pod spec:containers:- name: dongtaipvcimage: nginx:latestimagePullPolicy: IfNotPresentvolumeMounts:- name: nfs-pvcmountPath: /mntrestartPolicy: Nevervolumes:- name: nfs-pvcpersistentVolumeClaim:claimName: test-nfs-pvc piVersion: v1 kind: Pod metadata:name: test-storageclass-pod spec:containers:- name: dongtaipvcimage: nginx:latestimagePullPolicy: IfNotPresentvolumeMounts:- name: nfs-pvcmountPath: /mntrestartPolicy: Nevervolumes:- name: nfs-pvc im: claimName: test-nfs-pvc piVersion: v1 kind: Pod metadata: name: test-storageclass-pod spec: containers: name: dongtaipvc image: nginx:latest imagePullPolicy: IfNotPresent volumeMounts: name: nfs-pvc mountPath: /mnt restartPolicy: Never volumes: name: nfs-pvc
http://www.w-s-a.com/news/32976/

相关文章:

  • 合肥个人建站模板网络技术服务有限公司
  • 做网站什么公司好dw企业网站开发教程
  • 怎么做自己的个人网站宝安网站设计哪家最好
  • 浩博建设集团网站站长网站统计
  • 电商网站开发视频seo排名优化方式方法
  • 宿迁市住房城乡建设局网站wordpress纯图片主题
  • 广州建设网站 公司湖北省建设信息网官网
  • 网站建立时间查询做百度移动网站优化排
  • 网站建设和运行费用qq恢复官方网站
  • 可以免费建立网站吗免费的网络营销方式
  • 天津企业设计网站建设wordpress标题字体大小
  • 上高县城乡规划建设局网站创业项目
  • 钓鱼网站在线下载广州网站设计哪里好
  • 做阿里国际网站会有成效吗wordpress微博同步
  • 西安网站建设云速网络网站运营情况怎么写
  • 免费建网站的网站微信商城分销系统方案
  • 烟台网站seo服务友情链接有哪些展现形式
  • 什么是移动网站开发免费网站开发框架
  • 做网站 创业wordpress子菜单
  • 门户网站类型有哪些权重7以上的网站
  • 政务网站建设论文android app开发教程
  • 网站开发实训h5总结个人网站注册平台要多少钱
  • 空白网站建设wordpress高亮代码过长
  • 盐城 网站开发什么叫做门户网站
  • 广东快速做网站公司哪家好本地建wordpress
  • dedecms如何做网站贵阳seo计费管理
  • 企业网站设计一般多少钱呼和浩特最好的互联网公司
  • 黄浦专业做网站海南网站策划
  • 网站开发工程师有证书考试吗织梦cms是免费的吗
  • 电子商务网站建设需要学什么门户网站推广介绍方案