跳至主要内容

在基礎設施提供者中的新節點上啟動 Kubernetes

當你在 Rancher 中使用節點範本建立 RKE 或 RKE2 叢集時,每個產生的節點池都會顯示在新的 Machine Pools 標籤中。你可以透過以下方式查看機器池:

  1. 點擊 ☰ > Cluster Management。
  2. 點擊 RKE 或 RKE2 叢集的名稱。

RKE 叢集​

使用 Rancher,你可以基於節點範本建立節點池。此節點範本定義了你想要用來在基礎設施提供者或雲端提供者中啟動節點的參數。

在由基礎設施提供者託管的節點池上安裝 Kubernetes 的一個好處是,如果節點與叢集失去連接,Rancher 可以自動建立另一個節點加入叢集,以確保節點池的數量符合預期。

可用於建立節點範本的雲端提供者是根據啟用的節點驅動程式來決定的。

節點範本​

節點範本是在特定雲端提供者中佈建節點時要使用的參數的已保存配置。這些節點可以從 UI 啟動。Rancher 使用 Docker Machine 來佈建這些節點。可用於建立節點範本的雲端提供者是基於 Rancher 中啟用的節點驅動程式。

在 Rancher 中建立節點範本後,它會被保存,以便你可以再次使用此範本來建立節點池。節點範本綁定到你的登入。新增範本後,你可以從你的使用者設定檔中移除它們。

節點標籤​

你可以在每個節點範本上新增標籤,這樣從節點範本建立的任何節點都會自動擁有這些標籤。

無效的標籤可能會阻止升級或阻止 Rancher 啟動。有關標籤語法要求的詳細資訊,請參閱 Kubernetes 文件。

節點污點​

你可以在每個節點範本上新增污點,這樣從節點範本建立的任何節點都會自動擁有這些污點。

由於可以在節點範本和節點池上新增污點,如果相同鍵和效果的污點沒有衝突,所有污點都會新增到節點上。如果有相同鍵但不同效果的污點,來自節點池的污點將覆蓋來自節點範本的污點。

管理員對節點範本的控制​

管理員可以控制所有節點範本。管理員現在可以維護 Rancher 內的所有節點範本。當節點範本所有者不再使用 Rancher 時,他們建立的節點範本可以由管理員管理,以便叢集可以繼續更新和維護。

要存取所有節點範本,管理員需要執行以下操作:

  1. 點擊 ☰ > Cluster Management。
  2. 點擊 RKE1 Configuration > Node Templates。

結果: 列出所有節點範本。可以透過點擊 ⋮ 來編輯或複製範本。

節點池​

使用 Rancher,你可以基於節點範本建立節點池。

節點範本定義了節點的配置,例如要使用的作業系統、CPU 數量和記憶體量。

使用節點池的好處是,如果節點被銷毀或刪除,你可以增加活動節點的數量以補償丟失的節點。節點池幫助你確保節點池的數量符合預期。

每個節點池必須指派一個或多個節點角色。

每個節點角色(即 etcd、controlplane 和 worker)應該指派給不同的節點池。雖然可以將多個節點角色指派給一個節點池,但這不應該在生產叢集中執行。

建議的設定是:

  • 一個具有 etcd 節點角色的節點池,數量為三
  • 一個具有 controlplane 節點角色的節點池,數量至少為兩個
  • 一個具有 worker 節點角色的節點池,數量至少為兩個

離線環境中的 RKE1 下游叢集節點:

預設情況下,Rancher 在佈建 RKE1 下游叢集節點時會嘗試執行 Docker 安裝腳本,例如在 vSphere 中。然而,Rancher Docker 安裝腳本會在離線環境中失敗。要解決此問題,你可以選擇在建立節點範本時跳過安裝 Docker,其中 Docker 已預先安裝到 VM 映像上。你可以透過在 Rancher UI 的 Engine Options 下的 Docker Install URL 下拉列表中選擇 None 來實現此目的。

Engine Options 下拉選單:

Engine Options Dropdown

節點池污點​

如果你沒有在節點範本上定義污點,你可以為每個節點池新增污點。在節點池中新增污點的好處是,你可以更改節點範本而無需首先確保污點存在於新範本中。

對於每個污點,它們將自動新增到節點池中建立的任何節點。因此,如果你向具有現有節點的節點池新增污點,污點不會套用於節點池中的現有節點,但新增到節點池的任何新節點都會獲得污點。

當節點池和節點範本上都有污點時,如果相同鍵和效果的污點沒有衝突,所有污點都會新增到節點上。如果有相同鍵但不同效果的污點,來自節點池的污點將覆蓋來自節點範本的污點。

