k8s–基础–22.4–storageclass–类型–Glusterfs
1、介绍
- 当动态分配持久卷时,Gluster插件自动创建名为gluster-dynamic-的端点和 headless service。
- 在 PVC 被删除时动态端点和 headless service 会自动被删除。
1.1、案例
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: slow
provisioner: kubernetes.io/glusterfs
parameters:
resturl: "http://127.0.0.1:8081"
clusterid: "630372ccdc720a92c681fb928f27b53f"
restauthenabled: "true"
restuser: "admin"
secretNamespace: "default"
secretName: "heketi-secret"
gidMin: "40000"
gidMax: "50000"
volumetype: "replicate:3"
2、说明
2.1、resturl
- Gluster REST 服务 或者 Heketi服务 的url。
- 通用格式:
- IPaddress:Port
- Heketi可用于管理glusterfs
2.2、restauthenabled
- 是否启用对 REST服务器的身份验证。
- 如果此值为 “true”,则必须填写restuser+restuserkey或secretNamespace + secretName。
- 此选项已弃用: 当在指定restuser+restuserkey或secretNamespace + secretName时,身份验证自动被启用。
2.3、restuser
Gluster REST服务/Heketi服务 的用户。
2.4、restuserkey
- Gluster REST服务/Heketi服务 的密码
- 此参数已弃用,取而代之的是secretNamespace+secretName。
2.5、secretNamespace,secretName
- Secret 实例的标识,包含与 Gluster REST 服务交互时使用的用户密码。
- 这些参数是可选的
- secretNamespace和secretName都省略时使用空密码。
2.5.1、要提供的Secret,必须将类型设置为"kubernetes.io/glusterfs",例如以这种方式创建
kubectl create secret generic heketi-secret --type="kubernetes.io/glusterfs" --from-literal=key='opensesame' --namespace=default
官方案例
https://github.com/kubernetes/examples/tree/master/staging/persistent-volume-provisioning/glusterfs/glusterfs-secret.yaml
2.6、clusterid:630372ccdc720a92c681fb928f27b53f
- 集群的ID
- 可选参数
-
当分配卷时,Heketi 将会使用这个文件。它也可以是一个 clusterid 列表,例如:
“8452344e2becec931ece4e33c4674e4e,42982310de6c63381718ccfa6d8cf397”
2.7、gidMin,gidMax:
- storage class GID 范围的最小值和最大值。
- 在此范围(gidMin-gidMax)内的唯一值(GID)将用于动态分配卷。
- 可选参数:如果不指定,使用默认值
- 默认值:
- gidMin:2000
- gidMax:2147483647
- 参考信息
- https://access.redhat.com/documentation/en-us/red_hat_gluster_storage/3.1
2.8、volumetype
- 卷的类型及其参数可以用这个可选值进行配置。
- 如果未声明卷类型,则由分配器决定卷的类型。
2.8.1、举例
# "3" 是 replica 数量
volumetype: replicate:3
# 没有类型
volumetype: none
# "4" 是数据,"2" 是冗余数量
volumetype: disperse:4:2