Nomad 會替代 Kubernetes 嗎?對比一下,兩者如何選擇?
根據目前的市場狀況,大多數人都同意 Kubernetes(又名“K8s”)贏得了容器編排之戰,戰勝了 Docker Swarm 和 Mesos 等替代品。但在 K8s (2014) 的同一時間還有另一個編排項目,那就是?HashiCorp 的 Nomad。(2015)
Kubernetes 由 Google 孵化并得到持續的社區支持,實際上是容器編排的理想之選。然而,Kubernetes 并不是適用于所有用例的解決方案。正如許多開發人員提到新功能的復雜性一樣,開發人員將疑慮和安全錯誤配置視為實施的潛在障礙。并不是說這些問題無法克服,但大多數用戶承認 Kubernetes 固有的復雜性使得平臺的入門和安全變得相當混亂。
Nomad 到底是什么?
Nomad 是Hashicorp的一個編排工具,允許用戶部署和管理不同類型的應用程序,例如:
-
支持容器 -
支持傳統的應用程序棧。 -
支持微服務應用程序。 -
支持批量應用。
從上面看,Nomad 看起來像這樣
使 Nomad 有用的是一組豐富的 API:
-
幫助我們自動化部署、應用程序擴展和升級。 -
使開發人員能夠直接管理部署。 -
自動管理故障。 -
隱藏節點管理等復雜細節,讓用戶只選擇啟動和運行應用程序所需的內容。
如前所述,Docker 是受支持的,但是任何類型的應用程序都可以在需要的任何類型的操作系統上使用(Linux、Windows、BSD 和 OSX 都支持)。可以創建集群,添加來自不同數據中心和不同區域的節點。
最后,Nomad 是一個高度可擴展的工具,它允許用戶超越標準擴展概念的限制。
為什么是 Nomad?
Nomad 和 Kubernetes 的主要區別在于 Nomad 更加通用和輕量級。Nomad 可以像一個簡單的任務調度程序一樣工作,也可以根據項目規范承擔更重的編排角色。Nomad 是由 HashiCorp 生產的補充工具組成的套件的一部分:
-
Terraform,用于快速基礎設施開發 -
Consul,用于自動服務網絡 -
Vault,Hashicorp 的 secrets 管理工具
比較
Kubernetes 是一個端到端的容器編排平臺,它依賴于各種松散耦合組件的動態生態系統。
Nomad 在架構上要簡單得多,但提供了與強大的協調器相同的功能。這兩個平臺有相同點,也有異同點,具體請往下看。
相同點
Kubernetes 和 Nomad 都是為容器編排和支持類似用例而構建的開源工具。因此,兩者都具有許多共同特征:
差異點
盡管這兩個平臺都適用于容器編排,但 Nomad 和 Kubernetes 有一些根本區別:
優缺點
選擇哪一個?
結論
Kubernetes 是一個獨立的編排工具,具有許多內置服務,可提供運行基于容器的應用程序所需的所有功能。它有龐大及時響應的社區支持,提供豐富的工具包和大量開箱即用的解決方案。但是,手動設置很困難,并且僅針對容器化應用程序而設計。
相比之下,Nomad 易于安裝和操作,因為它只專注于集群管理。它還支持各種類型的工作負載,但它提供的功能有限,需要安裝第三方工具來解決 Kubernetes 默認實現的任務。
如果您的應用程序需要額外的功能,并且您愿意花時間學習該工具,那么 Kubernetes 可能是更好的選擇。但是,如果您更喜歡沒有附加功能的更簡單的工作流程,那么 Nomad 可能適合您的應用程序。最終,您選擇哪種工具取決于您的用例以及您在生產周期中實施該工具的能力。從來沒有一種工具適合所有人,所以在做出決定時,請務必考慮上述因素。
原文:https://mp.weixin.qq.com/s/jFYYXEcEwkOZAx7YSDeV7A