MountVolume.SetUp failed for volume "rook-ceph-crash-collector-keyring" : secret "rook-ceph-crash-collector-keyring" not found

9/30/2020

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

-- tarek salem
ceph
devops
kubernetes
rook-storage

1 Answer

10/13/2020

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.

-- Wytrzymały Wiktor
Source: StackOverflow