- 创建sc
[root@k8smaster01 StorageClass]# cat heketi-storageclass.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: glusterfs
namespace: kube-system
parameters:
resturl: "http://10.0.1.201:48080" #heketi的地址
clusterid: "ac3478f69cc73ee7d3607bccef0c2fcb" #在heketi节点使用heketi-cli cluster list命令返回的集群id
restauthenabled: "true"
restuser: "admin"
secretName: "heketi-secret"
secretNamespace: "kube-system"
volumetype: "none" # 分布卷模式 另外还有"replicate:3" 副本模式
provisioner: kubernetes.io/glusterfs
reclaimPolicy: Delete # 删除pvc后清除存储
volumeBindingMode: Immediate
allowVolumeExpansion: true # 允许动态扩容
- 创建秘钥
[root@k8smaster01 StorageClass]# cat heketi_secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: heketi-secret
namespace: kube-system
data:
key: YWRtaW4xMjM0NQ== # echo -n "admin12345" | base64 转换密码
type: kubernetes.io/glusterfs
3.创建pv
[root@k8smaster01 StorageClass]# cat heketi-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: heketi-pvc
annotations:
volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/glusterfs
spec:
storageClassName: "glusterfs"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi