28.4. Dépannage de la configuration du réseau de nœuds
Si la configuration du réseau de nœuds rencontre un problème, la politique est automatiquement annulée et les actes signalent un échec. Il s'agit notamment des problèmes suivants
- La configuration n'est pas appliquée sur l'hôte.
- L'hôte perd la connexion à la passerelle par défaut.
- L'hôte perd la connexion avec le serveur API.
28.4.1. Dépannage d'une configuration incorrecte de la politique de configuration du réseau de nœuds Copier lienLien copié sur presse-papiers!
Vous pouvez appliquer des modifications à la configuration du réseau de nœuds à l'ensemble de votre cluster en appliquant une stratégie de configuration du réseau de nœuds. Si vous appliquez une configuration incorrecte, vous pouvez utiliser l'exemple suivant pour dépanner et corriger la stratégie de réseau de nœuds défaillante.
Dans cet exemple, une stratégie de pont Linux est appliquée à un exemple de cluster comprenant trois nœuds de plan de contrôle et trois nœuds de calcul. La stratégie n'est pas appliquée car elle fait référence à une interface incorrecte. Pour trouver l'erreur, examinez les ressources NMState disponibles. Vous pouvez ensuite mettre à jour la stratégie avec la configuration correcte.
Procédure
Créez une politique et appliquez-la à votre cluster. L'exemple suivant crée un pont simple sur l'interface
ens01
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f ens01-bridge-testfail.yaml
$ oc apply -f ens01-bridge-testfail.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
nodenetworkconfigurationpolicy.nmstate.io/ens01-bridge-testfail created
nodenetworkconfigurationpolicy.nmstate.io/ens01-bridge-testfail created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez l'état de la politique en exécutant la commande suivante :
oc get nncp
$ oc get nncp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Le résultat montre que la politique a échoué :
Exemple de sortie
NAME STATUS ens01-bridge-testfail FailedToConfigure
NAME STATUS ens01-bridge-testfail FailedToConfigure
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Toutefois, l'état de la politique n'indique pas à lui seul si elle a échoué sur tous les nœuds ou sur un sous-ensemble de nœuds.
Répertoriez les éléments de configuration du réseau des nœuds pour voir si la stratégie a réussi sur l'un d'entre eux. Si la stratégie n'a échoué que pour un sous-ensemble de nœuds, cela signifie que le problème est lié à une configuration de nœud spécifique. Si la stratégie a échoué sur tous les nœuds, cela suggère que le problème est lié à la stratégie.
oc get nnce
$ oc get nnce
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Le résultat montre que la politique a échoué sur tous les nœuds :
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Affichez l'une des exécutions qui a échoué et regardez la traceback. La commande suivante utilise l'outil de sortie
jsonpath
pour filtrer la sortie :oc get nnce compute-1.ens01-bridge-testfail -o jsonpath='{.status.conditions[?(@.type=="Failing")].message}'
$ oc get nnce compute-1.ens01-bridge-testfail -o jsonpath='{.status.conditions[?(@.type=="Failing")].message}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cette commande renvoie une large traceback qui a été éditée pour des raisons de concision :
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Le site
NmstateVerificationError
répertorie la configuration de la politiquedesired
, la configurationcurrent
de la politique sur le nœud, et le sitedifference
met en évidence les paramètres qui ne correspondent pas. Dans cet exemple, leport
est inclus dans ledifference
, ce qui suggère que le problème vient de la configuration du port dans la politique.Pour vous assurer que la stratégie est correctement configurée, affichez la configuration du réseau pour un ou tous les nœuds en demandant l'objet
NodeNetworkState
. La commande suivante renvoie la configuration du réseau pour le nœudcontrol-plane-1
:oc get nns control-plane-1 -o yaml
$ oc get nns control-plane-1 -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow La sortie montre que le nom de l'interface sur les nœuds est
ens1
mais que la stratégie qui a échoué utilise incorrectementens01
:Exemple de sortie
- ipv4: ... name: ens1 state: up type: ethernet
- ipv4: ... name: ens1 state: up type: ethernet
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Corrigez l'erreur en modifiant la politique existante :
oc edit nncp ens01-bridge-testfail
$ oc edit nncp ens01-bridge-testfail
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ... port: - name: ens1
... port: - name: ens1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Enregistrez la politique pour appliquer la correction.
Vérifiez l'état de la politique pour vous assurer qu'elle a été mise à jour avec succès :
oc get nncp
$ oc get nncp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME STATUS ens01-bridge-testfail SuccessfullyConfigured
NAME STATUS ens01-bridge-testfail SuccessfullyConfigured
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
La politique mise à jour est configurée avec succès sur tous les nœuds du cluster.