Kubernetes是當下最流行的容器編排平臺,不管是生產環境的采用率,還是云原生生態都很強大。但Kubernetes并不是企業唯一的選擇,還有不少的容器編排工具供企業選擇,這些容器編排工具適合不同的基礎架構環境。其中不少,已經獲得了用戶極高的認可和采用,比如OpenShift、AWS EKS、Docker Swarm等等。本文就幫大家梳理一下這些容器編排平臺。
OpenShift
紅帽的OpenShift容器平臺即服務(PaaS),是目前混合云環境中的安全和可擴展資源上的自動化應用程序。它提供了用于構建,部署和管理容器化應用程序的企業級平臺。
它基于紅帽企業版Linux和Kubernetes引擎而構建。Openshift具有多種功能,可通過UI和CLI管理集群。此外,紅帽還提供了Openshift的兩個變種,Openshift Online是軟件即服務產品;OpenShift Dedicated是托管服務產品。
Openshift Origin((Origin Community Distribution))是一個開源上游社區項目,用于Openshift容器平臺Openshift Online和OpenShift Dedicated。
Nomad
Nomad是一個簡單、靈活且易于使用的工作負載協調器,可在內部部署和云范圍內大規模部署和管理容器和非容器化應用程序。Nomad以單個二進制文件的形式運行,占用資源少僅35MB,并在macOS,Windows和Linux上可用。
用戶可使用聲明性基礎架構代碼(IaC)來部署其應用程序,并定義應如何部署應用程序。Nomad會自動從故障中恢復應用程序。
Nomad組織了任何類型的應用程序(不僅僅是容器)。它為Docker、Windows、Java、VM等提供了一流的支持。
此外,Nomad可使舊版應用程序現代化,而無需重寫;可輕松實現多云,與Terraform,Consul和Vault的本機集成。
Docker Swarm
Docker Swarm使用聲明性模型,可以定義服務的所需狀態,Docker將維護這個狀態。Docker企業版本已將Kubernetes與Swarm集成在一起,而且Docker現在提供了編排引擎選擇的靈活性。 Docker engine CLI用于創建大量Docker引擎,可在其中部署應用程序服務。
Docker命令用于與集群進行交互。加入集群的機器稱為節點,而Swarm處理集群的活動。
Docker Swarm由兩個主要組件組成,Manager管理器節點將任務分配給集群中的Worker Node。根據Raft一致性算法選舉領導者。領導者負責處理所有集群管理和集群的任務編排決策。Worker Node從從管理節點接收任務并執行它們。
Docker Swarm的功能也很強大,它與Docker Engine集成進行集群管理;采用分布式設計;聲明式服務模型;也包括如多主機聯網、服務發現、負載均衡、滾動更新等功能特征。
Docker Compose
Docker Compose用于定義和運行可協同工作的多容器應用程序。Docker Compose描述了相互共享的服務組,這些服務組共享軟件依賴關系,并被編排和縮放。
可以使用YAML文件(dockerfile)配置應用程序的服務。然后,使用docker-compose up命令,從配置中創建并啟動所有服務。
也可以使用Docker Compose將應用程序代碼分解為幾個獨立運行的服務,這些服務使用內部網絡進行通信。它提供了用于管理應用程序整個生命周期的CLI。傳統上,Docker Compose一直定位在于開發和測試工作流,但現在更多面向生產環境的功能。
Docker Engine可以是配備有Docker Machine或整個Docker Swarm集群的獨立實例。
主要特征有單個主機上的多個隔離環境;創建容器時保留卷數據;僅重新創建已更改的容器;變量和環境之間的合成移動等。
Minikube
Minikube允許用戶在本地運行Kubernetes。使用Minikube,可以在個人計算機上的單節點Kubernetes集群內在本地測試應用程序。Minikube對Kubernetes儀表板提供了集成支持。
Minikube運行Kubernetes的最新穩定版本,并支持負載均衡、多集群、持久卷、節點端口、容器運行時包括Docker、CRI-O和containered,可啟用CNI等等。
Marathon
Marathon適用于Apache Mesos,具有協調應用程序和框架的能力。
Apache Mesos是一個開源集群管理器。Mesos是Apache的一個項目,能夠同時運行容器化和非容器化工作負載。Mesos集群中的主要組件是Mesos代理節點,Mesos主節點,ZooKeeper和框架——框架與主節點協調,將任務調度到代理節點上。用戶與Marathon框架交互以安排作業。
Marathon調度程序使用ZooKeeper來定位當前的主程序以提交任務。Marathon調度程序和Mesos主服務器都運行從服務器,以確保高可用性。客戶端使用REST API與Marathon交互。
Marathon的優勢主要體現在高可用性,支持有狀態應用,用戶界面很友好,支持服務發現和負載均衡,健康檢查,以及REST API等。
Cloudify
Cloudify是開源的云編排工具,用于容器和微服務的部署自動化以及生命周期管理。它提供了一些功能,如按需集群,自動修復以及在基礎架構級別進行擴展。Cloudify可以管理容器基礎架構,并協調在容器平臺上運行的服務。
它可以輕松地與Docker和基于Docker的容器管理器集成,包括Docker Swarm、Docker Compose、Kubernetes和Apache Mesos。
Cloudify可以幫助創建,修復,擴展和拆除容器集群。容器編排是提供可伸縮和高可用性基礎設施的關鍵,容器管理器可以在其上運行。Cloudify提供了跨平臺協調異構服務的能力。可以使用CLI和Cloudify管理器部署應用程序。
Rancher
Rancher是也是一個開源的容器編排平臺。它能夠利用Kubernetes,Swarm,Mesos等編排服務。Rancher提供了管理容器所需的軟件,因此企業無需使用一套獨特的開源技術從頭開始構建容器服務平臺。
Rancher 2.x允許管理運行在客戶指定的提供商上的Kubernetes集群。Rancher用戶界面允許管理數千個Kubernetes集群和節點。
Containership
Containership主要實現多云Kubernetes基礎架構的部署和管理。通過單個工具可以靈活地在公有,私有云和本地環境中進行操作。它使用戶能夠跨所有主要云提供商配置,管理和監控Kubernetes集群。
Containership是使用云原生工具構建的,例如Terraform進行配置,Prometheus進行監控,以及Calico進行網絡和策略管理。它建立在vanilla Kubernetes版本之上。Containership平臺提供直觀的儀表板,以及用于復雜自動化的強大REST API。
AZK
AZK是一個通過清單文件(Azkfile.js)用于開發環境的開源編排工具,該文件可幫助開發人員安裝,配置和運行常用工具,來使用不同的開源技術開發Web應用程序。
AZK使用容器而不是虛擬機。容器就像虛擬機一樣,具有更好的性能和更低的物理資源消耗。
可以重用Azkfile.js文件來添加新組件或從頭創建新組件。它可以被共享,這確保了不同程序員機器中的開發環境之間的完全平衡,并減少了部署期間出現錯誤的機率。
AWS EKS
AWS EKS亞馬遜AWS的容器編排服務。AWS允許用戶使用AWS Fargate運行EKS集群,AWS Fargate是用于容器的無服務器計算。AWS Fargate消除了配置和管理服務器的需要,從而允許為每個應用程序按資源付費。
AWS允許通過EKS使用其他功能,如Amazon CloudWatch,Amazon虛擬私有云(VPC),AWS Identity,Auto Scaling組和訪問管理(IAM),監控,擴展和負載均衡應用程序。EKS與AWS App Mesh集成在一起,并提供Kubernetes原生體驗。EKS運行最新的Kubernetes,并通過了Kubernetes認證。
GKE
GKE是谷歌云上的容器編排服務。GKE集群由Kubernetes提供支持,可以使用Kubernetes CLI與集群進行交互。Kubernetes命令可用于部署和管理應用程序,執行管理任務,設置策略以及監控已部署工作負載的運行狀況。
谷歌云的高級管理功能也可用于GKE群集,如谷歌云的負載平均衡,節點池,節點的自動擴展,自動升級,節點自動修復,日志記錄以及使用谷歌云的操作套件進行監控。
AKS
AKS是Azure提供的容器編排服務,它提供無服務器的Kubernetes,安全性和治理。AKS管理Kubernetes集群,AKS自動配置所有Kubernetes主節點和節點。用戶只需要管理和維護代理節點。
而且AKS是免費的,只需為集群中的代理節點付費,而無需為主節點付費。用戶可以在Azure門戶中以編程方式創建AKS群集。Azure還支持其他功能,如高級網絡,Azure Active Directory集成,以及使用Azure Monitor的監控。
AKS還支持Windows Server容器。可以從Azure Monitor監控其群集和已部署的應用程序性能。日志存儲在Azure Log Analytics工作區中。AKS已通過Kubernetes認證。
原文地址:https://cloud.51cto.com/art/202007/622531.htm