1
votes

Comment ssh dans un pod Traefik?

J'utilise GKE. J'ai lancé le déploiement traefik suivant via kubectl:

https://github.com/containous /traefik/blob/master/examples/k8s/traefik-deployment.yaml

Le pod s'exécute sur l'espace de noms kube-system. Je ne parviens pas à ssh dans le pod.

kubectl get po -n kube-system traefik-ingress-controller-5bf599f65d-fl9gx 1/1 Course 0 30m

kubectl exec -it traefik-ingress-controller-5bf599f65d-fl9gx -n kube-system - '\ bin \ bash' erreur rpc: code = 2 desc = oci erreur d'exécution: échec de l'exécutable: container_linux.go: 247: le démarrage du processus du conteneur a provoqué "exec: \" \\\\ bin \\\\ bash \ ": fichier exécutable introuvable dans $ PATH " commande terminée par le code de sortie 126

Est-ce que je manque quelque chose? La même chose pour «- sh» aussi.


0 commentaires

3 Réponses :


1
votes

utilisez plutôt une barre oblique / (votre exemple a une barre oblique inverse) comme dans

kubectl exec -it traefik-ingress-controller-5bf599f65d-fl9gx -n kube-system -- '/bin/sh'

Si cela ne fonctionne toujours pas, essayez un autre shell tel que

kubectl exec -it traefik-ingress-controller-5bf599f65d-fl9gx -n kube-system -- '/bin/bash'


6 commentaires

Oui. kubectl exec -it traefik-ingress-controller-7fc5d6f569-tlr4t -n kube-system - '/ bin / sh' rpc error: code = 2 desc = oci runtime error: exec échoué: container_linux.go: 247: démarrage du processus de conteneur a provoqué la commande "exec: \" / bin / sh \ ": stat / bin / sh: aucun fichier ou répertoire de ce type" s'est terminée par le code de sortie 126


Trouvez-vous un shell avec - 'ls / bin /' ?


J'obtiens l'erreur suivante: erreur rpc: code = 2 desc = oci erreur d'exécution: exec a échoué: container_linux.go: 247: démarrage du processus de conteneur a provoqué "exec: \" ls / bin / \ ": stat ls / bin /: non tel fichier ou répertoire "


Désolé, je ne connais pas cette image particulière. Existe-t-il des images basées sur linux alpin? Est-ce qu'au moins - 'ls /' produit quelque chose?


Non. Même - «ls /» ne fait rien. Même moi, j'avais essayé tout cela avant et je n'ai trouvé aucune solution. Il me manque probablement quelque chose d'insignifiant. Pas certain. Merci de votre aide.


Aucune de ces commandes ne fonctionne pour les pods Traefik.



1
votes

Donc, apparemment, l'image traefik par défaut est une version amd64. J'ai dû utiliser la version alpine pour y ssh en utilisant: kubectl exec -it _podname_ - sh


1 commentaires

J'ai essayé cette solution, mais cela n'a pas fonctionné. Nous obtenons l'erreur suivante - "Échec de l'exécution OCI: échec de l'exéc: container_linux.go: 345: le démarrage du processus de conteneur a provoqué" exec: \ "sh \": fichier exécutable introuvable dans $ PATH ": commande inconnue terminée avec le code de sortie 126



0
votes

Il semble que ici est la bonne réponse. Vous ne pouvez pas exécuter un shell dans le conteneur traefik en utilisant l'image par défaut, vous devez utiliser celle alpine .


0 commentaires