创建部署问题时,请参考下面模板:
操作系统信息
虚拟机:CentOS7.6.1810,4C,16G内存
Kubernetes版本信息
kubernetes版本:1.20.4;多节点;
KubeSphere版本信息
kk版本:v3.1.0;
采用在线安装
glusterfs版本
glusterfs版本:9.2
问题是什么
在创建heketi-secret时

但是在kubernets官方版文档中说明所提供的 Secret 必须将类型设置为 “kubernetes.io/glusterfs”(参考地址https://kubernetes.io/zh/docs/concepts/storage/storage-classes/);
问题1:在kubesphere配置secret时没有kubernetes.io/glusterfs的选项。
然后我使用kubectl手动创建secret,配置文件如下:
kind: Secret
apiVersion: v1
metadata:
name: heketi-secret
namespace: default
data:
key: ZG91bWkxLnEK
type: kubernetes.io/glusterfs
接着创建存储类型:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: glusterfs
annotations:
kubectl.kubernetes.io/last-applied-configuration: >
{"apiVersion":"storage.k8s.io/v1beta1","kind":"StorageClass","metadata":{"annotations":{},"name":"glusterfs"},"parameters":{"clusterid":"5c98df23b1fdd5cca0957a6339098666","gidMax":"50000","gidMin":"40000","restauthenabled":"true","resturl":"http://10.216.91.160:8080","restuser":"admin","secretName":"heketi-secret","secretNamespace":"default","volumetype":"none"},"provisioner":"kubernetes.io/glusterfs"}
storageclass.kubesphere.io/support-snapshot: 'false'
provisioner: kubernetes.io/glusterfs
parameters:
clusterid: 5c98df23b1fdd5cca0957a6339098666
gidMax: '50000'
gidMin: '40000'
restauthenabled: 'true'
resturl: 'http://10.216.91.160:8080'
restuser: admin
secretName: heketi-secret
secretNamespace: default
volumetype: none
reclaimPolicy: Delete
volumeBindingMode: Immediate
最后创建存储卷
yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: glusterfs-mysql1
namespace: default
annotations:
kubectl.kubernetes.io/last-applied-configuration: >
{"apiVersion":"v1","kind":"PersistentVolumeClaim","metadata":{"annotations":{"volume.beta.kubernetes.io/storage-class":"glusterfs"},"name":"glusterfs-mysql1","namespace":"default"},"spec":{"accessModes":["ReadWriteMany"],"resources":{"requests":{"storage":"2Gi"}}}}
volume.beta.kubernetes.io/storage-class: glusterfs
volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/glusterfs
finalizers:
- kubernetes.io/pvc-protection
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 2Gi
volumeMode: Filesystem


报错信息:
Failed to provision volume with StorageClass “glusterfs”: failed to create volume: failed to create volume: see kube-controller-manager.log for details
如果使用kubesphere 提供的secret类型,则pvc报错信息为:failed to get secret default/heketi-secret: cannot get secret of type kubernetes.io/glusterfs