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

朝阳区手机网站设计服务o2o商城系统

朝阳区手机网站设计服务,o2o商城系统,四川建设安全监督管理局网站,网站优化的代码存储类StorageClass 一、StorageClass介绍二、安装nfs provisioner#xff0c;用于配合存储类动态生成pv2.1、创建运行nfs-provisioner需要的sa账号2.2、对sa授权2.3、安装nfs-provisioner程序 三、创建storageclass#xff0c;动态供给pv四、创建pvc#xff0c;通过storage… 存储类StorageClass 一、StorageClass介绍二、安装nfs provisioner用于配合存储类动态生成pv2.1、创建运行nfs-provisioner需要的sa账号2.2、对sa授权2.3、安装nfs-provisioner程序 三、创建storageclass动态供给pv四、创建pvc通过storageclass动态生成pv五、创建pod挂载storageclass动态生成的pvc 一、StorageClass介绍 之前介绍的PV和PVC模式都是需要先创建好PV然后定义好PVC和pv进行一对一的Bond但是如果PVC请求成千上万那么就需要创建成千上万的PV对于运维人员来说维护成本很高 Kubernetes提供一种自动创建PV的机制叫StorageClass它的作用就是创建PV的模板。k8s集群管理员通过创建storageclass可以动态生成一个存储卷pv供k8s pvc使用。 具体来说StorageClass会定义以下两部分 1、PV的属性 比如存储的大小、类型等 2、创建这种PV需要使用到的存储插件比如Ceph、NFS等 有了这两部分信息Kubernetes就能够根据用户提交的PVC找到对应的StorageClass然后Kubernetes就会调用 StorageClass声明的存储插件创建出需要的PV。 查看定义的storageclass需要的字段:kubectl explain storageclass 每个StorageClass都包含字段provisionerparameters和reclaimPolicy [rootmaster 10]# kubectl explain storageclass KIND: StorageClass VERSION: storage.k8s.io/v1 DESCRIPTION:StorageClass describes the parameters for a class of storage for whichPersistentVolumes can be dynamically provisioned.StorageClasses are non-namespaced; the name of the storage class accordingto etcd is in ObjectMeta.Name. FIELDS:allowVolumeExpansion booleanallowedTopologies []ObjectapiVersion stringkind stringmetadata ObjectmountOptions []stringparameters map[string]string # 键值对类型provisioner string -required- # 供应商reclaimPolicy string # 回收策略volumeBindingMode stringprovisioner供应商storageclass需要有一个供应者用来确定我们使用什么样的存储来创建pv常见的provisioner(https://kubernetes.io/zh/docs/concepts/storage/storage-classes/) provisioner既可以由内部供应商提供也可以由外部供应商提供如果是外部供应商可以参考https://github.com/kubernetes-incubator/external-storage/下提供的方法创建。 https://github.com/kubernetes-sigs/sig-storage-lib-external-provisioner 以NFS为例要想使用NFS我们需要一个nfs-client的自动装载程序称之为provisioner这个程序会使用我们已经配置好的NFS服务器自动创建持久卷也就是自动帮我们创建PV。 allowVolumeExpansion允许卷扩展PersistentVolume 可以配置成可扩展。将此功能设置为true时允许用户通过编辑相应的 PVC 对象来调整卷大小。当基础存储类的allowVolumeExpansion字段设置为 true 时以下类型的卷支持卷扩展。 注意此功能仅用于扩容卷不能用于缩小卷。 二、安装nfs provisioner用于配合存储类动态生成pv 将nfs-subdir-external-provisioner.tar.gz上传到工作节点node01和node02上然后手动解压。 [rootnode01 ~]# ctr -nk8s.io images import nfs-subdir-external-provisioner.tar.gz unpacking registry.cn-beijing.aliyuncs.com/mydlq/nfs-subdir-external-provisioner:v4.0.0 (sha256:69b08b256d7e9f5823cf09dece7eabf025cc60c652e4ae08201978bb2862a276)...done You have new mail in /var/spool/mail/root [rootnode02 ~]# ctr -nk8s.io images import nfs-subdir-external-provisioner.tar.gz unpacking registry.cn-beijing.aliyuncs.com/mydlq/nfs-subdir-external-provisioner:v4.0.0 (sha256:69b08b256d7e9f5823cf09dece7eabf025cc60c652e4ae08201978bb2862a276)...done You have new mail in /var/spool/mail/root2.1、创建运行nfs-provisioner需要的sa账号 [rootmaster 11]# cat serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata:name: nfs-provisioner [rootmaster 11]# kubectl apply -f serviceaccount.yaml serviceaccount/nfs-provisioner created [rootmaster 11]# kubectl get sa NAME SECRETS AGE default 0 5d13h nfs-provisioner 0 21s扩展什么是sa sa的全称是serviceaccount。 serviceaccount是为了方便Pod里面的进程调用Kubernetes API或其他外部服务而设计的。 指定了serviceaccount之后我们把pod创建出来了我们在使用这个pod时这个pod就有了我们指定的账户的权限了。 2.2、对sa授权 [rootmaster 11]# kubectl create clusterrolebinding nfs-provisioner-clusterrolebinding --clusterrolecluster-admin --serviceaccountdefault:nfs-provisioner clusterrolebinding.rbac.authorization.k8s.io/nfs-provisioner-clusterrolebinding created2.3、安装nfs-provisioner程序 [rootmaster 11]# cat /etc/exports /data/volumes 10.32.1.147/24(rw,no_root_squash) /data/volume_test/v1 10.32.1.147/24(rw,no_root_squash) /data/volume_test/v2 10.32.1.147/24(rw,no_root_squash) /data/volume_test/v3 10.32.1.147/24(rw,no_root_squash) /data/volume_test/v4 10.32.1.147/24(rw,no_root_squash) /data/volume_test/v5 10.32.1.147/24(rw,no_root_squash) /data/volume_test/v6 10.32.1.147/24(rw,no_root_squash) /data/volume_test/v7 10.32.1.147/24(rw,no_root_squash) /data/volume_test/v8 10.32.1.147/24(rw,no_root_squash) /data/volume_test/v9 10.32.1.147/24(rw,no_root_squash) /data/volume_test/v10 10.32.1.147/24(rw,no_root_squash) /data/nfs_pro 10.32.1.147/24(rw,no_root_squash) [rootmaster 11]# exportfs -arv exporting 10.32.1.147/24:/data/nfs_pro exporting 10.32.1.147/24:/data/volume_test/v10 exporting 10.32.1.147/24:/data/volume_test/v9 exporting 10.32.1.147/24:/data/volume_test/v8 exporting 10.32.1.147/24:/data/volume_test/v7 exporting 10.32.1.147/24:/data/volume_test/v6 exporting 10.32.1.147/24:/data/volume_test/v5 exporting 10.32.1.147/24:/data/volume_test/v4 exporting 10.32.1.147/24:/data/volume_test/v3 exporting 10.32.1.147/24:/data/volume_test/v2 exporting 10.32.1.147/24:/data/volume_test/v1 exporting 10.32.1.147/24:/data/volumes[rootmaster 11]# cat nfs-deployment.yaml kind: Deployment apiVersion: apps/v1 metadata:name: nfs-provisioner spec:selector:matchLabels:app: nfs-provisionerreplicas: 1strategy:type: Recreatetemplate:metadata:labels:app: nfs-provisionerspec:serviceAccount: nfs-provisionercontainers:- name: nfs-provisionerimage: registry.cn-beijing.aliyuncs.com/mydlq/nfs-subdir-external-provisioner:v4.0.0imagePullPolicy: IfNotPresentvolumeMounts:- name: nfs-client-rootmountPath: /persistentvolumesenv:- name: PROVISIONER_NAMEvalue: example.com/nfs- name: NFS_SERVERvalue: 10.32.1.147- name: NFS_PATHvalue: /data/nfs_pro/volumes:- name: nfs-client-rootnfs:server: 10.32.1.147path: /data/nfs_pro/ [rootmaster 11]# kubectl apply -f nfs-deployment.yaml deployment.apps/nfs-provisioner created [rootmaster 11]# kubectl get pods | grep nfs nfs-provisioner-d5bd78f66-56ccg 1/1 Running 0 6s三、创建storageclass动态供给pv [rootmaster 11]# cat nfs-storageclass.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata:name: nfs provisioner: example.com/nfs [rootmaster 11]# kubectl apply -f nfs-storageclass.yaml storageclass.storage.k8s.io/nfs created [rootmaster 11]# kubectl get storageclass NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE nfs example.com/nfs Delete Immediate false 22s # 显示内容如上说明storageclass创建成功了注意provisioner处写的example.com/nfs应该跟安装nfs provisioner时候的env下的PROVISIONER_NAME的value值保持一致如下 env:- name: PROVISIONER_NAMEvalue: example.com/nfs四、创建pvc通过storageclass动态生成pv [rootmaster 11]# cat claim.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata:name: test-claim1 spec:accessModes: [ReadWriteMany]resources:requests:storage: 1GistorageClassName: nfs [rootmaster 11]# kubectl apply -f claim.yaml persistentvolumeclaim/test-claim1 created # 查看是否动态生成了pvpvc是否创建成功并和pv绑定 [rootmaster 11]# kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE test-claim1 Bound pvc-6ecea632-e5ff-4ef9-99df-33638fe90a1c 1Gi RWX nfs 13s # 通过上面可以看到test-claim1的pvc已经成功创建了绑定的pv是pvc-6ecea632-e5ff-4ef9-99df-33638fe90a1c # 这个pv是由storageclass调用nfs provisioner自动生成的。步骤总结 1、供应商创建一个nfs provisioner2、创建storageclassstorageclass指定刚才创建的供应商3、创建pvc这个pvc指定storageclass 五、创建pod挂载storageclass动态生成的pvc [rootmaster 11]# cat read-pod.yaml kind: Pod apiVersion: v1 metadata:name: read-pod spec:containers:- name: read-podimage: nginximagePullPolicy: IfNotPresentvolumeMounts:- name: nfs-pvcmountPath: /usr/share/nginx/htmlrestartPolicy: Nevervolumes:- name: nfs-pvcpersistentVolumeClaim:claimName: test-claim1 [rootmaster 11]# kubectl apply -f read-pod.yaml pod/read-pod created [rootmaster 11]# kubectl get pods | grep read read-pod 1/1 Running 0 16s
http://www.huolong8.cn/news/251778/

