Как попасть в CoreDNS под кубернетес? - PullRequest
0 голосов
/ 13 марта 2020

У меня работает кластер k8s с двумя репликами CoreDNS. Но когда я пытаюсь ввести приглашение bash POD, оно выдает ошибку ниже

# 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

Но я могу войти в другие модули без каких-либо проблем. Я пытался с nsenter с идентификатором процесса ядра, он работает, но он работает только для сетевых открытий, таких как,

# 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 и избавиться от этой ошибки?

1 Ответ

1 голос
/ 13 марта 2020

Если вы пытаетесь проверить Corefile, вы можете запустить ниже

kubectl get cm coredns -n kube-system -o yaml
...