I am trying to configure ceph on kubernetes cluster using rook, I have run the following commands:
kubectl apply -f common.yaml
kubectl apply -f operator.yaml
kubectl apply -f cluster.yaml
I have three worker nodes with atached volumes and on master, all the created pods are running except the rook-ceph-crashcollector pods for the three nodes, when I describe these pods I get this message
MountVolume.SetUp failed for volume "rook-ceph-crash-collector-keyring" : secret "rook-ceph-crash-collector-keyring" not found
However all the nodes are running and working
It is hard to exactly tell what might be the cause of this but there are few possibilities:
Cluster networking problem between nodes
Some possible leftover sockets in the /var/lib/kubelet
directory related to rook ceph.
A bug when connecting to an external Ceph cluster.
In order to fix your issue you can:
Use Flannel and make sure it is using the right interface. Check the kube-flannel.yml
file and see if it uses the --iface=
option. Or alternatively try to use Calico.
Clear the ./var/lib/rook/
, ./var/lib/kubelet/plugins/
and ./var/lib/kubelet/plugins_registry/
directories and reinstall the rook service.
Create the rook-ceph-crash-collector-keyring
secret manually by executing: kubectl -n rook-ceph create secret generic rook-ceph-crash-collector-keyring
.