Red Hat OpenShift Container Platform 的主要概念
下一節涵蓋運算子、儲存器及 Kubernetes的基本概念。 瞭解這些概念可協助您瞭解 IBM Cloud Pak 移轉的好處。
如需使用 Red Hat OCP 的相關資訊,請參閱下列主題:
運算子及相依關係
何謂操作員?
「操作器」是一組 Kubernetes原生資源,可透過延伸 Kubernetes API 來包裝、部署及管理 Kubernetes 應用程式。
何謂 Kubernetes 應用程式?
Kubernetes 應用程式是部署在 Kubernetes 上並使用 Kubernetes API 及 kubectl 工具進行管理的應用程式。
操作員如何運作?
「操作員」由數個軟體片段組成,可讓您有效管理 Kubernetes 上的應用程式-控制器及一個以上自訂資源定義 (CRD)。
控制器是部署至 Kubernetes 叢集的自訂程式碼,並設計為監看自訂 Kubernetes 資源的變更並對其做出反應。 自訂資源是 Kubernetes API 的延伸,用來提供在預設 Kubernetes 安裝中可能無法使用的其他功能。 它容許自訂及模組化 Kubernetes。
何謂相依關係?
相依關係是必須滿足才能繼續處理的必要條件。 也就是說,當系統中的某個實體無法在沒有另一個實體的情況下有意義地運作時,它會被認為是相依的。 例如,應用程式可能對它所連接的伺服器、資料庫或其他服務具有相依關係。 在雲端移轉中,這類應用程式相依關係是可能的風險。 探索工具可讓您清楚瞭解每一個應用程式及其相依關係之間的關係,以便您可以順利將所有重要應用程式及服務移轉至雲端。
Operator Lifecycle Manager (OLM)
何謂 Operator Lifecycle Manager?
Operator Lifecycle Manager (OLM) 可讓使用者在叢集裡安裝、管理及升級操作器及其相依關係,以延伸 Kubernetes 的功能。
為何使用 Operator Lifecycle Manager?
OLM 可讓使用者執行下列動作:
- 輕鬆管理應用程式,方法是將應用程式定義為單一 Kubernetes 資源,每一個都有其需求及 meta 資料 (OLM 需要此 meta 資料,以驗證「操作器」可以安全地在叢集上執行,並瞭解應如何套用更新項目)
- 自動化應用程式安裝並解析相依關係,或只使用 kubectl 來手動安裝
- 自動化應用程式更新,並針對每一個應用程式套用不同的核准原則
儲存器化、 Kubernetes及 Red Hat OpenShift Container Platform (OCP)
何謂容器?
儲存器是軟體的可執行單元,其中以一般方式將應用程式碼與程式庫及相依關係包裝在一起,以便它可以在桌面、傳統 IT 或雲端上的任何位置執行。 儲存器利用作業系統 (OS) 虛擬化的形式,可讓多個應用程式透過隔離處理程序並控制這些處理程序可存取的 CPU、記憶體及磁碟數量來共用 OS。
何謂儲存器化?
儲存器化是包裝軟體程式碼及其所有相依關係的程序,因此它可以在任何基礎架構上一致地執行。 也就是說,儲存器化可讓應用程式「寫入一次,並在任何地方執行」。
儲存器化的優點
儲存器化為開發人員和開發團隊提供下列好處:
- 可攜性: 儲存器會建立軟體的可執行套件,從主機作業系統抽離 (不關聯或相依於) ,因此可攜且能夠在任何平台或雲端上一致地執行。
- 敏捷性: 用於執行儲存器的開放程式碼 Docker Engine ,以簡單的開發人員工具和通用包裝方法來啟動儲存器的業界標準,可在 Linux 和 Windows 作業系統上運作。 儲存器生態系統已轉移至 Open Container Initiative (OCI) 所管理的引擎。 軟體開發人員可以繼續使用敏捷或 DevOps 工具及處理程序,以快速開發及加強應用程式。
- 速度: 儲存器通常稱為「輕量型」,表示它們共用機器的作業系統 (OS) 核心,且不會因這個額外負擔而陷入困境。 這不僅能提高伺服器效率,還能減少伺服器和授權成本,同時加速啟動時間,因為沒有作業系統可啟動。
- 錯誤隔離: 每一個儲存器化應用程式都是隔離且獨立於其他應用程式運作。 一個儲存器的失敗不會影響任何其他儲存器的繼續作業。 開發團隊可以識別並更正一個儲存器內的任何技術問題,而不會在其他儲存器中發生任何關閉時間。 此外,容器引擎可以使用任何 OS 安全隔離技術 (例如 SELinux 存取控制) 來隔離容器內的錯誤。
- 在容器化環境中執行的 效率: 軟體會共用機器的 OS 核心,容器內的應用程式層可以在容器之間共用。 因此,儲存器本來就比 VM 更小的容量,而且需要更少的啟動時間,容許更多的儲存器在與單一 VM 相同的運算容量上執行。 這可提高伺服器效率,減少伺服器和授權成本。
- 容易管理: 容器編排平台可自動化容器化工作負載及服務的安裝、調整及管理。 容器編排平台可簡化管理作業,例如擴充容器化應用程式、推出新版本應用程式,以及提供監視、記載及除錯等功能。 Kubernetes(可能是最常用的容器編排系統) 是一種開放程式碼技術 (最初由 Google以稱為 Borg 的內部專案為基礎來開放程式碼) ,可將最初的 Linux 容器功能自動化。 Kubernetes 可與許多容器引擎 (例如 Docker) 搭配使用,但也可與任何符合容器映像檔格式及執行時期之 Open Container Initiative (OCI) 標準的容器系統搭配使用。
- 安全: 將應用程式隔離為容器,本質上可防止惡意程式碼入侵影響其他容器或主機系統。 此外,可以定義安全許可權,以自動封鎖不想要的元件進入儲存器,或限制與不必要資源的通訊。
若要進一步瞭解儲存器化,請參閱 儲存器化說明。
何謂 Kubernetes?
Kubernetes (也稱為 "k8s" 或 "kube") 是儲存器編排平台,用於排程及自動化儲存器化應用程式的部署、管理及調整。
為何使用 Kubernetes?
隨著儲存器激增 (現今組織可能有數百或數千個儲存器) ,作業團隊需要排程及自動化儲存器部署、網路、可擴充性及可用性。
開發人員選擇 Kubernetes 的原因是其廣泛的功能、其龐大且不斷成長的開放程式碼支援工具生態系統,以及其在領先雲端提供者之間的支援和可攜性 (部分提供者現在提供完全受管理的 Kubernetes 服務)。
Kubernetes 會做什麼?
Kubernetes 會排程並自動化下列作業:
- 部署: 將指定數目的儲存器部署至指定的主機,並讓它們保持在想要的狀態中執行。
- 實施: 實施是對部署的變更。 Kubernetes 可讓您起始、暫停、回復或回復實施。
- 服務探索: Kubernetes 可以使用 DNS 名稱或 IP 位址,將容器自動公開至網際網路或其他容器。
- 儲存空間佈建: 設定 Kubernetes ,以根據需要為容器裝載持續性本端或雲端儲存空間。
- 負載平衡及調整: 當容器的資料流量激增時, Kubernetes 可以採用負載平衡及調整,以在整個網路中配送它來維護穩定性。
- 高可用性的自我修復: 當容器失敗時, Kubernetes 可以自動重新啟動或取代它; 它也可以關閉不符合性能檢查需求的容器。
何謂 Red Hat OpenShift Container Platform?
OpenShift Container Platform 是自動化部署及管理儲存器化應用程式的平台。 雖然 OpenShift Container Platform 使用 Kubernetes 來編排儲存器,但 Kubernetes 不會管理平台層次需求或部署處理程序。 因此, OpenShift Container Platform 提供平台管理工具和處理程序,以加強 Kubernetes 的功能。
如需相關資訊,請參閱 Red Hat OpenShift Container Platform。