Node IP : Node節點的IP地址
Pod IP:Pod的IP地址
Cluster IP : Service 的IP地址
首先,Node IP是Kubernetes集群中每個節點(服務器)物理網卡的IP地址,這是一個真實存在的物理網絡(也可能是虛擬機網絡),每個節點(服務器)之間可以通過這個網絡通信,Kubernetes集群外的機器與集群內的機器也是通過這個網絡通信。
其次,Pod IP是每個Pod 的IP地址,它是Docker Engine根據docker0網絡的IP段進行分配的,通常是一個虛擬的二層網絡,默認Kubernetes集群內不同Node上的Pod是不能通信的,需要對集群網絡進行管理,確保Pod之間可以互相通信,Pod之前的通信是通過Node IP 物理網卡轉發出去的。
最后,Servicede Cluster IP,這是虛擬IP,只作用於Service這個對象,由kubernetes管理和分配。Cluster Ip 無法被ping,因為沒有一個“實體網絡對象”來響應。
Cluster IP 只能結合Service Port組成具體的通信端口,他們屬於kubernetes集群這樣的一個封閉空間,集群之外的節點如果需要訪問,需要特殊在處理。
為了讓集群外的用戶或節點訪問Service(微服務),需要給微服務制定NodePort,從而可以通過Node IP+ NodePort來訪問。