跳至主要内容

節點和節點集區

在 Rancher 中啟動 Kubernetes 叢集後,您可以從叢集的節點標籤管理個別節點。

  1. 點選左上角的 ☰。
  2. 選擇叢集管理。
  3. 找到您要管理其節點的叢集,並點選該列末尾的探索按鈕。
  4. 從左側導覽中選擇節點。

根據用於佈建叢集的選項,有不同的節點選項可用。

備註

如果您想管理_叢集_而不是個別節點,請參閱編輯叢集。

每個叢集建立選項可用的節點選項​

下表列出了 Rancher 中每種類型的叢集可用的節點選項。點選選項欄中的連結以取得有關每個功能的更詳細資訊。

選項基礎設施提供者託管的節點自訂節點託管叢集已註冊的 EKS 節點所有其他已註冊的節點說明
隔離✓✓✓✓✓將節點標記為不可排程。
排空✓✓✓✓✓將節點標記為不可排程_並_驅逐所有 pod。
編輯✓✓✓✓✓為節點輸入自訂名稱、說明、標籤或污點。
檢視 API✓✓✓✓✓檢視 API 資料。
刪除✓✓**從叢集中刪除有缺陷的節點。
下載金鑰✓下載 SSH 金鑰以便 SSH 連線到節點。
節點擴展✓✓向上或向下擴展節點集區中的節點數量。

* 刪除選項可透過檢視 API 存取

基礎設施提供者託管的節點​

當您在基礎設施提供者託管的節點上佈建 Rancher 啟動的 Kubernetes 叢集時,節點集區可用。

使用節點集區選項之一佈建的叢集,如果編輯節點集區,可以向上或向下擴展。

如果啟用了節點自動替換,節點集區還可以自動維護在初始叢集佈建期間設定的節點規模。此規模決定了 Rancher 為叢集維護的活躍節點數量。

Rancher 使用節點範本來替換節點集區中的節點。每個節點範本使用雲端提供者憑證,允許 Rancher 在基礎設施提供者中設定節點。

由託管 Kubernetes 提供者佈建的節點​

在 Rancher 中,管理由 Kubernetes 提供者託管的節點的選項有些受限。與其使用 Rancher UI 進行編輯(例如向上或向下擴展節點數量),不如直接編輯叢集。

已註冊的節點​

儘管您可以使用 Rancher 將工作負載部署到已註冊的叢集,但您無法管理個別叢集節點。所有匯入叢集節點的管理都必須在 Rancher 之外進行。

管理和編輯個別節點​

編輯節點可讓您:

  • 變更其名稱
  • 變更其說明
  • 新增標籤
  • 新增/移除污點

若要管理個別節點,請瀏覽到您要管理的叢集,然後從主選單中選擇節點。您可以透過點選節點的 ⋮ 圖示(...)來開啟選項選單。

在 Rancher API 中檢視節點​

選擇此選項以檢視節點的 API 端點。

刪除節點​

使用刪除從雲端提供者中移除有缺陷的節點。

當您刪除有缺陷的節點時,如果該節點位於節點集區中且啟用了節點自動替換,Rancher 可以自動用相同配置的節點替換它。

提示

如果您的叢集由基礎設施提供者託管,並且您想要縮減叢集規模而不是刪除有缺陷的節點,請縮減規模而不是刪除。

擴展節點​

對於由基礎設施提供者託管的節點,您可以使用擴展控制項來擴展每個節點集區中的節點數量。此選項不適用於其他叢集類型。

SSH 連線到由基礎設施提供者託管的節點​

對於由基礎設施提供者託管的節點,您可以選擇下載其 SSH 金鑰,以便從您的桌面遠端連線到它。

  1. 在左上角,點選 ☰ > 叢集管理。

  2. 在叢集頁面上,前往您想要 SSH 連線到節點的叢集,並點選叢集的名稱。

  3. 在機器集區標籤上,找到您想要遠端連線的節點,並點選 ⋮ > 下載 SSH 金鑰。然後會下載包含用於 SSH 的檔案的 ZIP 檔。

  4. 將 ZIP 檔解壓縮到任何位置。

  5. 開啟終端機。變更您的位置到解壓縮的 ZIP 檔。

  6. 輸入以下指令:

    ssh -i id_rsa root@<IP_OF_HOST>

隔離節點​

