0
votes

Impossible de mettre à niveau la connexion: POD n'existe pas

J'ai une erreur lorsque je veux accéder à My Pod:

Erreur: impossible de mettre à niveau la connexion: POD n'existe pas

C'est un cluster avec 3 nœuds , en dessous de certains détails. Merci d'avance xxx


9 commentaires

Pouvez-vous formater la question à l'aide du code pour le rendre lisible, plz?


Dans mon environnement, je suis capable de se connecter parfaitement au nginx Pod sans problème de la même commande ubuntu @ cluster-master: ~ $ kubectl exécutant -it nginx - / bin / bash root @ nginx: / # date de la date du mardi 7 janv. 14:27:57 UTC 2020


Kube API Server des journaux?


Pouvez-vous vous connecter à votre POD lorsque vous êtes sur le même noeud?


Quel plugin CNI fonctionnez-vous? Pouvez-vous énumérer les pods dans l'espace de noms de Kube-System?


J'ai pu reproduire l'erreur sur mon cluster où je n'attends pas que le conteneur dans la pod soit prêt et fire une commande EXEC .. Mais une fois que la commande est prête, la commande EXED fonctionne parfaitement bien vers le conteneur ubuntu @ DLV-K8S-Cluster-Master: ~ $ kubectl Run Nginx --Image = Nginx --Restart = JAMAIS ------------------------------ Créé --------------------------- Ubuntu @ dlv-k8s-cluster-master: ~ $ kubectl exécudique -it nginx - / bin / Erreur Bash: Impossible de mettre à niveau la connexion: conteneur non trouvé ("nginx") `` `` `< Pouvez-vous confirmer si vous êtes capable de reproduire le problème de manière cohérente


@ D.T Je reproduit le problème de manière cohérente.


Je peux accéder au conteneur avec Docker EXE Docker Exec -it 6B50237Afc6b / bin / bash


Je peux voir que tous vos nœuds ont à la même adresse IP. Ce n'est pas correct. Pouvez-vous répertorier vos pods système à l'aide de kubectl obtenir des pods --all -all-names espaces . Quel s votre environnement? Avez-vous créé ce cluster en utilisant kubeadm`? Où exécutez-vous ces machines?


3 Réponses :


-2
votes

J'utilise ci-dessous la commande pour entrer dans une goussette. xxx

note -i et -t Le drapeau a une place sur la commande.

Si vous avez une gousse de conteneur multi-conteneurs, vous devez passer le nom du conteneur avec drapeau -c ou par défaut, connectez-vous au premier conteneur dans POD. < Pré> xxx

renvoyer la section de l'aide de la commande kubectl exécuté --Help


1 commentaires

Comme indiqué sur @acid_fuji, pouvez-vous confirmer que votre étape de création de cluster est correcte ou non. NODE MASTER et WEWER OUTERNAIRE NOINT à la même adresse IP ... Pouvez-vous essayer de rapprocher un nouveau POD NGinx sur Master en utilisant la tolérance de votre Master Node .. Trouvez-le en utilisant >> $ kubectl Décrivez node kubm | grep -i souillure devrait résulter de la toumée: nœud-role.kubernetes.io/master:noschedule .... alors juste pour le test Ajoutez la tolérance à la nouvelle-pod au moment de la création. Il atterrit sur le nœud principal et vérifiez si vous pouvez ouvrir une session interactive exece à celle-ci ou toujours même.



0
votes

Le 10.0.2.15 Adresse IP est la valeur par défaut de VirtualBox NAT

Si vous déployez un VM à l'aide d'un VagrantFile , votre adaptateur eth0 utilisera le 10.0.2.15 IP Adaptateur et l'adaptateur ETH1 est attribué une autre adresse IP.

k8s utilise l'adaptateur ETH0 sur les paquets d'itinéraire entre les pods.


0 commentaires

1
votes

J'ai eu le même problème à exécuter un cluster avec Vagrant et virtualbox la première fois.

Ajout kubelet_extra_args = - nœud-ip = xxxx xxxx est votre adresse IP de votre VM dans / etc / par défaut / kubelet (Ceci peut Faites partie du script de provisionnement par exemple), puis de redémarrage de kubelet ( redémarrage SystemCtL Kubelet ) corrige les problèmes.

Ceci est le moyen recommandé d'ajouter des arguments d'exécution supplémentaires à kubelet comme vous pouvez le voir dans /etc/systemd/system/kubelet.service.d/10-kubeadm.conf . Sinon, vous pouvez également modifier le fichier kubelet configuration sous /etc/kubernettes/kubelet.conf


0 commentaires