天天看點

使用基于政策的網絡擴充Kubernetes Deployments

今天的文章是由Nuage Networks 的産品管理總監Harmeet Sahni書寫,内容是關于他們在Kubernetes貢獻和Policy-Based Networking的見解。

盡管距離Kubernetes 1.0釋出僅僅隻有18個月,我們已經看到Kubernetes領先容器業務流程平台部署的分布式應用程式。周邊充滿活力的開源社群蓬勃發展是其最大原因之一。大量的Kubernetes貢獻者來自不同的背景意味着我們和使用者社群确信給一個開放的平台投資。 像谷歌這樣的公司(容器引擎),紅帽子(OpenShift),和CoreOS(Tectonic)正在開發自己的基于Kubernetes的商業産品。因為它會帶來更多的标準化,并提供給使用者,是以這是一件好事。

K8s應用網絡系統要求

把應用程式部署在Kubernetes的公司,面臨的一個最大問題是如何部署和合理安排大規模的容器。他們意識到底層基礎設施,包括網絡和存儲,需要支援分布式應用程式。由于網絡基礎設施的靈活性和靈活性可以比對應用程式本身,軟體定義網絡(SDN)是一個非常适合這樣場景的應用。這些應用程式的網絡要求包括:

  • 網絡自動化
  • 分布式負載平衡和服務發現
  • 分布式安全細粒度的政策
  • QoS政策
  • 可擴充實時監控
  • 混合應用環境與服務橫跨容器,VMS和裸機伺服器
  • 服務插入(如防火牆)
  • 支援私有和公共雲部署

K8s網絡系統

Kubernetes通過APIs提供了一組核心平台服務。該平台可以通過擴充API,插件和标簽幾個方面實作可擴充性。這使得各種各樣的基于Kubernetes內建方法和工具被開發出來,。Kubernetes承認每個部署的網絡将是獨一無二的。Kubernetes選擇了做網絡系統插件而不是試圖使核心系統來處理所有這些用例。

基于Nuage Networks提供基于SDN平台的可擴充政策。該平台由一個網絡政策引擎管理,抽象出與配置系統相關的複雜性。平台擁有一個帶有非常豐富的路由功能和實作水準擴充的獨立的SDN控制器。Nuage采用開源的Open vSwitch(OVS)與使用者空間的一些增強功能的OVS資料層。就像Kubernetes,Nuage一直信奉開放作為其平台的核心宗旨。Nuage提供開放的API,允許使用者實作他們的網絡和內建網絡服務如防火牆、負載均衡器、IPAM工具等。Nuage和Kubernetes以及其他平台一樣是支援多種雲平台OpenStack,VMware和容器的平台。

Nuage平台實作了能夠生成VXLAN封裝的Kubernates網絡插件,提供Kubernates Pods和非Kubernates Pods(虛拟機伺服器和裸機伺服器)之間基于政策的無縫網絡連結。每個Pod都有一個特定命名空間的網絡IP,并且沒有在 kubernetes節點上綁定。

雲應用的建立使用了微服務,控制微服務之間通信的是基礎要求。必須指出,這些網絡政策需要控制即将到來的外部網絡和服務的通信也是至關重要的。Nuage政策的抽象模使得型應用程式聲明細粒度入口/出口政策更加容易。Kubernates使用Kubernates的擴充API實作了beta版的網絡政策。Nuage實作了這一網絡政策API解決各種各樣的政策用例如下:

  • Kubernetes 命名空間隔離
  • 跨命名空間政策
  • 相同或者不同命名空間的Pods的分組政策
  • Kubernates Pods/命名空間和外部的網絡/服務之間的政策
使用基于政策的網絡擴充Kubernetes Deployments

政策是實作的可擴充性是使用者考慮的一個關鍵問題。一些網絡設定需要建立通路控制清單(ACL)條目告訴Pods它們如何互相作用。在大多數情況下,這最終導緻了一個不規則堆積的ACL條目。Nuage平台可以避免這個問題,快速配置設定政策應用于整個Pods組。Nuage平台實作這些政策使用基于OVS的完全分布式防火牆。

監控Kubernetes Pods之間的通信流的功能對于開發和營運團隊非常有用。Nuage平台的實時分析引擎能夠可視化和安全的監控Kubernetes應用。使用者可以得到的Pods之間的流量可視化展示,使使用者很容易看到網絡政策是如何生效。使用者還可以得到豐富的流量和政策統計集。此外,使用者可以根據政策事件門檻值設定要觸發的警報。

使用基于政策的網絡擴充Kubernetes Deployments

總結

雖然在一年前我們開始從事Kubernetes一體化工作,但是感覺我們才剛剛開始。我們一直認為這是一個真正開放的社群,我們希望成為其中的一個組成部分。在GitHub上,你可以找到關于我們的Kubernetes內建的更多内容。

本文轉自中文社群-

使用基于政策的網絡擴充Kubernetes Deployments

繼續閱讀