在 Kubernetes 管理中,有时需要深入到容器的网络命名空间进行网络调试或排查问题。但如果容器内没有相关命令工具,也无法安装,则需要再宿主机进行网络调试。本文将介绍一种通过 kubectl exec 命令结合 Docker 命令链来获取容器的网络命名空间的方法。 步骤一:获取 Pod 的容器 ID 首先,我们需要获取目标 Pod 中的容器 ID。可以通过 kubectl 命令获取指定 Pod 的容器 ID。 1kubectl get pod <POD_NAME> -n <namespace> -o …
阅读更多现象 最近有一台设备上部署的容器服务无法从宿主机之外的节点进行访问。 分析 要定位该问题首先要确认以下几个事情: 1. 服务是否正常启动 2. 确认容器的网络模式 3. 容器如何与外面的节点通讯 4. 数据包在设备上实际流转 定位过程 确认服务是否正常 查看容器运行是否正常: 1 2CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3cfde73945bf6 ***:1.0.7 "/bin/sh -c /opt/boo…" 27 hours ago Up 27 hours 0.0.0.0:7788->7788/tcp *** 4 查看服务运行是否正常: …
阅读更多