在生產環境橫跨數個實體設備的K8S環境中,若能夠結合VMware NSX-T一起運用,將可以讓多個Container順暢、自動且簡易地互相連通,而且還提供強大的工具來進行網路單位需求的除錯功能,本文先說明基本觀念,然後以實際操作來示範整個環境運作的情形。
接下來,在10.66.0.103這台機器上開啟Wireshark,而且選擇ip proto 47(GRE)。做一些測試。首先透過「# kubectl exec」指令,從k8s-cl1-yelb-ui-127081435-1tvt4以ping指令連往8.8.8.8,如圖17所示。如圖18所示,在Wireshark內很明確地抓到了這些ping封包。
|
▲ 圖17 執行kubectl exec指令。 |
|
▲ 圖18 抓到了ping封包。 |
接著,把實際的應用打開。大家看到的圖19這個畫面是VMworld 2017 Keynote內展示的一個簡單應用,以微服務的方式撰寫,可以用來投票哪個餐廳比較好。用瀏覽器連到這個網頁,隨便投一下票。
|
▲ 圖19 VMworld 2017 Keynote內展示的簡單應用。 |
在Wireshark內,可以看到由10.4.0.2(Load Balancer)連往10.4.0.132(k8s-cl1-yelb-ui-127081435-1tvt4)。
然後,這個負責UI的Pod又利用4567 Port往後連到10.4.0.137(k8s-cl1-yelb-appserver-3315541501-m12hf)這個負責投票運算的Pod上,如圖20所示。
|
▲ 圖20 查詢Pod之前的連結順序。 |
以上示範了NSX-T內Traceflow/Port Mirror的功能,相信大家會覺得有了這些工具,後續在虛機與K8S環境內要做Troubleshooting,就真的非常簡單了!
結語
希望由上面的說明與演示可以讓大家了解,在一個生產環境橫跨數個實體設備的K8S環境中,採用NSX-T的時候,能夠讓多個Container順暢、自動且簡易地互相連通,並且具備強大的工具進行網路單位需求的除錯功能。
下一篇投稿將是本系列談NSX-T與K8S整合的最後一篇,將會演示另一個主題:NSX能夠在K8S架構內,進行微服務間甚至微服務內的安全防護機制,簡而言之,能夠做到Container間的微分段。除此之外,還要回顧一下這兩篇談的概念,最後整理出在SaaS App生產環境內運用NSX-T搭配K8S的必要性。
<本文作者:饒康立,VMware資深技術顧問,主要負責VMware NSX產品線,持有VCIX-NV、VCAP-DTD、CCIE、CISSP等證照,目前致力於網路虛擬化、軟體定義網路暨分散式安全防護技術方案的介紹與推廣。>