Kubernetes與OpenShift有什麼區別? - DZone Cloud

banq發表於2019-08-07

OpenShift是由Red Hat開發的容器化軟體解決方案。他們的主要產品是OpenShift容器平臺,這是由Kubernetes管理的平臺即服務(PaaS)。它是用Go和AngularJS編寫的,並且有Apache許可證。

OpenShift Origin是Red Hat基於開源的雲平臺,允許開發人員構建,測試和部署雲應用程式。該系統在Kubernet核心之上新增工具,以實現更快的應用程式開發,輕鬆部署和擴充套件。

該平臺除了可擴充套件外,還支援Go,Node.js,Ruby,Python,PHP,Perl和Java,允許使用者新增對其他語言的支援。關於可擴充套件性,該平臺可以自動或手動擴充套件容器化應用程式。

基礎設施

雖然兩者都基於Linux,但每個產品都在不同的環境中執行:

Kubernetes在其可執行的作業系統方面更加靈活。但是,包管理器是RPM,這意味著Linux發行版。因此最好在Fedora,Ubuntu或Debian上執行它。Kubernetes可以部署在任何主要的IaaS平臺上,例如AWS,Azure和GCP。

OpenShift可以安裝在Red Hat Enterprise Linux(RHEL)和Red Hat Enterprise Linux Atomic Host(RHELAH)以及Fedora和CentOS上。OpenShift Dedicated允許在雲中建立自己的叢集,特別是基於Amazon Web Services。

Rollout

這兩種產品在推出方面都很複雜:

Kubernetes執行平臺的多樣性意味著有無數的解決方案可以在本地建立Kubernetes叢集。大多數都基於Rancher Kubernetes Everywhere(RKE)或kops等安裝程式,Kubernetes的安裝程式將在AWS上推出OpenShift。

OpenShift旨在避免在首次推出後需要額外的元件。因此,它配備了基於Ansible的專有安裝程式,可以使用最少的配置引數安裝OpenShift。

網路UI

通過基於Web的使用者介面管理叢集的能力相比,OpenShift和Kubernetes之間存在很大差異。

Kubernetes的儀表板必須單獨安裝,需要通過kube代理訪問,以將本地機器的埠轉發到叢集的管理伺服器。此外,它沒有登入頁面,但您需要手動建立承載令牌以提供身份驗證和授權。所有這些複雜性導致Web UI對於真正的日常管理工作而言不是很有價值。

OpenShift的Web控制檯有一個登入頁面,可以輕鬆訪問,甚至可以讓您通過表單建立和更改大多數資源。雖然您無法通過Web管理叢集,但您可以視覺化伺服器,專案和叢集角色。

整合映象登錄檔

使用Kubernetes,您可以設定自己的Docker登錄檔,但沒有整合映象登錄檔的概念。

OpenShift附帶了一個整合的映象登錄檔,可以與Docker Hub或Red Hat一起使用。它甚至還有一個登錄檔控制檯,您可以在其中搜尋與群集中的專案相關的映象和映象流的資訊。

Jenkins 

雖然Kubernetes中不存在該概念,但您可以部署自己的自定義Jenkins映象。生成的工件是上傳到映象儲存庫的docker映象。

OpenShift使用Pipeline構建,這是一種源到映象構建的形式,它引用包含Jenkins的映象,而Jenkins又監視ImageStreamsTags。當需要更新時,它可以啟動Jenkins構建。

聯網

Kubernetes沒有本機網路解決方案,但提供可供第三方網路外掛使用的介面

OpenShift有一個開箱即用的本機網路解決方案OpenvSwitch,它提供三種不同的外掛。

哪一個更好?​​​​​​​

兩者都是開源軟體平臺,旨在促進容器編排和應用程式開發。它們使得以簡單易管理的方式部署和管理容器化應用程式成為可能。OpenShift Web控制檯使其非常有用,允許直接通過它執行80%以上的任務。

雖然兩者都有類似的核心(畢竟OpenShift內建了Kubernetes),OpenShift通過其開箱即用的功能使安裝更容易。安裝Kubernetes通常需要交鑰匙解決方案或託管Kubernetes叢集。

您選擇的系統將取決於您的系統要求以及開發過程的關鍵靈活性或良好的Web介面。

相關文章