查看POD的IP地址
从外面看Pod IP地址之Kubernetes API
kubectl get pod
或者kubectl describe pod
就可以- 如果运行在容器内的进程希望获取该容器的IP,可以通过环境变量的方式来获取IP
|
|
从外面看Pod IP之docker命令
假设容器的ID是6e8147cd2f3d, 一般情况下可以通过以下命令查询容器的IP地址:
|
|
但是对于Pod中的容器, 会输出空字符串.原因是Kubernetes调用的是cni插件,而docker的网络实现靠cnm,所以会导致输出有问题.
进入容器内部看Pod IP地址
进到容器的docker命令有docker exec或docker attach,进到容器后再执行ip addr或ifconfig这类常规命令。同一个Pod内所有容器共享网络namespace
,因此随便找一个有ip或者ifconfig命令的容器就能很容易地查询到Pod IP地址。如果Pod内所有容器都不自带这些命令呢?
在我们这个场景下,进入容器网络namespace的作用等价于进入容器,而且还能使用宿主机的ip或者ifconfig命令。
假设Pod的pause容器ID是6e8147cd2f3d,首先获得该容器在宿主机上映射的PID,如下所示:
|
|
这样就可以输出pause容器的ip地址信息.
- 原文作者:lex
- 原文链接:https://blog.mineor.xyz/posts/%E6%9F%A5%E7%9C%8BPOD%E7%9A%84IP%E5%9C%B0%E5%9D%80/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。