隔離 節點會將其標記為不可排程。此功能對於在小型維護視窗期間(例如重新啟動、升級或停用)在節點上執行簡短任務非常有用。完成後,重新啟動並透過解除隔離使節點再次可排程。

排空節點​

排空 是先隔離節點,然後驅逐其所有 pod 的過程。此功能對於執行節點維護(例如核心升級或硬體維護)非常有用。它可以防止新 pod 部署到節點,同時重新分配現有 pod,以便使用者不會遇到服務中斷。

  • 對於具有副本集的 pod,該 pod 會被排程到新節點的新 pod 替換。此外,如果 pod 是服務的一部分,那麼客戶端會自動重新導向到新 pod。

  • 對於沒有副本集的 pod,您需要啟動 pod 的新副本,並且假設它不是服務的一部分,將客戶端重新導向到它。

您可以排空處於 cordoned 或 active 狀態的節點。當您排空節點時,節點會被隔離,節點會根據必須滿足的條件進行評估,然後(如果滿足條件)節點會驅逐其 pod。

但是,您可以在啟動排空時覆蓋排空條件。您還有機會設定寬限期和逾時值。

積極和安全排空選項​

當您為叢集設定升級策略時,可以啟用節點排空。如果啟用了節點排空,您可以設定如何刪除和重新排程 pod。

  • 積極模式

    在此模式下,即使 pod 沒有控制器,也不會被重新排程到新節點。Kubernetes 預期您有自己的邏輯來處理這些 pod 的刪除。

    Kubernetes 還預期實作決定如何處理使用 emptyDir 的 pod。如果 pod 使用 emptyDir 來儲存本機資料,您可能無法安全地刪除它,因為一旦從節點移除 pod,emptyDir 中的資料就會被刪除。選擇積極模式會刪除這些 pod。

  • 安全模式

    如果節點有獨立 pod 或臨時資料,它會被隔離但不會被排空。

寬限期​

給予每個 pod 清理事務的逾時時間,以便它們有機會優雅地退出。例如,當 pod 可能需要完成任何未完成的請求、回滾事務或將狀態儲存到外部儲存時。如果為負數,則使用 pod 中指定的預設值。

逾時​

排空應繼續等待的時間量,超過此時間後放棄。

Kubernetes 已知問題:

在 Kubernetes 1.12 之前排空節點時,逾時設定未被強制執行。

已排空和已隔離狀態​

如果存在與使用者輸入相關的任何錯誤,節點會進入 cordoned 狀態,因為排空失敗。您可以更正輸入並嘗試再次排空節點,或者您可以透過解除隔離節點來中止。

如果排空繼續進行且沒有錯誤,節點會進入 draining 狀態。當節點處於此狀態時,您可以選擇停止排空,這會停止排空過程並將節點的狀態變更為 cordoned。

一旦排空成功完成,節點就處於 drained 狀態。然後您可以關閉或刪除該節點。

**想了解更多有關隔離和排空的資訊?**請參閱 Kubernetes 文件。

標記節點以被 Rancher 忽略​

某些解決方案(例如 F5 的 BIG-IP 整合)可能需要建立一個永遠不會註冊到叢集的節點。

由於節點永遠不會完成註冊,因此在 Rancher UI 中始終顯示為不健康。

在這種情況下,您可能希望標記節點以被 Rancher 忽略,以便 Rancher 僅在節點實際失敗時才將節點顯示為不健康。

您可以使用 Rancher UI 中的設定或使用 kubectl 標記要忽略的節點。

備註

有一個未解決的問題,其中標記為忽略的節點可能會卡在更新狀態。

使用 kubectl 標記要忽略的節點​

若要新增 Rancher 忽略的節點,請使用 kubectl 建立具有以下標籤的節點:

cattle.rancher.io/node-status: ignore

**結果:**如果您將節點新增到叢集,Rancher 會跳過與此節點的同步。該節點仍可以是叢集的一部分,並且可以使用 kubectl 列出。

如果在將節點新增到叢集之前新增標籤,則該節點不會顯示在 Rancher UI 中。

如果在將節點新增到 Rancher 叢集之後新增標籤,則該節點不會從 UI 中移除。

如果您使用 Rancher UI 或 API 從 Rancher 伺服器刪除節點,如果 nodeName 在 Rancher API 的 v3/settings/ignore-node-name 下的 Rancher 設定中列出,則不會從叢集中移除該節點。