Soy nuevo en k8 y estoy aprendiendo cómo funciona el DNS dentro de un clúster k8. Puedo obtener el contenido de /etc/resolv.conf de un pod aleatorio en el espacio de nombres predeterminado, pero no puedo obtener el contenido de /etc/resolv.conf de coredns pod en el espacio de nombres kube-system .
$>kubectl exec kubia-manual-v2 -- cat /etc/resolv.conf Salida: nameserver 10.96.0.10
$>kubectl exec coredns-74ff55c5b-c8dk6 --namespace kube-system -- cat /etc/resolv.confProducción:
OCI runtime exec failed: exec failed: container_linux.go:370: starting container process caused: exec: "cat": executable file not found in $PATH: unknown command terminated with exit code 126 Parece que el binario del sistema cat no está presente en $PATH . Entonces, quería saber cómo puedo obtener el contenido de /etc/resol.conf de coredns pod.
Coredns está usando scratch como la capa base que ejecuta su binario coredns. Puede ver el Dockerfile aquí como referencia .
Puede seguir las instrucciones en esta publicación SO para copiar el cuadro ocupado en su contenedor de coredns y eso le dará la posibilidad de jugar con él. Tenga en cuenta que probablemente tendrá que hacer ssh en el nodo k8s que ejecuta este contenedor para que esto funcione.