linux中Kubernetes Pod怎么获取IP地址

2023-04-12 06:06:00 kubernetes 获取 地址

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 443/TCP 2d

myservice 10.0.0.2 80/TCP 1d

在上面的例子中,myservice服务的Cluster IP地址是10.0.0.2,可以使用这个地址来访问myservice服务的容器内部应用程序。

相关文章