關於節點自動替換​

如果節點在節點池中,Rancher 可以自動替換無法訪問的節點。如果節點在指定的分鐘數內變為非活動狀態,Rancher 將使用給定節點池的現有節點範本重新建立節點。

警告

自我修復節點池旨在幫助你為無狀態應用程式替換 worker 節點。不建議在主節點的節點池或附加了持久磁碟區的節點上啟用節點自動替換,因為 VM 被視為短暫的。當節點池中的節點與叢集失去連接時,其持久磁碟區將被銷毀,從而導致有狀態應用程式的資料丟失。

節點自動替換在 Kubernetes 節點控制器之上工作。節點控制器會定期檢查所有節點的狀態(可透過 kube-controller 的 --node-monitor-period 標誌配置)。當節點無法訪問時,節點控制器將污染該節點。當這種情況發生時,Rancher 將開始其刪除倒數計時。你可以配置 Rancher 等待刪除節點的時間量。如果在刪除倒數計時結束之前未移除污點,Rancher 將繼續刪除節點物件。然後,Rancher 將根據節點池的設定數量佈建一個節點。

啟用節點自動替換​

建立節點池時,你可以指定 Rancher 等待替換無響應節點的時間(以分鐘為單位)。

  1. 在建立或編輯叢集的表單中,前往 Node Pools 部分。
  2. 前往你想要啟用節點自動替換的節點池。在 Recreate Unreachable After 欄位中,輸入 Rancher 在替換節點之前應等待節點響應的分鐘數。
  3. 填寫建立或編輯叢集的表單的其餘部分。

結果: 節點池啟用了節點自動替換。

停用節點自動替換​

你可以透過以下步驟從 Rancher UI 停用節點自動替換:

  1. 點擊 ☰ > Cluster Management。
  2. 在 Clusters 頁面上,前往你想要停用節點自動替換的叢集,然後點擊 ⋮ > Edit Config。
  3. 在 Node Pools 部分,前往你想要啟用節點自動替換的節點池。在 Recreate Unreachable After 欄位中,輸入 0。
  4. 點擊 Save。

結果: 節點池停用了節點自動替換。

雲端憑證​

節點範本可以使用雲端憑證來儲存在雲端提供者中啟動節點的憑證,這有一些好處:

  • 憑證儲存為 Kubernetes secret,這不僅更安全,而且還允許你編輯節點範本而無需每次都輸入憑證。

  • 建立雲端憑證後,可以重複使用它來建立額外的節點範本。

  • 多個節點範本可以共享相同的雲端憑證來建立節點池。如果你的金鑰被洩露或過期,可以在一個地方更新雲端憑證,這允許所有使用它的節點範本一次性更新。

建立雲端憑證後,使用者可以開始管理他們建立的雲端憑證。

節點驅動程式​

如果你找不到想要使用的節點驅動程式,你可以查看它是否可在 Rancher 的內建節點驅動程式中使用並啟用它,或者你可以新增自己的自訂節點驅動程式。

RKE2 叢集​

Rancher v2.6 引入了直接從 Rancher UI 佈建 RKE2 叢集。RKE2,也稱為 RKE Government,是一個完全符合標準的 Kubernetes 發行版,專注於美國聯邦政府部門的安全性和合規性。

備註

有關 RKE2 叢集範本的更多資訊,請參閱此頁面。

節點角色​

RKE2 CLI 公開了兩個角色,server 和 agent,分別代表 Kubernetes 節點角色 etcd + controlplane 和 worker。透過 Rancher v2.6 中的 RKE2 整合,RKE2 節點池可以表示更細粒度的角色分配,以便可以表示 etcd 和 controlplane 角色。

在 RKE2 CLI 中使用 etcd、controlplane 和 worker 節點的相同功能是可能的,方法是使用標誌和節點污點來控制工作負載和 Kubernetes 主節點的調度位置。這些角色沒有在 RKE2 CLI 中實作為一級角色的原因是,RKE2 被概念化為一組原始構建塊,最好透過 Rancher 等編排系統來利用。

在 Rancher 中實作三個節點角色意味著 Rancher 管理的 RKE2 叢集能夠輕鬆利用推薦用於 RKE 叢集的所有相同架構最佳實踐。

在我們的建議叢集架構中,我們概述了叢集應該擁有多少個每個角色的節點:

  • 至少三個具有 etcd 角色的節點,以承受丟失一個節點
  • 至少兩個具有 controlplane 角色的節點,用於主元件高可用性
  • 至少兩個具有 worker 角色的節點,用於在節點故障時重新調度工作負載