Kubernetes決勝Swarm的優勢在這裡?

店家小二發表於2018-12-12

微服務架構是那種能夠擴大差距的下一代技術。就應用程式而言,微服務架構是保持相關性的關鍵,其中大版本更新慢、補丁粗糙都是不可接受的。容器是向微服務架構邁出的第一步,接下來就得靠Kubernetes管理微服務。     

管理微服務

如果容器在你的“購物清單”上,那麼Kubernetes絕對是下一個選項。開源並由CNCF不斷開發讓越來越多的人相信這項技術將持續發展。當PC還是一件新事物時,很多公司猶豫不敢投入很多,擔心兩倍速度的處理器明天就會出來。Kubernetes不會有這樣的情況,它在全球各地專業人才的幫助下,永遠都在升級。它是每個人都想要投資的技術。

容器編排

Kubernetes的更新顯示了技術的靈活性和伸展性。圍繞它的工具和支援軟體的生態系統呈指數級增長,圍繞Kubernetes構建的工具的可定製性進一步增長。現在,儘管很多人將整個堆疊統稱為“容器”,但Kubernetes清楚地區分了管理良好的容器。

Docker絕對是推動容器時代到來的軟體,但卻是從人們開始使用Kubernetes時才是真正管理容器。Kubernetes使人們可以通過簡單易用的API來管理數千個在容器中執行的微服務。

Kubernetes還讓利用已經圍繞它建立的龐大的專業工具生態系統成為可能,這是一個非常龐大的資源。它是開源的,也由於是CNCF的寵兒,讓它有了吸引力,而且大多數公司認為,如果Kubernetes對谷歌、Netflix來說足夠好,對他們當然也足夠好。

未開拓的領土

微服務架構意味著必須開始以不同的方式做事情,還意味著需要做很多以前沒有做過的事情。當數以千計的微型服務相互通訊時,需要做一些後臺工作提供保障。 Kubernetes是通過提供管理微服務的工具來確保這一點。

像服務發現、負載均衡和基於策略的網路安全等都起作用。如果只有容器引擎,那麼舉步維艱。編排告訴人們該做什麼,編排和微服務架構開啟了一些新領域。

服務發現

當可以輕鬆找到其他服務和自己的依賴關係時,微服務的工作效果最佳——Kubernetes就有著精心設計的服務抽象。要使用服務,你需要動態發現它的pod實施,以便可以呼叫它。這是服務發現,Kubernetes提供DNS名或環境變數,這就是發現服務的兩種方式。 Kubernetes預設使用DNS——這是通過使用DNS來將服務名稱解析為服務的IP地址來完成的。

負載均衡

現代高效能應用程式和網站可滿足成千上萬的使用者從遊戲到視訊到即時聊天的任何需求。負載均衡是通過一組後端伺服器有效地分發網路流量以提高整體效能的做法,而且還有效地實現了這一點。 Kubernetes有兩種不同型別的負載均衡器。一種是內部型別,可平衡容器之間的負載,一種是外部負載平衡器,主要用於公有云。

基於策略的網路安全

在Kubernetes中,預設情況下所有pod可以相互通訊。網路策略制定了一套關於誰能與誰通訊的基本規則。網路策略還定義如何允許pod組彼此和其他網路端點進行通訊,並且還將pod隔離,以便它們拒絕網路策略不允許的任何連線。預設情況下,pods是非隔離的,接受所有傳入的流量,因此,如果你想要更多地控制誰可以與你的容器通訊,網路策略一定會出現在你的列表中。

使用Kubernetes管理微服務的優勢是你可以訪問大量生態系統工具。 Calico絕對是其中一個讓一切變得更容易的工具。

Calico專案通過圍繞每個工作負載建立防火牆來保護Kubernetes網路,從而使襲擊者必須處理更多的防火牆。來自Calico的這些微型防火牆能夠分別保護每個工作負載——一個服務失效不會帶來多米諾效應。每個服務完全有能力獨立進行。

Calico可以與CoreOS的開源容器網路專案Flannel進行整合(Flannel這個名稱意味著它可以在你的微服之間建立連線的“結構”)。兩者的整合被稱為“Canal”,整合了Calico的安全性和Flannel的連線選項。Canal也是一個開放原始碼的專案,本質上是通過整合兩個工具所帶來的更完整的解決方案。

對於所有需要管理微服務的人來說

技術和現代應用程式之美在於它們像油漆:如果你不喜歡藍色或黃色,你可以把它們混合起來得到綠色!Weave是另一個最近被談論得比較多的基於策略的安全系統。隨著越來越多的時間、精力和金錢投入到基於策略的網路安全,可以下結論,這是保護和管理由容器實現的微服務應用的最佳方式。

除了Calico和Weave,Kubernetes周圍還有很多非常強大的工具和資源,特別是在網路和安全方面。CNCF的一些最新採用與Istio和Linkerd等容器網路有關。

Kubernetes不僅幫助人們管理微服務,而且還促進了整個工具和服務生態系統,幫助人們輕鬆管理微服務。這基本滿足了企業的所有需求。Kubernetes相對於Swarm的領先優勢就在於此,而且後者還難以跟上。

本文轉移K8S技術社群-Kubernetes決勝Swarm的優勢在這裡?


相關文章