在KubeSphere2.1.1的1个master和2个node节点的安装中,存储使用的是glusterfs集群,后因存储空间不足导致在common.yaml中需要更新一个clusterid的集群号,结果在安装过程中报以下错误:
TASK [plugins/GlusterFS : GlusterFS Provisioner | Creating StorageClass] ****************************************************************************************************
Thursday 14 May 2020 09:54:59 +0800 (0:00:00.299) 0:01:01.665 **********
fatal: [k8sphere01]: FAILED! => {
“changed”: true,
“cmd”: [
“/usr/local/bin/kubectl”,
“apply”,
“-f”,
“/etc/kubernetes/addons/glusterfs/glusterfs-provisioner-sc.yml”
],
“delta”: “0:00:00.267811″,
“end”: “2020-05-14 09:54:59.821522”,
“failed_when_result”: true,
“rc”: 1,
“start”: “2020-05-14 09:54:59.553711”
}

STDERR:

The StorageClass “glusterfs” is invalid: parameters: Forbidden: updates to parameters are forbidden.

MSG:

non-zero return code

请问应该怎么解决这个错误问题?

你好,可以参考https://stackoverflow.com/questions/56035913/how-can-i-safely-change-resturl-for-glusterfs-storage-class-on-my-kubernetes-clu

    经过仔细分析,很明显KubeSphere2.1.1在安装过程中使用了缓存,缓存中始终是旧的数据,而没有获取修改的新数据,请问题这个glusterfs的clusterid值的旧数据如何更新为新的数据。
    如下图:
    这个是common.yaml中新的glusterfs_provisioner_clusterid数据
    #glusterfs_provisioner_resturl: SHOULD_BE_REPLACED

    e.g. glusterfs_provisioner_clusterid: 6a6792ed25405eaa6302da99f2f5e24b

    glusterfs_provisioner_clusterid: 841b5d4e6ebf75691a81d65aa4fddd3c

    再执行:
     #kubectl edit sc

    这个clusterid还是旧的数据

    正是这个原因,导致始终报这个错误:
    [root@k8sphere01 conf]# kubectl apply -f /etc/kubernetes/addons/glusterfs/glusterfs-provisioner-sc.yml
    The StorageClass “glusterfs” is invalid: parameters: Forbidden: updates to parameters are forbidden.
    [root@k8sphere01 conf]#

    有啥办法能解决这个问题