跳至主要内容

範例情境

這些範例情境說明了組織如何使用範本來標準化叢集建立。

  • 強制執行範本: 如果管理員希望所有新的 Rancher 佈建的叢集都具有這些設定,他們可能想要為每個人強制執行一個或多個範本設定。
  • 與不同使用者共享不同範本: 管理員可能會為基本和進階使用者提供不同的範本,以便基本使用者有更多限制選項,而進階使用者在建立叢集時有更多靈活性。
  • 更新範本設定: 如果組織的安全和 DevOps 團隊決定將最佳實踐嵌入到新叢集的必需設定中,這些最佳實踐可能會隨時間而變更。如果最佳實踐變更,範本可以更新到新的修訂版本,從範本建立的叢集可以升級到範本的新版本。
  • 共享範本的所有權: 當範本擁有者不再想要維護範本,或想要委派範本的所有權時,此情境說明了如何共享範本所有權。

為每個人強制執行範本設定​

假設有一個組織,管理員決定所有新叢集都應該使用 Kubernetes 版本 1.14 建立。

  1. 首先,管理員建立一個範本,將 Kubernetes 版本指定為 1.14,並將所有其他設定標記為允許使用者覆寫。
  2. 管理員將範本設為公開。
  3. 管理員開啟範本強制執行。

結果:

  • 組織中的所有 Rancher 使用者都可以存取該範本。
  • 使用此範本建立的所有新叢集都將使用 Kubernetes 1.14,標準使用者無法使用不同的 Kubernetes 版本。預設情況下,標準使用者沒有建立範本的權限,因此除非與他們共享更多範本,否則此範本將是他們可以使用的唯一範本。
  • 所有標準使用者必須使用叢集範本來建立新叢集。他們無法在不使用範本的情況下建立叢集。

透過這種方式,管理員在整個組織中強制執行 Kubernetes 版本,同時仍允許最終使用者配置其他所有內容。

基本和進階使用者的範本​

假設組織同時擁有基本和進階使用者。管理員希望基本使用者必須使用範本,而進階使用者和管理員可以隨意建立叢集。

  1. 首先,管理員開啟 RKE 範本強制執行。這意味著 Rancher 中的每個標準使用者在建立叢集時都需要使用 RKE 範本。
  2. 然後管理員建立兩個範本:
  • 一個用於基本使用者的範本,幾乎所有選項都已指定,除了存取金鑰
  • 一個用於進階使用者的範本,大部分或所有選項都開啟了允許使用者覆寫
  1. 管理員僅與進階使用者共享進階範本。
  2. 管理員將基本使用者的範本設為公開,因此更嚴格的範本對於建立 Rancher 佈建叢集的每個人都是一個選項。

結果: 除管理員外,所有 Rancher 使用者在建立叢集時都需要使用範本。每個人都可以存取限制性範本,但只有進階使用者有權使用更寬鬆的範本。基本使用者受到更多限制,而進階使用者在配置 Kubernetes 叢集時有更多自由。

更新範本和使用它們建立的叢集​

假設組織有一個要求叢集使用 Kubernetes v1.14 的範本。但是,隨著時間的推移,管理員改變了主意。他們決定希望使用者能夠將叢集升級到使用更新版本的 Kubernetes。

在這個組織中,許多叢集都是使用要求 Kubernetes v1.14 的範本建立的。由於範本不允許覆寫該設定,建立叢集的使用者無法直接編輯該設定。

範本擁有者有幾個選項可以允許叢集建立者在其叢集上升級 Kubernetes:

  • 在範本上指定 Kubernetes v1.15: 範本擁有者可以建立一個指定 Kubernetes v1.15 的新範本修訂版本。然後,使用該範本的每個叢集的擁有者可以將其叢集升級到範本的新修訂版本。此範本升級允許叢集建立者將其叢集上的 Kubernetes 升級到 v1.15。
  • 在範本上允許任何 Kubernetes 版本: 在建立範本修訂版本時,範本擁有者還可以使用 Rancher UI 上該設定附近的開關將 Kubernetes 版本標記為允許使用者覆寫。這將允許升級到此範本修訂版本的叢集使用任何版本的 Kubernetes。
  • 在範本上允許最新的 Kubernetes 次要版本: 範本擁有者還可以建立一個範本修訂版本,其中 Kubernetes 版本定義為最新 v1.14(允許修補程式版本升級)。這意味著使用該修訂版本的叢集將能夠獲得修補程式版本升級,但不允許主要版本升級。

允許其他使用者控制和共享範本​

假設 Alice 是 Rancher 管理員。她擁有一個 RKE 範本,該範本反映了她組織商定的建立叢集的最佳實踐。

Bob 是一個進階使用者,可以對叢集配置做出明智的決定。Alice 相信 Bob 能夠在最佳實踐隨時間更新時建立她範本的新修訂版本。因此,她決定讓 Bob 成為範本的擁有者。

要與 Bob 共享範本的所有權,Alice 將 Bob 新增為她範本的擁有者。

結果是,作為範本擁有者,Bob 負責該範本的版本控制。Bob 現在可以執行以下所有操作: