gpt4 book ai didi

kubernetes - 在 K8s 中调试 Alpine 图像 : No `netstat` , 没有 `ip` ,没有 `apk`

转载 作者:行者123 更新时间:2023-12-05 08:45:57 26 4
gpt4 key购买 nike

我想调试我的 Kubernetes 集群中的一个容器。

但是没有netstat,没有ip,也没有apk

有没有办法升级这个镜像,以便安装常用工具?

在本例中,它是 K8s 1.23 集群中的 nginx 容器镜像。

最佳答案

Alpine 是图像的精简版,以减少占用空间。因此,预计会缺少这些工具。虽然自 Kubernetes 1.23,您可以使用 kubectl debug 命令将调试 pod 附加到主题 pod。语法:

kubectl debug -it <POD_TO_DEBUG> --image=ubuntu --target=<CONTAINER_TO_DEBUG> --share-processes

例子:在下面的示例中,ubuntu 容器附加到 Nginx-alpine pod,需要调试。另请注意,ps -eaf 输出显示 nginx 进程正在运行,cat/etc/os-release 显示 ubuntu 正在运行。指示过程在两个容器之间共享/可见。

ps@kube-master:~$ kubectl debug -it nginx --image=ubuntu --target=nginx --share-processes
Targeting container "nginx". If you don't see processes from this container, the container runtime doesn't support this feature.
Defaulting debug container name to debugger-2pgtt.
If you don't see a command prompt, try pressing enter.
root@nginx:/# ps -eaf
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 19:50 ? 00:00:00 nginx: master process nginx -g daemon off;
101 33 1 0 19:50 ? 00:00:00 nginx: worker process
101 34 1 0 19:50 ? 00:00:00 nginx: worker process
101 35 1 0 19:50 ? 00:00:00 nginx: worker process
101 36 1 0 19:50 ? 00:00:00 nginx: worker process
root 248 0 1 20:00 pts/0 00:00:00 bash
root 258 248 0 20:00 pts/0 00:00:00 ps -eaf
root@nginx:/#

如此处所示,使用 ubuntu 进行调试,这为我们提供了各种工具:

root@nginx:/# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
root@nginx:/#

如果需要在您的集群中启用临时容器,那么您可以通过功能门启用它,如所述here .

关于kubernetes - 在 K8s 中调试 Alpine 图像 : No `netstat` , 没有 `ip` ,没有 `apk`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70868709/

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