Kubernetes與OpenShift有什麼區別? - DZone Cloud
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介面。
相關文章
- rancher 和 Kubernetes有什麼區別?
- 藍/綠和紅/黑部署之間有什麼區別? - DZone DevOpsdev
- Memcached與Redis有什麼區別Redis
- innerHTML與outerHTML有什麼區別?HTML
- AppSec與DevSecOps有什麼區別?APPdev
- BFC與IFC有什麼區別?
- 什麼是python?與PHP有什麼區別?PythonPHP
- Session是什麼?它與Cookie有什麼區別?SessionCookie
- XML與JSON有什麼的區別?XMLJSON
- 原生IP是什麼?與其他IP有什麼區別?
- HTTP中Get與Post有什麼區別?HTTP
- js substr 與 substring 有什麼區別嗎JS
- FPC與剛性PCB有什麼區別
- XSS 與 CSRF 攻擊——有什麼區別?
- 高fangCDN與普通CDN有什麼區別?GC
- Docker有哪些特點?與Linux有什麼區別?DockerLinux
- 共享儲存是什麼意思?與DRBD有什麼區別?
- Linux中什麼是打包?與歸檔有什麼區別?Linux
- React事件與普通HTML事件有什麼區別React事件HTML
- 預渲染與實時渲染:有什麼區別?
- Telnet是什麼意思?與SSH有啥區別?
- MySQL、NoSQL分別是什麼?有什麼區別?MySql
- 2G與3G是什麼?有什麼區別?
- Python中異常是什麼意思?與錯誤有什麼區別?Python
- 什麼是CC攻擊?與DDoS攻擊有什麼區別?
- CSRF與SSRF是什麼?它們之間有什麼區別?
- 雲桌面是什麼意思?與堡壘機有什麼區別?
- 容器雲是什麼意思?與堡壘機有什麼區別?
- Febrac8 + OpenShift + Kubernetes (3) Install OpenShift
- 冗餘是什麼意思?與雙機熱備有什麼區別?
- cookie是什麼?和session有什麼區別?CookieSession
- Java和Python是什麼?有什麼區別?JavaPython
- 什麼是 MicroPython?和CPython有什麼區別?Python
- IPFS和區塊鏈有什麼區別區塊鏈
- shim和polyfill有什麼區別
- vue和react有什麼區別?VueReact
- modbus和tcp有什麼區別?TCP
- Jsp和Servlet有什麼區別?JSServlet