相关文章:

  • 河南移动商城网站建设合肥网站建设需要多少钱
  • 征求网站建设意见的通知信用中国官网企业查询
  • 化妆品网站建设预算明细表中国足球世界排名
  • 兼职做网站设计中国企业网信息网
  • 影响网站加载速度免费网站最新域名
  • 网站备案就是合法的网站开发框架怎么写
  • 网站推广优化趋势宝塔搭建网站
  • 网上代理 建网站it运维外包费用标准
  • 做网站网页的软件是绿色的图标什么网站建设需求方案
  • 网站建设培训学校广州无锡网站制作的公司有哪些
  • 电影片头在线制作网站百度安装下载
  • 建设企业资质双网是哪两个网站深圳建设网站公司排名
  • 湛江市seo网站设计哪里好网站建设与推cctv-10
  • wordpress门户网站模板深圳建网站哪家公司好
  • 做网站 怎么选择公司推一把网络营销学院
  • 空间域名主机网站模板合肥网站建设优化
  • 黑龙江网站建设企业windows优化大师使用方法
  • 网站建设分金手指排名八广东上海专业网站建设公司
  • 做视频大赛推广的网站关键词都有哪些
  • 哪个建站平台较好做网站要付哪些钱
  • 直播网站建设方案网站开发语言有什么
  • 安康市城乡建设规划局 网站河南郑州网站推广优化外包
  • 免费网站开发软件有哪些基于php mysql的网站开发
  • 上杭县城乡规划建设局网站WordPress点击出现爱心
  • 完整网站开发视频教程望野诗
  • 网站自动屏蔽恶意点击在凡科上做的网站无法加载出来
  • 莆田网站建设费用家具营销策划方案
  • 电子商务网站建设定位设想自己做下载网站吗
  • 乐安网站建设外贸订单网站有哪些
  • 广东网站开发需要多少钱信息流投放平台