跳至主要内容

Kubernetes 概念

本頁面解釋與 Kubernetes 相關的概念,這些概念對於了解 Rancher 的運作方式很重要。以下描述提供了 Kubernetes 元件的簡化概述。有關更多詳細資訊,請參閱 Kubernetes 元件的官方文件。

關於 Docker​

Docker 是容器打包和執行時標準。開發人員可以從 Dockerfile 建立容器映像,並從 Docker 登錄分發容器映像。Docker Hub 是一個受歡迎的公共登錄。許多組織也設定私有 Docker 登錄。Docker 主要用於管理個別節點上的容器。

關於 Kubernetes​

Kubernetes 是容器叢集管理標準。YAML 檔案指定構成應用程式的容器和其他資源。Kubernetes 執行排程、擴展、服務發現、健康檢查、秘密管理和配置管理等功能。

什麼是 Kubernetes 叢集?​

叢集是一組作為單一系統協同工作的電腦。

_Kubernetes 叢集_是使用 Kubernetes 容器編排系統來部署、維護和擴展容器的叢集,允許你的組織自動化應用程式操作。

Kubernetes 叢集中節點的角色​

Kubernetes 叢集中的每個計算資源稱為_節點_。節點可以是裸機伺服器或虛擬機器。Kubernetes 將節點分為三種類型:etcd 節點、control plane 節點和 worker 節點。

Kubernetes 叢集至少由一個 etcd、controlplane 和 worker 節點組成。

etcd 節點​

Rancher 在單節點和高可用性安裝中都使用 etcd 作為資料存放區。在 Kubernetes 中,etcd 也是儲存叢集狀態的節點角色。

Kubernetes 叢集的狀態維護在 etcd 中。etcd 節點執行 etcd 資料庫。

etcd 資料庫元件是一個分散式鍵值存放區,用作 Kubernetes 儲存所有叢集資料,例如叢集協調和狀態管理。建議在多個節點上執行 etcd,以便始終有備份可用於故障轉移。

雖然你可以在單個節點上執行 etcd,但 etcd 需要大多數節點(仲裁)同意對叢集狀態的更新。叢集應始終包含足夠的健康 etcd 節點以形成仲裁。對於具有 n 個成員的叢集,仲裁為 (n/2)+1。對於任何奇數大小的叢集,增加一個節點將始終增加仲裁所需的節點數。

三個 etcd 節點通常足以用於較小的叢集,五個 etcd 節點用於大型叢集。

Controlplane 節點​

Controlplane 節點執行 Kubernetes API 伺服器、排程器和控制器管理器。這些節點負責例行任務,以確保你的叢集維持你的配置。由於所有叢集資料都儲存在你的 etcd 節點上,因此 control plane 節點是無狀態的。你可以在單個節點上執行 control plane,但建議使用三個或更多節點以實現冗餘。此外,單個節點可以共享 control plane 和 etcd 角色。

Worker 節點​

每個 worker 節點執行以下內容:

  • Kubelets: 監視節點狀態的代理,確保你的容器健康。
  • Workloads: 承載你的應用程式的容器和 Pod,以及其他類型的部署。

Worker 節點還會在需要時執行儲存和網路驅動程式,以及 Ingress 控制器。你可以根據需要建立盡可能多的 worker 節點來執行你的工作負載。

關於 Helm​

對於 Rancher 的高可用性安裝,Helm 是用於在 Kubernetes 叢集上安裝 Rancher 的工具。

Helm 是 Kubernetes 的首選套件管理工具。Helm Charts 為 Kubernetes YAML 宣告文件提供模板語法。使用 Helm,我們可以建立可配置的部署,而不僅僅是使用靜態檔案。有關建立你自己的部署目錄的更多資訊,請查看 https://helm.sh/ 上的文件。

有關服務帳戶和叢集角色綁定的更多資訊,請參閱 Kubernetes 文件。