linux中Kubernetes Pod怎么获取IP地址
Kubernetes Pod中的容器可以通过两种方式获取IP地址:
1. 通过容器内部的网络设备获取
2. 通过Kubernetes的Service机制获取
1. 通过容器内部的网络设备获取
容器内部的网络设备一般是一个veth设备,该设备的IP地址可以通过ifconfig命令查看。
例如:
# ifconfig
veth0 Link encap:Ethernet HWaddr 06:58:5A:F5:5F:8C
inet addr:172.17.0.2 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:648 (648.0 B) TX bytes:648 (648.0 B)
2. 通过Kubernetes的Service机制获取
Kubernetes的Service机制可以为一个或多个Pod提供一个虚拟IP地址,该IP地址可以用于访问容器内部的应用程序。
例如:
# kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.0.0.1
myservice 10.0.0.2
在上面的例子中,myservice服务的Cluster IP地址是10.0.0.2,可以使用这个地址来访问myservice服务的容器内部应用程序。
相关文章