1. 程式人生 > >K8S中如何跨namespace 訪問服務?為什麽ping不通ClusterIP?

K8S中如何跨namespace 訪問服務?為什麽ping不通ClusterIP?

alt 模式 鏈接 文章 實現 發現 相關 分享 href


1、K8S中如何跨namespace 訪問服務?

2、在Pod中為什麽ping不通ClusterIP?


簡述

??????? Rancher2.0中的一個用戶,在K8S環境中,創建兩個namespace,對應用進行分割管理,在一個namespace的pod中,如何訪問另一個namespace中的服務?--K8S使用kube-DNS實現服務發現功能的,可以通過DNS名稱訪問服務名。

??????? 在K8S中,部署一個帶ClusterIP的服務,供集群內部網絡訪問。為什麽這個ClusterIP無法ping通?--ClusterIP是IPtable規則,不是綁定在網絡接口上的,服務可以訪問,但ping不通ClusterIP。


演示截圖

圖1-創建一個包含3臺主機、用於演示的集群環境

技術分享圖片

圖2-在命名空間namespace111中,創建一個nginx工作負載,端口映射的運行模式為集群IP

技術分享圖片

圖3-再在另一個命名空間namespace222中,創建一個普通的Ubutnu工作負載

技術分享圖片

圖4-在服務發現頁面中,可以看到,已自動在2個命名空間中創建2條服務記錄

技術分享圖片

圖5-進入2個Pod中,驗證不同namespace可以互相訪問,集群IP不可以ping,但ClusterIP對應的服務可以訪問。

技術分享圖片

圖6-網上介紹kubeDNS的文章

技術分享圖片

圖7-網上關於ClusterIP相關的帖子及文章

技術分享圖片


參考鏈接:

kube-dns 和服務發現

https://www.cnblogs.com/allcloud/p/7614123.html

kubernetes的service的cluster-ip無法訪問

http://dockone.io/question/1086

談談kubernets的service組件的Virtual IP

https://ieevee.com/tech/2017/01/20/k8s-service.html

K8S中如何跨namespace 訪問服務?為什麽ping不通ClusterIP?