全部產品
Search
文件中心

Container Service for Kubernetes:編輯節點池

更新時間:Dec 19, 2024

建立節點池後,ACK支援通過控制台調整節點池的配置,例如節點池所在的虛擬交換器、付費類型、執行個體規格、系統硬碟及啟用或停用Auto Scaling等。本文介紹如何編輯節點池。

注意事項

  • 編輯節點池時,除特殊說明情境外(如同步更新存量節點標籤及汙點),不會修改節點池已有節點的配置,僅作用於新增節點。節點池的營運操作,例如節點池升級、節點池節點恢複、節點池CVE修複、節點池自訂kubelet配置,會修改存量節點的配置。

  • 編輯節點池不會影響節點池內已有節點和業務的運行。

操作步驟

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇節點管理 > 節點池

  3. 在節點池列表頁面中,單擊目標節點池所在行操作列的編輯

  4. 在編輯節點池頁面,編輯節點池的配置項。

    說明

    下表中,錯代表配置後不支援修改,對代表配置後支援修改。

    配置項

    是否支援修改

    描述

    地區

    錯

    表示叢集所在的地區。

    容器運行時

    錯

    關於容器運行時的更多資訊,請參見containerd、安全沙箱、Docker運行時的對比

    擴容模式

    對

    支援手動擴容自動調整兩種擴容方式,根據業務需求和策略自動調整計算資源,節省叢集成本。

    • 手動擴容:ACK會根據配置的期望節點數調整節點池中的節點數,將節點數始終維持在期望節點數。更多資訊,請參見手動擴縮容節點池

    • 自動調整:當叢集的容量規劃無法滿足應用Pod調度時,ACK會根據配置的最小和最大執行個體數自動擴縮節點資源。1.24及以上版本的叢集預設啟用節點即時彈性;1.24以下版本的叢集預設啟用節點自動調整。更多資訊,請參見節點伸縮概述

    專用網路

    錯

    Virtual Private Cloud預設選擇叢集VPC。

    交換器

    對

    在列表中根據可用性區域選擇已有vSwitch交換器,或單擊建立虛擬交換器建立新的vSwitch。叢集控制面與預設節點池將使用此處指定的vSwitch。推薦選擇多個不同可用性區域的vSwitch,更好地保障叢集高可用。

    節點池後續的擴縮容將根據進階選項中的擴縮容策略,在選擇的虛擬交換器可用性區域下彈出節點。

    付費類型

    對

    節點池擴容ECS執行個體時預設採用的付費類型,支援隨用隨付訂用帳戶搶佔式執行個體

    • 訂用帳戶:需配置購買時間長度以及自動續約

    • 搶佔式執行個體:目前僅支援具有保護期的搶佔式執行個體。需同時配置單台執行個體上限價格

      當指定執行個體規格的即時市場價格低於單台執行個體上限價格時,能成功建立搶佔式執行個體。超過保護期後(1小時),每5分鐘檢測一次執行個體規格的即時市場價格和庫存。如果某一時刻的市場價格高於出價或執行個體規格庫存不足,搶佔式執行個體會被釋放。使用方式,請參見搶佔式執行個體Auto Scaling最佳實務

    為保證節點池統一,隨用隨付、訂用帳戶節點池與搶佔式執行個體節點池之間不支援轉換。例如,對於建立節點池時選擇付費類型為隨用隨付或訂用帳戶的節點池,編輯節點池時不展示搶佔式執行個體;反之亦然。

    說明

    執行個體相關的配置項

    對

    根據執行個體規格或屬性選擇Worker節點池使用的ECS執行個體,可通過vCPU、記憶體、規格類型系列、架構等屬性篩選所需的執行個體規格類型系列。您可以參見ECS執行個體規格配置建議擷取節點的配置建議。

    節點池擴容時,將從選中的執行個體規格中擴容。具體擴容到的執行個體規格取決於節點池擴縮容策略。選擇的執行個體規格越多,節點池成功彈出節點的機率越大。

    由於執行個體規格不可用或庫存不足,導致節點池彈出節點失敗時,可以嘗試添加更多執行個體規格。您可以參照控制台的彈性強度建議添加執行個體規格,也可以建立節點池後查看查看節點池彈性強度

    如果您選擇的執行個體均為GPU伺服器,您可以按需開啟共用 GPU 調度。更多資訊,請參見共用GPU調度概述

    作業系統

    對

    雲市場鏡像處於灰階發布中。
    說明
    • 修改節點池系統鏡像時,僅影響新增節點,不會修改節點池已有節點的系統鏡像。已有節點的系統鏡像升級,請參見升級節點池

    • 為保證節點池內節點系統鏡像的統一,修改節點池鏡像時,僅允許修改為同類型鏡像的最新版本,不支援更改鏡像類型。

    系統硬碟

    對

    支援ESSD AutoPLESSD雲端硬碟ESSD EntrySSD雲端硬碟高效雲端硬碟。系統硬碟可選的類型與選擇的執行個體規格類型系列相關。如果雲端硬碟類型下拉式清單沒有顯示的雲端硬碟類型,代表不支援該雲端硬碟類型。

    ESSD雲端硬碟自訂效能和加密能力

    • ESSD雲端硬碟支援自訂效能層級。ESSD雲端硬碟容量越大,可供選擇的效能層級越高(460 GiB容量以上可選PL2,1260 GiB以上可選PL3)。更多資訊,請參見容量範圍與效能層級的關係

    • 建立系統硬碟時,僅ESSD雲端硬碟支援加密。選擇密鑰時,阿里雲預設使用服務密鑰(Default Service CMK)進行加密,您也可以選擇事先在KMS服務中建立好的自訂密鑰(BYOK)為該雲端硬碟加密。

    您可以選擇配置更多系統硬碟類型,配置與系統硬碟不同的磁碟類型,提高擴容成功率。建立執行個體時,系統將根據指定的磁碟類型順序,選擇第一個匹配的磁碟類型用於建立執行個體。

    資料盤

    對

    支援ESSD AutoPLESSD雲端硬碟ESSD Entry以及上一代雲端硬碟(SSD雲端硬碟高效雲端硬碟)。資料盤可選的類型與選擇的執行個體規格類型系列相關。如果雲端硬碟類型下拉式清單沒有顯示的雲端硬碟類型,代表不支援該雲端硬碟類型。

    ESSD AutoPL支援

    • 預配置效能:在保持儲存容量大小不變的情況下,可以結合實際業務的需求量靈活配置雲端硬碟的預配置效能,從而實現雲端硬碟容量與效能解耦。

    • 效能突發:開啟後,波動性業務面臨突發的資料讀寫壓力時,雲端硬碟會根據業務實際情況臨時提升雲端硬碟效能,直至業務恢複至平穩狀態。

    ESSD雲端硬碟支援

    自訂效能層級。ESSD雲端硬碟容量越大,可供選擇的效能層級越高(460 GiB容量以上可選PL2,1260 GiB以上可選PL3)。更多資訊,請參見容量範圍與效能層級的關係

    • 掛載資料盤時,所有雲端硬碟類型均支援加密。選擇密鑰時,阿里雲預設使用服務密鑰(Default Service CMK)進行加密,您也可以選擇事先在KMS服務中建立好的自訂密鑰(BYOK)為該雲端硬碟進行加密。

    • 在需要容器鏡像加速、大模型快速載入等情境下,您還可以使用快照建立資料盤,提升系統的響應速度和處理能力。

    • 每個節點上需有一塊資料盤被掛載到/var/lib/container/var/lib/kubelet/var/lib/containerd將掛載到/var/lib/container目錄下)。對於節點上的其他資料盤,您可以進行初始化設定,自訂其掛載目錄。使用說明,請參見ACK節點池中資料盤可以自訂目錄掛載嗎?

    說明

    一台ECS執行個體最多可掛載64塊資料盤,不同執行個體規格支援掛載的最多雲端硬碟數量不同。對於執行個體規格支援掛載的雲端硬碟數量上限,可以通過DescribeInstanceTypes介面查詢(DiskQuantity)。

    對

  5. 展開進階選項(選填),配置節點擴縮容策略。

    配置項

    是否支援修改

    說明

    擴縮容策略

    對

    • 優先順序策略:根據叢集配置的虛擬交換器的優先順序進行擴縮容(選擇的虛擬交換器的順序,由上到下優先順序遞減)。當優先順序較高的虛擬交換器所在可用性區域無法建立ECS執行個體時,自動使用下一優先順序的虛擬交換器建立ECS執行個體。

    • 成本最佳化策略:按vCPU單價從低到高嘗試建立執行個體。

      當節點池付費類型搶佔式執行個體時,將優先建立搶佔式計費執行個體。支援同時配置按量執行個體所佔比例(%),當搶佔式計費執行個體規格因庫存等原因無法建立時,自動使用隨用隨付執行個體來補充。

    • 均衡分布策略:只有設定多個專用網路交換器時,均衡分布策略才會生效。在伸縮組指定的多可用性區域(即指定多個專用網路交換器)之間均勻分配ECS執行個體。如果由於庫存不足等原因造成可用性區域之間不平衡,您可以再次進行均衡操作,以平衡資源的可用性區域分布。

  6. 展開進階選項(選填),配置資源群組、ECS標籤、汙點等資訊。

    展開查看其他進階選項配置

    配置項

    是否支援修改

    說明

    資源群組

    對

    建立的叢集將歸屬於選擇的資源群組。一個資源只能歸屬於一個資源群組。根據不同的業務情境,您可以將資源群組映射為專案、應用或組織等概念。

    ECS 標籤

    對

    為彈出的ECS添加標籤,標籤鍵不可重複。最大長度為128個字元,標籤鍵和標籤值不能以aliyunacs:開頭,不能包含https://http://

    一台ECS可綁定標籤的上限為20個。如需提高上限,請到配額平台提交申請。由於ACK和ESS存在以下標籤佔用,因此您可以最多指定17個ECS標籤。

    • ACK預設佔用兩個ECS標籤。

      • ack.aliyun.com:<您的叢集ID>

      • ack.alibabacloud.com/nodepool-id:<您的節點池ID>

    • ESS預設佔用1個ECS標籤:acs:autoscaling:scalingGroupId:<您的節點池伸縮組ID>

    說明
    • 開啟Auto Scaling後,因Auto Scaling將預設佔用兩個ECS標籤,因此節點池會額外佔用兩個ECS標籤:k8s.io/cluster-autoscaler:truek8s.aliyun.com:true

    • 自動調整組件為了預檢測彈出節點的調度行為,需依靠ECS標籤記錄K8s的節點標籤和汙點。因此節點每個標籤會轉為k8s.io/cluster-autoscaler/node-template/label/標籤鍵:標籤值,節點每個汙點會轉為k8s.io/cluster-autoscaler/node-template/taint/汙點鍵/汙點值:汙點效果

    • 修改ECS標籤不會對節點池已有節點生效,僅對節點池新增節點生效。已有節點如需修改ECS標籤,請通過ECS控制台操作。

    同步更新存量節點的 ECS 標籤

    對

    勾選後,此次對節點池中ECS標籤的改動(包括新增、修改、刪除)將會對叢集中存量節點對應的ECS執行個體生效。請在業務低峰期執行操作。

    展開查看具體的同步行為

    • 新增或修改:

      • 如果存量節點存在相同的ECS標籤,其會調整為變更後的值。

      • 如果存量節點不存在相同的ECS標籤,ACK會為存量節點新增該ECS標籤。

    • 刪除:如果本次變更中刪除了某ECS標籤,當存量節點存在相同的ECS標籤時,該標籤會被刪除。

    汙點 (Taints)

    對

    為節點添加汙點,汙點(Taints)包含Effect(效果)。有效汙點鍵包含首碼(可選)和名稱。如果有首碼,用正斜線(/)分隔。更多資訊,請參見汙點和容忍度。汙點有以下限制:

    • :汙點鍵的名稱長度為1~63個字元,必須以字母、數字或字元[a-z0-9A-Z]開頭和結尾,中間可包含字母、數字、短劃線(-)、底線(_)、英文半形句號(.)。

      如果指定首碼,必須是DNS子域。即一系列由英文半形句號(.)分隔的DNS標籤,不超過253個字元,並以正斜線(/)結尾。關於DNS子域,請參見DNS子域

    • :汙點值可以為空白,不超過63個字元,必須以字母、數字或字元[a-z0-9A-Z]開頭和結尾,可包含字母、數字、短劃線(-)、底線(_)、英文半形句號(.)。

    • Effect:可選擇NoScheduleNoExecutePreferNoSchedule三種。

      • NoSchedule:如果汙點中存在至少一個Effect值為NoSchedule的汙點,則系統不會將Pod分配到該節點。

      • NoExecute:任何不能忍受這個汙點的Pod都會被驅逐,任何可以忍受這個汙點的Pod都不會被驅逐。

      • PreferNoSchedule:系統會盡量避免將Pod調度到存在其不能容忍汙點的節點上,但不會強制執行。

    說明

    修改汙點不會對節點池已有節點生效,僅對節點池新增節點生效。已有節點如需修改汙點,可以通過勾選下方節點標籤中的同步更新存量節點標籤及汙點實現,或者單擊節點頁面右上方的標籤與汙點管理,手動管理節點汙點。

    節點標籤(Labels)

    對

    為節點添加標籤,標籤是索引值(Key-Value)對。有效Key包含首碼(可選)和名稱,如有首碼,首碼和名稱之間用正斜線(/)分隔。標籤有以下限制。

    • Key:名稱長度為1~63個字元,必須以字母數字字元[a-z0-9A-Z]開頭和結尾,中間可包含字母、數字、短劃線(-)、底線(_)、英文半形句號(.)。

      如果指定首碼,必須是DNS子域,即一系列由英文半形句號(.)分隔的DNS標籤,不超過253個字元,以正斜線(/)結尾。

      以下首碼由Kubernetes核心組件保留,不支援指定

      • kubernetes.io/

      • k8s.io/

      • kubernetes.io/k8s.io/結尾的首碼。例如test.kubernetes.io/

        以下除外:

        • kubelet.kubernetes.io/

        • node.kubernetes.io

        • kubelet.kubernetes.io/結尾的首碼。

        • node.kubernetes.io結尾的首碼。

    • Value:可以為空白,不超過63個字元,必須以字母數字字元[a-z0-9A-Z]開頭和結尾,可包含字母、數字、短劃線(-)、底線(_)和英文半形句號(.)。

    展開查看同步更新存量節點標籤及汙點資訊

    勾選該項後,會將此次修改的節點標籤及汙點同步更新到已有節點和新節點上。

    勾選該選項後僅會更新本次節點池配置發生變化的節點標籤和汙點,並不會將存量節點的全部標籤及汙點更改為節點池終態配置。例如現有節點A,具有標籤:

    • testA : testA

    • testB : testB

    節點池當前配置為:testA : testA,當修改節點池當前配置為testC : testC。

    節點池前後兩次的配置變化為增加了testC : testC,去除了testA : testA。此時節點A的標籤將變為:

    • testB : testB

    • testC : testC

    展開查看設定為不可調度資訊

    勾選該項後,新添加的節點註冊到叢集時預設設定為不可調度。若想開啟調度選項,可以在節點列表中開啟。

    說明

    設定為不可調度不會對節點池已有節點生效,僅對節點池新增節點生效。

    同步更新存量節點的標籤(Labels)及汙點(Taints)

    對

    勾選後,此次對節點池中節點標籤(Labels)和汙點(Taints)的改動(包括新增、修改、刪除)將會對叢集中的存量節點生效。請在業務低峰期執行操作。

    展開查看節點標籤的同步行為

    • 新增或修改:

      • 如果存量節點存在相同的節點標籤,其會調整為變更後的值。

      • 如果存量節點不存在相同的節點標籤,ACK會為存量節點新增該節點標籤。

    • 刪除:如果本次變更中刪除了某節點標籤,當存量節點存在相同的節點標籤時,該標籤會被刪除。

    展開查看汙點的同步行為

    • 新增或修改:

      • 如果存量節點存在相同Effect的汙點,其會調整為變更後的值。

      • 如果存量節點不存在相同Effect的汙點,ACK會為存量節點新增該汙點。

    • 刪除:如果本次變更中刪除了某汙點,當存量節點存在相同Effect的汙點時,該汙點會被刪除。

    設定為不可調度

    對

    勾選該項後,新添加的節點註冊到叢集時預設會被設定為不可調度。您需要在節點列表中開啟調度狀態。本配置僅對節點池中新增的節點生效,不會對節點池已有節點生效。

    自訂節點名稱

    錯

    是否開啟自訂節點名稱。自訂節點名稱後,將同時更改節點名稱、ECS執行個體名稱、ECS執行個體Hostname。

    說明

    對於開啟自訂節點名稱的Windows執行個體,其Hostname固定為IP地址,使用-代替IP地址中的.,且不包含首碼和尾碼。

    節點名稱由首碼、節點IP地址及尾碼三部分組成:

    • 總長度為2-64個字元。節點名稱首尾必須為小寫字母和數字。

    • 首碼和尾碼允許使用大小寫字母、數字、連字號(-)和點號(.)。必須以大小寫字母開頭,不能以連字號(-)或點號(.)開頭或結尾。不能連續使用連字號(-)或點號(.)。

    • 首碼必選(ECS限制),尾碼可選。

    例如:節點IP地址為192.XX.YY.55,指定首碼為aliyun.com,尾碼為test。

    • 如果節點為Linux節點,則節點名稱、ECS執行個體、ECS執行個體Hostname均為aliyun.com192.XX.YY.55test。

    • 如果節點為Windows節點,則ECS執行個體Hostname為192-XX-YY-55,節點名稱、ECS執行個體名稱均為aliyun.com192.XX.YY.55test。

    執行個體預自訂資料

    對

    請前往配額平台申請

    節點加入叢集前,將運行您指定的執行個體預自訂資料指令碼。關於User-Data指令碼,請參見User-Data指令碼

    例如,指定執行個體預自訂資料為echo "hello world",則節點實際運行指令碼如下。

    #!/bin/bash
    echo "hello world"
    [節點初始化指令碼]

    執行個體自訂資料

    對

    節點加入叢集後,將運行您指定的執行個體自訂資料指令碼。關於User-Data指令碼,請參見User-Data指令碼

    例如,指定執行個體自訂資料為echo "hello world",則節點實際運行指令碼如下。

    #!/bin/bash
    [節點初始化指令碼]
    echo "hello world"
    說明

    建立叢集或擴容節點成功不代表執行個體自訂指令碼執行成功。您可以登入節點執行grep cloud-init /var/log/messages命令查看執行日誌。

    CloudMonitor外掛程式

    對

    安裝後,可在CloudMonitor控制台查看所建立ECS執行個體的監控資訊。

    該選項僅對節點池新增節點生效,對節點池已有節點無效。已有節點如需安裝CloudMonitor外掛程式,請通過CloudMonitor控制台安裝。

    公網 IP

    對

    是否為節點分配IPv4地址。如果未選中,不會分配公網IP地址,當選擇公網IP後,還需配置頻寬計費方式頻寬峰值

    該選項僅對節點池新增節點生效,對節點池已有節點無效。已有節點如需訪問公網,請配置並綁定Elastic IP Address地址。具體操作,請參見將EIP綁定至ECS執行個體

    RDS 白名單

    對

    將節點IP添加至RDS執行個體的白名單。

    私人池類型

    對

    私人池類型包括:開放不使用指定

    • 開放:執行個體將會自動匹配開放類型的私人容量池,如果沒有合格私人池,則使用公用池資源啟動。

    • 不使用:執行個體不會使用任何私人池容量,直接使用公用池資源啟動。

    • 指定:您需要進一步選擇私人池ID來指定執行個體只使用該私人池容量啟動,如果該私人池不可用,則執行個體啟動失敗。

    關於私人池的更多資訊,請參見私人池

  7. 單擊確認。在節點池頁面,如果節點池狀態顯示更新中,則說明節點池正在變更中。變更完成後,狀態顯示為已啟用

相關文檔