据我所知,Pod是k8s的最小调度单位,网络和资源全部都是分隔开来的,pod之间的访问一般就是『外网访问』,不会共享网络资源。
但是我在查看所有pod的时候,发现多个pod共同使用一个IP:
[ldl@att root]$ kubectl get pods --all-namespaces -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
default hello-minikube-5d9b964bfb-jbwv7 1/1 Running 0 17h 172.18.0.5 minikube <none> <none>
kube-system coredns-f9fd979d6-4p6xg 1/1 Running 2 2d15h 172.18.0.4 minikube <none> <none>
kube-system etcd-minikube 1/1 Running 1 2d14h 172.17.0.2 minikube <none> <none>
kube-system kube-apiserver-minikube 1/1 Running 1 2d14h 172.17.0.2 minikube <none> <none>
kube-system kube-controller-manager-minikube 1/1 Running 2 2d15h 172.17.0.2 minikube <none> <none>
kube-system kube-proxy-4k468 1/1 Running 2 2d15h 172.17.0.2 minikube <none> <none>
kube-system kube-scheduler-minikube 1/1 Running 2 2d15h 172.17.0.2 minikube <none> <none>
kube-system storage-provisioner 1/1 Running 4 2d15h 172.17.0.2 minikube <none> <none>
kubernetes-dashboard dashboard-metrics-scraper-c95fcf479-k7zpn 1/1 Running 2 2d15h 172.18.0.3 minikube <none> <none>
kubernetes-dashboard kubernetes-dashboard-5c448bc4bf-f9swt 1/1 Running 2 2d15h 172.18.0.2 minikube <none> <none>
这个情况是怎么样的呢?
minikube 是虚拟的一些 node ,然后在 node 里启动 pod 。
pod 可以用自己的网络,也可以用 node 的网络。
你看到同一个 IP 地址的,这些 pod 实际没有用自己的网络,而是直接使用了它们所在的 node 的网络。这些 pod 在同一个 node ,于是 IP 就是一样的。这个 IP 是 node 的 IP 。