unable to find a keyring on /etc/ceph/ceph.client.kube.keyring,/etc/ceph/ceph.keyring
` 2、开始以为ceph出问题了,去ceph主机查看
ceph -s
ceph health
` 3、发现返回结果都是健康状态,又去检查k8s的secret
[root@master redis]# kubectl -n ceph get secrets ceph-secret -o jsonpath=‘{.data.key1}‘ | base64 --decode
AQAgaZxdyNlWHBAAJdXA8CLWCZ2R2vqr0XKgRg==
[root@master redis]# kubectl -n ceph get secrets ceph-admin-secret -o jsonpath=‘{.data.key}‘ | base64 --decode
AQBHY5xdCtScFhAAKdsJGaZtRKXDHNlkkQz7xw==
ceph auth get client.admin 2>&1 |grep "key = " |awk ‘{print $3‘} |xargs echo -n > /tmp/key
kubectl create secret generic ceph-admin-secret --from-file=/tmp/key --namespace=ceph --type=kubernetes.io/rbd
ceph auth get-key client.kubernetes > /tmp/key1
` 4、对比了secret和ceph的值,发现内容是一样的。应该也不是secret的问题,再仔细查看pod日志,提示我查看dmesage信息
[52184.040266] libceph: mon0 10.1.6.190:6789 feature set mismatch, my 106b84a842a42 < server‘s 40106b84a842a42, missing 400000000000000
[52184.044957] libceph: mon0 10.1.6.190:6789 missing required protocol features
` 5、网上查了一下内核版本和ceph的某些特性不支持,需要关闭这些特性,或者升级内核到4.5以后,而我只升级到4.4,首先尝试使用最简单的方法,在ceph主机关闭这些特性,如果还不行,就得再次升级内核,死马当活马医吧。
ceph osd crush tunables hammer
使用上面这句命令关闭特性后果然pod可以启动了。至于为什么我原来3.1的就没有报错,升级到4.4反而会报错,这个就有待研究了。其中我也把ceph所在的主机内核也给升级了,没用。
原文:https://blog.51cto.com/riverxyz/2576633