gpt4 book ai didi

docker - 如何进入 CoreDNS pod kuberrnetes?

转载 作者:行者123 更新时间:2023-12-02 12:01:45 25 4
gpt4 key购买 nike

我有一个正在运行的 k8s 集群,其中包含两个 CoreDNS 副本。但是当我尝试输入 POD 的 bash 提示时,它让我陷入错误
# kubectl exec -it coredns-5644d7b6d9-285bj -n kube-system sh
error: Internal error occurred: error executing command in container: failed to exec in container: failed to start exec "94f45da89fa5493a8283888464623788ef5e832dc31e0d89e427e71d86391fd6": OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "exec: \"sh\": executable file not found in $PATH": unknown

但是我可以毫无问题地登录到其他 Pod。我尝试使用带有内核进程 ID 的 nsenter 它可以工作,但它仅适用于与网络相关的 openrations,例如,
# nsenter -t 24931 -n ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
3: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue state UP group default
link/ether 7a:70:99:aa:53:6c brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.0.2/32 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::7870:99ff:feaa:536c/64 scope link
valid_lft forever preferred_lft forever

如何使用 kubectl 进入这个 pod 并摆脱那个错误?

最佳答案

您可以按照此处的说明使用 sidecar 模式:https://support.rancher.com/hc/en-us/articles/360041568712-How-to-troubleshoot-using-the-namespace-of-a-container#sidecar-container-0-2
简而言之,这样做是为了找到一个运行 coredns pod 的节点:

kubectl -n kube-system get po -o wide | grep coredns
ssh 到这些节点之一,然后:
docker ps -a | grep coredns
将容器 ID 复制到剪贴板并运行:
ID=<paste ID here>
docker run -it --net=container:$ID --pid=container:$ID --volumes-from=$ID alpine sh
您现在将位于“sidecar”容器内,可以四处查看。 IE。
cat /etc/coredns/Corefile

关于docker - 如何进入 CoreDNS pod kuberrnetes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60666170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com