Les pods de nœud CSM PowerFlex sont bloqués à init :0/2
Summary: Les pods de nœud PowerFlex des modules de stockage de conteneurs (CSM) sont bloqués à init :0/2 après le redémarrage des hôtes en raison de certaines modifications qui leur ont été appliquées. ...
Symptoms
Tous les pods de nœud PowerFlex sont bloqués à init:0/2 et erreur signalée "Warning FailedMount 8s (x6 over 23s) kubelet MountVolume.SetUp failed for volume "scaleio-path-bin" : mkdir /bin/emc: read-only file system " dans la description du pod.
Le problème s’est produit avec CSM Operator 1.9 et 1.8.1 avec le pilote CSI (Container Storage Interface) pour PowerFlex 2.13.1 et 2.14.
Cause
La cause première de ce problème est que l’opérateur CSM ne parvient pas à déterminer s’il s’exécute dans un environnement OpenShift lors de l’initialisation. Il met en cache ces informations pour une utilisation ultérieure. Il est probable qu’au moment du démarrage de l’opérateur, la commande suivante n’ait pas renvoyé le résultat attendu :
oc get --raw /apis | jq | grep "security.openshift.io"
Cela donne à penser que l' security.openshift.io Le groupe API (Application Programming Interface) n’était peut-être pas disponible à ce moment-là.
Dans le journal de l’opérateur, si vous voyez [isOpenShift err false], cela signifie que l’opérateur ne parvient pas à déterminer l’environnement OpenShift.
2025-06-17T08:45:38.167Z INFO workspace/main.go:99 isOpenShift err false {"TraceId": "main"}2025-06-17T08:45:38.168Z INFO workspace/main.go:105 Kubernetes environment {"TraceId": "main"}
Le message de journal correct pour déterminer l’environnement OpenShift est le suivant :
2025-06-19T00:03:14.913Z INFO workspace/main.go:138 Openshift environment {"TraceId": "main"}
Resolution
- Exécutez manuellement la commande suivante :
oc get --raw /apis | jq | grep "security.openshift.io"
and
oc auth can-i get /apis/security.openshift.io --as=system:serviceaccount:dell-csm-operator:dell-csm-operator-manager-service-account
- Le résultat attendu est
# oc get --raw /apis | jq | grep "security.openshift.io" "name": "security.openshift.io", "groupVersion": "security.openshift.io/v1", "groupVersion": "security.openshift.io/v1",
# oc auth can-i get /apis/security.openshift.io --as=system:serviceaccount:dell-csm-operator:dell-csm-operator-manager-service-accountyes
3. Si vous voyez la sortie ci-dessus, redémarrez l’opérateur CSM :
oc delete pod dell-csm-operator-controller-manager-xxx-xxx -n openshift-operators
4. Si le résultat n’est pas le même que ci-dessus, demandez au client de contacter le support Red Hat pour une vérification plus approfondie.