问题描述
使用Ceph v1.14.10,在内部k8s 1.16上运行Rook v1.3.8。经过10天没有任何麻烦之后,我们决定排干一些节点,然后,所有移动的吊舱不再能够附着到其PV,看起来Ceph群集已损坏:
我的ConfigMap rook-ceph-mon-endpoints
引用了2个缺少的单连IP:
csi-cluster-config-json: '[{"clusterID":"rook-ceph","monitors":["10.115.0.129:6789","10.115.0.4:6789","10.115.0.132:6789"]}]
但是
kubectl -n rook-ceph get pod -l app=rook-ceph-mon -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READInesS GATES
rook-ceph-mon-e-56b849775-4g5wg 1/1 Running 0 6h42m 10.115.0.2 XXXX <none> <none>
rook-ceph-mon-h-fc486fb5c-8mvng 1/1 Running 0 6h42m 10.115.0.134 XXXX <none> <none>
rook-ceph-mon-i-65666fcff4-4ft49 1/1 Running 0 30h 10.115.0.132 XXXX <none> <none>
是正常现象还是必须执行某种“对帐”任务才能使用新的mon pod IP更新CM?
(可能与https://github.com/rook/rook/issues/2262相关)
我必须手动更新:
解决方法
正如@travisn所说:
操作员拥有更新该configmap和密钥的权限。除非出现https://rook.github.io/docs/rook/v1.4/ceph-disaster-recovery.html中所述的某些灾难恢复情况,否则不要手动更新它们。