044.集群存储-StorageClass
2020-04-03 16:02:03来源:博客园 阅读 ()
044.集群存储-StorageClass
一 StoragClass
1.1 StorageClass概述
StorageClass作为对存储资源的抽象定义,对用户设置的PVC申请屏蔽后端存储的细节,一方面减少了用户对于存储资源细节的关注,另一方面减轻了管理员手工管理PV的工作,由系统自动完成PV的创建和绑定,实现了动态的资源供应。 基于StorageClass的动态资源供应模式将逐步成为云平台的标准存储配置模式。StorageClass的定义主要包括名称、后端存储的提供者(provisioner)和后端存储的相关参数配置。 StorageClass一旦被创建出来,则将无法修改。如需更改,则只能删除原StorageClass的定义重建。 示例1:定义一个名为standard的StorageClass,提供者为aws-ebs,其参数设置了一个type,值为gp2。 [root@k8smaster01 study]# vi awsclass01.yaml1 kind: StorageClass 2 apiVersion: storage.k8s.io/v1 3 metadata: 4 name: standard 5 provisioner: kubernetes.io/aws-bs 6 parameters: 7 type: gp2 8
1.2 StorageClass配置参数
- 提供者(Provisioner)
- 参数(Parameters)
1.3 常见Provisioner
- AWSEBS存储卷
1 kind: StorageClass 2 apiVersion: storage.k8s.io/v1 3 metadata: 4 name: slow 5 provisioner: kubernetes.io/aws-ebs 6 parameters: 7 type: io1 8 zone: us-east-1d 9 iopsPerGB: "10" 10参数说明如下(详细说明请参考AWSEBS文档):
- type:可选项为io1,gp2,sc1,st1,默认值为gp2。
- zone:AWSzone的名称。
- iopsPerGB:仅用于io1类型的Volume,意为每秒每GiB的I/O操作数量。
- encrypted:是否加密。
- kmsKeyId:加密时的Amazon Resource Name。
- GCEPD存储卷
1 kind: StorageClass 2 apiVersion: storage.k8s.io/v1 3 metadata: 4 name: slow 5 provisioner: kubernetes.io/gce-pd 6 parameters: 7 type: pd-standard 8 zone: us-centrall-a 9参数说明如下(详细说明请参考GCE文档):
- type:可选项为pd-standard、pd-ssd,默认值为pd-standard。
- zone:GCEzone名称。
- GlusterFS存储卷
1 apiVersion: storage.k8s.io/v1 2 kind: StorageClass 3 metadata: 4 name: slow 5 provisioner: kubernetes.io/glusterfes 6 parameters: 7 resturl: "http://127.0.0.1:8081" 8 clusterid: "xxxxxxxxxxxx" 9 restauthenabled: "true" 10 restuser: "admin" 11 secretNamespace: "default" 12 secretName: "heketi-secret" 13 gidMin: "40000" 14 gidMax: "50000" 15 volumetype: "replicate:3" 16参数说明如下(详细说明请参考GlusterFS和Heketi的文档):
- resturl:GlusterREST服务(Heketi)的URL地址,用于自动完成GlusterFSvolume的设置。
- restauthenabled:是否对GlusterREST服务启用安全机制。
- restuser:访问GlusterREST服务的用户名。
- secretNamespace和secretName:保存访问GlusterREST服务密码的Secret资源对象名。
- clusterid:GlusterFS的ClusterID。
- gidMin和gidMax:StorageClass的GID范围,用于动态资源供应时为PV设置的GID。
- volumetype:设置GlusterFS的内部Volume类型,例如replicate:3(Replicate类型,3份副本);disperse:4:2(Disperse类型,数据4份,冗余两份;“none”(Distribute类型)。
- OpenStackCinder存储卷
1 kind: StorageClass 2 apiVersion: storage.k8s.io/v1 3 metadata: 4 name: gold 5 provisioner: kubernetes.io/cinder 6 parameters: 7 type: fast 8 availability: nova 9参数说明如下。
- type:Cinder的VolumeType,默认值为空。
- availability:AvailabilityZone,默认值为空。
1.4 设置默认StorageClass
要在系统中设置一个默认的StorageClass,则首先需要启用名为DefaultStorageClass的admission controller,即在kube-apiserver的命令行参数--admission-control中增加: --admission-control-...,DefaultStorageClass [root@k8smaster01 study]# vi /etc/kubernetes/manifests/kube-apiserver.yaml1 …… 2 - --enable-admission-plugins=NodeRestriction,DefaultStorageClass 3 …… 4[root@k8smaster01 study]# systemctl restart docker kubelet 然后,在StorageClass的定义中设置一个annotation: [root@k8smaster01 study]# vi defaultclass01.yaml
1 kind: StorageClass 2 apiVersion: storage.k8s.io/v1 3 metadata: 4 name: gold 5 annotations: 6 storageclass.beta.kubernetes.io/is-default-class="true" 7 provisioner: kubernetes.io/gce-pd 8 parameters: 9 type: pd-ssd 10通过kubectl create命令创建成功后,查看StorageClass列表,可以看到名为gold的StorageClass被标记为default:
二 动态管理存储卷
2.1 glusterfs
见《附009.Kubernetes永久存储之GlusterFS独立部署》和《附010.Kubernetes永久存储之GlusterFS超融合部署》。原文链接:https://www.cnblogs.com/itzgr/p/12625522.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- keepalived 实现LVS负载均衡高可用集群(一) 2020-06-04
- corosync v1 + pacemaker高可用集群部署(二)资源配置(VIP+ 2020-05-28
- K8S集群平滑回退或升级 2020-05-21
- Linux三阶段之十一:keepalived高可用集群 2020-05-03
- Linux三阶段之三:存储服务(NFS) 2020-05-01
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash