開發與維運

OPENSHIFT CONTAINER PLATFORM 架構

1.1. OpenShift Container Platform 簡介
OpenShift Container Platform 是用於開發和運行容器化應用程序的平臺。它旨在允許支持的應用程序和數據中心從少量機器和應用程序擴展到為數百萬客戶端服務的數千臺機器。
OpenShift Container Platform 以 Kubernetes 為基礎,為大規模電信、流視頻、遊戲、銀行和其他應用提供引擎技術,您可以將容器化應用程序從單一雲擴展到內部和多雲環境。
1.1.1. 關於 Kubernetes
Kubernetes 是一個開源容器編配引擎,用於自動化容器化應用程序的部署、擴展和管理。Kubernetes 的一般概念比較簡單:
• 從一個或多個 worker 節點開始,以運行容器工作負載。
• 從一個或多個 master 節點管理這些工作負載的部署。
• 將容器嵌套在稱為 Pod 的部署單元中。使用 Pod 可以為容器提供額外的元數據,並可在單個部署實體中對多個容器進行分組。
• 創建特殊種類的資產。例如,服務由一組 Pod 及定義了訪問方式的策略來表示。此策略可使容器連接到所需的服務,即便容器沒有用於服務的特定 IP 地址。複製控制器(replication controller)是另一種特殊資產,用於指示一次需要運行多少個 Pod 副本。您可以使用此功能來自動擴展應用程序,以適應其當前的需求。
短短數年,Kubernetes 已在大量的雲和本地環境中被採用。藉助開源開發模型,擁護和可以通過為組件(如網絡、存儲和身份驗證)實施不同的技術來擴展 Kubernetes 的功能。
1.1.2. 容器化應用程序的好處
1.1.2.1. 操作系統的好處
容器使用不含內核的小型專用 Linux 操作系統。它們的文件系統、網絡、cgroups、進程表和命名空間與主機 Linux 系統分開,但容器可以在必要時與主機無縫集成。容器以 Linux 為基礎,因此可以利用快速創新的開源開發模型帶來的所有優勢。
因為每個容器都使用專用的操作系統,所以您能夠在同一主機上部署需要衝突軟件依賴項的不同應用程序。每個容器都帶有各自的依賴軟件,並且管理自己的接口,如網絡和文件系統,因此應用程序無需爭用這些資產。
1.1.2.2. 部署和擴展優勢
如果您在應用程序的主要版本之間進行滾動升級,則可以持續改進應用程序,既不會造成停機,又能仍然保持與當前版本的兼容性。
您還可以與現有版本一起部署和測試應用程序的新版本。在部署了當前版本的同時,還部署應用程序的新版本。容器通過測試後,只要部署更多新容器並刪除舊容器便可。
由於應用程序的所有軟件依賴項都在容器本身內解決,因此數據中心的每臺主機上都能使用通用操作系統。您無需逐一為應用主機配置特定的操作系統。當數據中心需要更多容量時,您可以部署另一個通用主機系統。
同樣,擴展容器化應用程序也很簡單。OpenShift Container Platform 提供了一種簡單的、標準方式的容器化服務擴展功能。例如,如果將應用程序構建為一組微服務,而非大型的單體式應用程序,您可以分別擴展各個微服務來滿足需求。有了這一能力,您可以只擴展需要的服務,而不是整個應用程序,從而在使用最少資源的前提下滿足應用程序需求。
1.1.3. OpenShift Container Platform 概述
OpenShift Container Platform 為 Kubernetes 帶來企業級增強,具體包括以下所列:
• 混合雲部署。您可以將 OpenShift Container Platform 集群部署到各種公有云平臺或數據中心中。
• 集成了紅帽技術。OpenShift Container Platform 中的主要組件源自 Red Hat Enterprise Linux 和相關的紅帽技術。OpenShift Container Platform 得益於紅帽企業級優質軟件的嚴格測試和認證計劃。
• 開源開發模型。開發以開放方式完成,源代碼可從公共軟件存儲庫中獲得。這種開放協作促進了快速創新和開發。
雖然 Kubernetes 擅長管理應用程序,但它並未指定或管理平臺級要求或部署過程。強大而靈活的平臺管理工具和流程是 OpenShift Container Platform 4.4 具備的重要優勢。
1.1.3.1. 定製操作系統
OpenShift Container Platform 使用 Red Hat Enterprise Linux CoreOS (RHCOS),這是一款面向容器的操作系統,結合了 CoreOS 和 Red Hat Atomic Host 操作系統的一些最佳特性和功能。RHCOS 是專門為從 OpenShift Container Platform 運行容器化應用程序而設計的,能夠與新工具配合,提供快速安裝、基於 Operator 的管理和簡化的升級。
RHCOS 包括:
• Ignition,OpenShift Container Platform 將其用作首次啟動系統配置來進行機器的初次上線和配置。
• CRI-O,Kubernetes 的原生容器運行時實現,可與操作系統緊密集成來提供高效和優化的 Kubernetes 體驗。CRI-O,提供用於運行、停止和重啟容器的工具。它完全取代了 OpenShift Container Platform 3 中使用的 Docker Container Engine。
• Kubelet,Kubernetes 的主要節點代理,負責啟動和監視容器。
在 OpenShift Container Platform 4.4 中,所有 control plane 都需要使用 RHCOS。但 compute(計算)機器(也被稱為 worker )可以使用 Red Hat Enterprise Linux (RHEL) 做為操作系統。如果選擇使用 RHEL worker,與將 RHCOS 用於所有集群機器相比,您必須執行更多的系統維護。
1.1.3.2. 簡化的安裝和更新流程
使用 OpenShift Container Platform 4.4 時,如果您擁有具有正確權限的帳戶,通過運行單個命令並提供幾個值,就能在支持的雲中部署生產集群。如果使用支持的平臺,您還可以自定義雲安裝或在數據中心中安裝集群。
1.1.3.3. 其他主要功能
Operator 既是 OpenShift Container Platform 4.4 代碼庫的基本單元,又是部署供應用程序使用的應用程序和軟件組件的便捷方式。在 OpenShift Container Platform 中,Operator 可充當平臺的基礎,不再需要手動升級操作系統和 control plane 應用程序。OpenShift Container Platform Operator(如 Cluster Version Operator 和 Machine Config Operator)允許對這些關鍵組件進行簡化的集群範圍內管理。
Operator Lifecycle Manager (OLM) 和 OperatorHub 提供了相應的工具,可用於存儲 Operator 並將其分發給開發和部署應用程序的人員。
Red Hat Quay Container Registry 是一個 Quay.io 容器 registry,為 OpenShift Container Platform 集群提供大多數容器鏡像和 Operator。Quay.io 是 Red Hat Quay 的一個公共 registry 版本,可存儲數百萬鏡像和標籤。
OpenShift Container Platform 中的其他 Kubernetes 增強功能包括軟件定義網絡 (SDN)、身份驗證、日誌聚合、監視和路由方面的改進。OpenShift Container Platform 還提供功能齊全的 web 控制檯和自定義 OpenShift CLI (oc) 界面。
1.1.3.4. OpenShift Container Platform 生命週期
下圖顯示了 OpenShift Container Platform 的基本生命週期:
• 創建 OpenShift Container Platform 集群
• 管理集群
• 開發和部署應用程序
• 擴展應用程序
• 圖 1.1. OpenShift Container Platform 高級概述

1.1.4. OpenShift Container Platform 對互聯網和 Telemetry 的訪問
在 OpenShift Container Platform 4.4 中,您需要訪問互聯網來安裝集群。默認運行的 Telemetry 服務提供有關集群健康狀況和成功更新的指標,這也需要訪問互聯網。如果您的集群連接到互聯網,Telemetry 會自動運行,而且集群會註冊到 Red Hat OpenShift Cluster Manager(OCM)。
確認 Red Hat OpenShift Cluster Manager 清單正確後,可以由 Telemetry 自動維護,也可以使用 OCM 手動維護,使用訂閱監控 來跟蹤帳戶或多集群級別的 OpenShift Container Platform 訂閱。
您必須具有以下互聯網訪問權限:
• 訪問 Red Hat OpenShift Cluster Manager 頁面,以下載安裝程序並執行訂閱管理。如果集群可以訪問互聯網,並且沒有禁用 Telemetry,該服務會自動授權您的集群。
• 訪問 Quay.io,以獲取安裝集群所需的軟件包。
• 獲取執行集群更新所需的軟件包。
重要
如果您的集群無法直接訪問互聯網,則可以在置備的某些類基礎架構上執行受限網絡安裝。在此過程中,您要下載所需的內容,並使用它在鏡像 registry(mirror registry) 中填充安裝集群並生成安裝程序所需的軟件包。對於某些安裝類型,集群要安裝到的環境不需要訪問互聯網。在更新集群之前,您要更新鏡像 registry(mirror registry) 的內容。

Leave a Reply

Your email address will not be published. Required fields are marked *