關於 RKE1 範本
RKE1 已終止支援且不再受支援。對於新部署,請使用 RKE2 或 K3s。
RKE 範本旨在讓 DevOps 和安全團隊能夠標準化並簡化 Kubernetes 叢集的建立。
RKE 是 Rancher Kubernetes Engine,這是 Rancher 用於佈建 Kubernetes 叢集的工具。
隨著 Kubernetes 越來越受歡迎,管理大量小型叢集的趨勢也在增長。當您想要建立許多叢集時,更重要的是以一致的方式管理它們。多叢集管理帶來了執行安全性和附加元件配置的挑戰,這些配置需要在將叢集交給最終使用者之前進行標準化。
RKE 範本有助於標準化這些配置。無論叢集是使用 Rancher UI、Rancher API 還是自動化程序建立的,Rancher 都會保證它從 RKE 範本佈建的每個叢集在生產方式上都是統一和一致的。
管理員控制哪些叢集選項可以由最終使用者變更。RKE 範本也可以與特定使用者和群組共享,以便管理員可以為不同的使用者集建立不同的 RKE 範本。
如果叢集是使用 RKE 範本建立的,您無法將其變更為不同的 RKE 範本。您只能將叢集更新到同一範本的新修訂版本。
您可以將現有叢集的配置儲存為 RKE 範本。然後,叢集的設定只能在範本更新時變更。新範本也可以用於啟動新叢集。
RKE 範本的核心功能允許 DevOps 和安全團隊:
- 標準化叢集配置並確保 Rancher 佈建的叢集遵循最佳實踐建立
- 防止技術能力較低的使用者在佈建叢集時做出不明智的選擇
- 與不同的使用者和群組共享不同的範本
- 將範本的所有權委派給受信任可以對其進行變更的使用者
- 控制哪些使用者可以建立範本
- 要求使用者從範本建立叢集
可配置的設定
RKE 範本可以在 Rancher UI 中建立或以 YAML 格式定義。它們可以定義使用 Rancher 佈建自訂節點或來自基礎設施提供者的節點時可以指定的所有相同參數:
- 雲端提供者選項
- Pod 安全選項
- 網路提供者
- Ingress 控制器
- 網路安全配置
- 網路外掛程式
- 私有註冊表 URL 和憑證
- 附加元件
- Kubernetes 選項,包括 Kubernetes 元件(如 kube-api、kube-controller、kubelet 和服務)的配置
RKE 範本的附加元件部分特別強大,因為它允許廣泛的自訂選項。
RKE 範本的範圍
RKE 範本支援 Rancher 佈建的叢集。範本可用於佈建自訂叢集或由基礎設施提供者啟動的叢集。
RKE 範本用於定義 Kubernetes 和 Rancher 設定。節點範本負責配置節點。有關如何結合硬體使用 RKE 範本的提示,請參閱 RKE 範本和硬體。
RKE 範本可以從頭開始建立以預先定義叢集配置。它們可以套用於啟動新叢集,或者也可以從現有執行中的叢集匯出範本。
現有叢集的設定可以儲存為 RKE 範本。這會建立一個新範本並將叢集設定繫結到範本,以便只有在範本更新時才能升級叢集,並且叢集升級到使用更新版本的範本。新範本也可以用於建立新叢集。
範例情境
當組織同時擁有基本和進階 Rancher 使用者時,管理員可能希望為進階使用者提供更多的叢集建立選項,同時限制基本使用者的選項。
這些範例情境說明了組織如何使用範本來標準化叢集建立。
一些範例情境包括以下內容:
- 強制執行範本: 如果管理員希望所有新的 Rancher 佈建的叢集都具有這些設定,他們可能想要為每個人強制執行一個或多個範本設定。
- 與不同 使用者共享不同範本: 管理員可能會為基本和進階使用者提供不同的範本,以便基本使用者可以有更多限制選項,而進階使用者在建立叢集時可以更靈活。
- 更新範本設定: 如果組織的安全和 DevOps 團隊決定將最佳實踐嵌入到新叢集的必需設定中,這些最佳實踐可能會隨時間而變更。如果最佳實踐變更,範本可以更新到新的修訂版本,從範本建立的叢集可以升級到新版本的範本。
- 共享範本的所有權: 當範本擁有者不再想要維護範本,或想要共享範本的所有權時,此情境說明了如何共享範本所有權。
範本管理
當您建立 RKE 範本時,它可以從叢集管理檢視下的 RKE 範本在 Rancher UI 中使用。當您建立範本時, 您成為範本擁有者,這使您有權修訂和共享範本。您可以與特定使用者或群組共享 RKE 範本,也可以將其公開。
管理員可以開啟範本強制執行,要求使用者在建立叢集時始終使用 RKE 範本。這允許管理員保證 Rancher 始終使用特定設定佈建叢集。
RKE 範本更新透過修訂系統處理。如果您想要變更或更新範本,您可以建立範本的新修訂版本。然後,使用舊版本範本建立的叢集可以升級到新的範本修訂版本。
在 RKE 範本中,設定可以限制為範本擁有者選擇的內容,或者可以開放供最終使用者選擇值。差異由建立範本時 Rancher UI 中每個設定上方的允許使用者覆寫切換按鈕指示。
對於無法覆寫的設定,最終使用者將無法直接編輯它們。為了讓使用者獲得這些設定的不同選項,RKE 範本擁有者需要建立 RKE 範本的新修訂版本,這將允許使用者升級並變更該選項。
本節中的文件說明了 RKE 範本管理的詳細資訊:
提供了範本的範例 YAML 配置檔案供參考。
套用範本
如果 RKE 範本擁有者建立範本的新修訂版本,您可以將叢集升級到該修訂版本。
RKE 範本可以從頭開始建立以預先定義叢集配置。它們可以套用於啟動新叢集,或者也可以從現有執行中的叢集匯出範本。
您可以將現有叢集的配置儲存為 RKE 範本。然後,叢集的設定只能在範本更新時變更。
標準化硬體
RKE 範本旨在標準化 Kubernetes 和 Rancher 設定。如果您也想標準化基礎設施,一個選擇是結合其他工具使用 RKE 範本。
另一個選擇是使用叢集範本,其中包括節點池配置選項,但不提供配置強制執行。
YAML 自訂
如果您將 RKE 範本定義為 YAML 檔案,您可以修改此範例 RKE 範本 YAML。RKE 範本中的 YAML 使用與 Rancher 建立 RKE 叢集時相同的自訂,但由於 YAML 位於 Rancher 佈建叢集的上下文中,您需要在 YAML 中的 rancher_kubernetes_engine_config 指令下巢狀 RKE 範本自訂。
RKE 文件還有帶註釋的 cluster.yml 檔案,您可以用作參考。
有關可用選項的指導,請參閱 RKE 文件中的叢集配置。
附加元件
RKE 範本配置檔案的附加元件部分與叢集配置檔案的附加元件部分的工作方式相同。
使用者定義的附加元件指令允許您呼叫並拉取 Kubernetes 清單或直接將它們內聯。如果您將這些清單作為 RKE 範本的一部分包含在內,Rancher 將在叢集中佈建它們。
您可以使用附加元件執行的一些操作包括:
- 在 Kubernetes 叢集啟動後在其上安裝應用程式
- 在使用 Kubernetes daemonset 部署的節點上安裝外掛程式
- 自動設定命名空間、服務帳號或角色繫結
RKE 範本配置必須巢狀在 rancher_kubernetes_engine_config 指令中。要設定附加元件,在建立範本時,您將點擊編輯為 YAML。然後使用 addons 指令新增清單,或使用 addons_include 指令設定用於附加元件的 YAML 檔案。有關自訂附加元件的更多資訊,請參閱使用者定義的附加元件文件。