Résolvez les échecs de connexion et de mise à niveau des nœuds périphériques en associant les messages d'erreur à leurs causes et solutions.
Si votre problème ne figure pas dans la liste, collectez les informations de diagnostic et ouvrez un ticket.
Résolution des échecs de connexion des nœuds périphériques
Si le script de connexion au nœud échoue, identifiez votre message d'erreur ci-dessous.
| Message d'erreur | Cause | Solution |
|---|---|---|
The os XXX unsupport |
Version du système d'exploitation non prise en charge. | Consultez la rubrique Ajout d'un nœud périphérique pour connaître les versions de système d'exploitation prises en charge. |
Invalid nodeName |
Nom de nœud incorrect. | Utilisez un nom qui : ne contient que des lettres minuscules, des traits d'union (-) et des points (.) ; comporte entre 1 et 253 caractères ; ne commence pas par localhost. |
Node route overlaps with service cidr |
La route du nœud entre en conflit avec le bloc CIDR des pods ou le bloc CIDR du service. | Recréez le cluster avec des blocs CIDR pour les pods et les services qui n'entrent pas en conflit avec l'adresse NameServer ou la route du nœud. |
response error msg: TOKEN_EXPIRED |
Jeton de connexion expiré. | Générez un nouveau script de connexion. Vérifiez que l'horloge système du nœud est exacte. |
A node named XXX is already exist in the cluster |
Nom de nœud dupliqué dans le cluster. | Supprimez le nœud dupliqué, puis réexécutez le script de connexion. |
error run phase join-node: failed to get cluster info: failed to get cluster-info configmap, Get "https://xx.xxx.xx.xx:6443/api/v1/namespaces/kube-public/configmaps/cluster-info": dial tcp xx.xxx.xx.xx:6443: i/o timeout |
edgeadm n'a pas pu atteindre le serveur API. | edgeadm se connecte au serveur API par adresse IP. Vérifiez si les règles de liste de contrôle d'accès (ACL) sur l'instance Server Load Balancer (SLB) devant le serveur API bloquent l'adresse IP du nœud. |
error run phase join-node: Install edge-hub failed: Copy file /tmp/edge-hub to /usr/bin/edge-hub fail: open /usr/bin/edge-hub: text file busy | 40009 | 40009 |
Un binaire edge-hub existe déjà sur le nœud. | Exécutez edgeadm reset, puis réexécutez le script de connexion. |
error run phase post-check: timed out waiting for the condition |
Échec du démarrage des composants système. | 1. Téléchargez la dernière version d'edgeadm, exécutez edgeadm reset et réexécutez le script de connexion. 2. Vérifiez que le nœud peut atteindre tous les endpoints publics requis — consultez la rubrique Configuration des endpoints et du routage IP pour les nœuds périphériques. 3. Si le problème persiste, collectez les informations de diagnostic et ouvrez un ticket. |
Résolution des échecs de mise à niveau des nœuds périphériques
Lorsque vous mettez à jour un pool de nœuds périphériques, une mise à niveau réussie renvoie le message This node has been upgraded successfully. Dans le cas contraire, identifiez votre erreur ci-dessous.
| Message d'erreur | Cause | Solution |
|---|---|---|
edgeadm version xxxx does not match cluster version |
La version d'edgeadm ne correspond pas à la version du cluster. | 1. Vérifiez que le plan de contrôle est mis à niveau. 2. Vérifiez que TARGET_CLUSTER_VERSION est correct. |
node has already been upgraded to xxx |
Le nœud est déjà à la version cible. | Si certains composants n'ont pas été mis à niveau, conservez les journaux et ouvrez un ticket. |
kubelet target version xxxx does not match cluster version xxxx |
La version de kubelet ne correspond pas à la version du plan de contrôle. | Si kubelet-version est spécifié, vérifiez qu'il correspond à la version du plan de contrôle. Sinon, ouvrez un ticket. |
Parameter currentVersion cann't null |
Version obsolète d'edgeadm. | Téléchargez la dernière version d'edgeadm. Chemins de mise à niveau valides : Kubernetes 1.18 → 1,20 et 1,20 → 1,22. |
|
|
Échec de la mise à niveau ; restauration automatique réussie. L'état du nœud n'est pas affecté. | Conservez les journaux et ouvrez un ticket. |
|
|
Échec de la mise à niveau et de la restauration. L'état du nœud est affecté. | Conservez les journaux et ouvrez un ticket. |
Collecte des informations de diagnostic du nœud
Exécutez ce script sur un nœud périphérique anormal pour collecter les informations de diagnostic.
Connectez-vous au nœud périphérique anormal.
-
Téléchargez le script de diagnostic.
curl -o /usr/local/bin/diagnose_edge_node.sh https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/public/diagnose/diagnose_k8s.sh -
Rendez le script exécutable.
chmod u+x /usr/local/bin/diagnose_edge_node.sh -
Accédez au répertoire du script.
cd /usr/local/bin/ -
Exécutez le script de diagnostic.
./diagnose_edge_node.shChaque exécution génère une archive unique. Exemple de sortie :
+ echo 'please get diagnose_1578310147.tar.gz for diagnostics' please get diagnose_1578310147.tar.gz for diagnostics + echo 'Submit the file named diagnose_1578310147.tar.gz to request technical support.' Submit the file named diagnose_1578310147.tar.gz to request technical support. -
Vérifiez que l'archive existe.
ll
Joignez le fichier .tar.gz lorsque vous ouvrez un ticket.