我正在使用GKE。我已经通过kubectl启动了以下traefik部署:
https://github.com/containous/traefik/blob/master/examples/k8s/traefik-deployment.yaml
pod在kube-system名称空间上运行。 我无法插入到Pod中。
kubectl get po -n kube-system
traefik-ingress-controller-5bf599f65d-fl9gx 1/1 Running 0 30m
kubectl exec -it traefik-ingress-controller-5bf599f65d-fl9gx -n kube-system -- '\bin\bash'
rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "exec: \"\\\\bin\\\\bash\": executable file not found in $PATH"
command terminated with exit code 126
我想念什么吗? “-sh”也是如此。
答案 0 :(得分:2)
请使用反斜杠/
(您的示例中使用反斜杠),例如in
kubectl exec -it traefik-ingress-controller-5bf599f65d-fl9gx -n kube-system -- '/bin/bash'
如果仍然无法执行,请尝试使用其他外壳程序,例如
kubectl exec -it traefik-ingress-controller-5bf599f65d-fl9gx -n kube-system -- '/bin/sh'
答案 1 :(得分:1)
看来 this here 是正确的答案。您不能使用默认图像将 shell 执行到 traefik 容器中,您必须使用 alpine
一个。
答案 2 :(得分:0)
因此,显然默认的traefik映像是amd64版本。我必须使用高山版本使用以下命令将其SSH进入:
kubectl exec -it _podname_ -- sh