- OpenShift 教程
- OpenShift - 首頁
- OpenShift - 概述
- OpenShift - 型別
- OpenShift - 架構
- OpenShift - 環境設定
- OpenShift - 基本概念
- OpenShift - 入門
- OpenShift - 構建自動化
- OpenShift - CLI
- OpenShift - CLI 操作
- OpenShift - 叢集
- OpenShift - 應用擴充套件
- OpenShift - 管理
- OpenShift - Docker 和 Kubernetes
- OpenShift - 安全
- OpenShift 有用資源
- OpenShift - 快速指南
- OpenShift - 有用資源
- OpenShift - 討論
OpenShift - 架構
OpenShift 是一個分層系統,其中每一層都使用 Kubernetes 和 Docker 叢集與其他層緊密繫結。OpenShift 的架構設計能夠支援和管理 Docker 容器,這些容器使用 Kubernetes 託管在所有層之上。與早期版本的 OpenShift V2 不同,新版本的 OpenShift V3 支援容器化基礎設施。在此模型中,Docker 幫助建立輕量級的基於 Linux 的容器,而 Kubernetes 支援在多個主機上編排和管理容器的任務。
OpenShift 元件
OpenShift 架構的關鍵元件之一是管理 Kubernetes 中的容器化基礎設施。Kubernetes 負責基礎設施的部署和管理。在任何 Kubernetes 叢集中,我們都可以擁有多個主節點和多個工作節點,這確保了設定中沒有單點故障。
Kubernetes 主節點元件
Etcd − 它儲存配置資訊,叢集中的每個節點都可以使用這些資訊。它是一個高可用性的鍵值儲存,可以在多個節點之間分佈。它應該只能由 Kubernetes API 伺服器訪問,因為它可能包含敏感資訊。它是一個分散式鍵值儲存,所有節點都可以訪問。
API 伺服器 − Kubernetes 是一個 API 伺服器,它使用 API 提供叢集上的所有操作。API 伺服器實現了介面,這意味著不同的工具和庫可以輕鬆地與之通訊。kubeconfig 是一個與伺服器端工具一起提供的包,可用於通訊。它公開了 Kubernetes API”。
控制器管理器 − 該元件負責大多數調節叢集狀態並執行任務的控制器。它可以被視為一個在非終止迴圈中執行的守護程序,負責收集資訊並將其傳送到 API 伺服器。它致力於獲取叢集的共享狀態,然後進行更改以將伺服器的當前狀態更改為所需狀態。關鍵控制器包括複製控制器、端點控制器、名稱空間控制器和服務帳戶控制器。控制器管理器執行不同型別的控制器來處理節點、端點等。
排程器 − 它是 Kubernetes 主節點的關鍵元件。它是主節點中的一個服務,負責分發工作負載。它負責跟蹤叢集節點上工作負載的利用率,然後將工作負載放置在有可用資源並接受工作負載的節點上。換句話說,這是分配 Pod 到可用節點的機制。排程器負責工作負載利用率並將 Pod 分配到新節點。
Kubernetes 工作節點元件
以下是工作節點伺服器的關鍵元件,這些元件對於與 Kubernetes 主節點通訊是必要的。
Docker − 每個節點的第一個要求是 Docker,它有助於在相對隔離但輕量級的作業系統環境中執行封裝的應用程式容器。
Kubelet 服務 − 這是每個節點中的一個小服務,負責在控制平面服務之間來回傳遞資訊。它與 etcd 儲存互動以讀取配置詳細資訊和寫入值。它與主元件通訊以接收命令和工作。然後,kubelet 程序負責維護工作和節點伺服器的狀態。它管理網路規則、埠轉發等。
Kubernetes 代理服務 − 這是一項在每個節點上執行的代理服務,有助於使服務對外部主機可用。它有助於將請求轉發到正確的容器。Kubernetes 代理服務能夠執行基本負載平衡。它確保網路環境是可預測且可訪問的,但同時也是隔離的。它管理節點上的 Pod、卷、金鑰、建立新的容器健康檢查等。
整合的 OpenShift 容器登錄檔
OpenShift 容器登錄檔是 Red Hat 的內建儲存單元,用於儲存 Docker 映象。透過 OpenShift 的最新整合版本,它提供了一個使用者介面來檢視 OpenShift 內部儲存中的映象。這些登錄檔能夠儲存帶有指定標籤的映象,這些映象稍後用於從中構建容器。
常用術語
映象 − Kubernetes (Docker) 映象是容器化基礎設施的關鍵構建塊。目前,Kubernetes 僅支援 Docker 映象。Pod 中的每個容器在其內部執行其 Docker 映象。配置 Pod 時,配置檔案中的 image 屬性與 Docker 命令具有相同的語法。
專案 − 它們可以定義為早期版本 OpenShift V2 中存在的域的重新命名版本。
容器 − 它們是在映象部署到 Kubernetes 叢集節點後建立的。
節點 − 節點是 Kubernetes 叢集中的工作機器,也稱為主節點的從節點。它們是工作單元,可以是物理機、虛擬機器或雲實例。
Pod − Pod 是 Kubernetes 叢集節點內部的容器及其儲存的集合。可以在其中建立包含多個容器的 Pod。例如,將資料庫容器和 Web 伺服器容器保留在 Pod 中。