全部產品
Search
文件中心

Container Service for Kubernetes:編輯節點池

更新時間:Oct 25, 2024

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

前提條件

已建立ACK叢集並在叢集中建立了節點池。具體操作,請參見建立ACK託管叢集建立節點池

注意事項

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

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

操作步驟

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

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

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

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

    說明

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

    配置項

    是否支援修改

    描述

    地區

    錯

    表示叢集所在的地區。

    容器運行時

    錯

    關於容器運行時的更多資訊,請參見如何選擇Docker運行時、Containerd運行時、或者安全沙箱運行時?

    專用網路

    錯

    Virtual Private Cloud預設選擇叢集VPC。

    虛擬交換器

    對

    您可以在已有虛擬交換器列表中,根據可用性區域選擇交換器。如果沒有您需要的交換器,可以通過單擊建立虛擬交換器進行建立,請參見建立和管理交換器

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

    自動調整

    對

    是否開啟自動調整。自動調整可根據業務需求和策略,經濟地自動調整彈性計算資源的管理服務。更多資訊,請參見Auto Scaling概述。開啟前,請先配置節點池的自動Auto Scaling能力,操作步驟可參考步驟一:開啟節點自動調整

    付費類型

    對

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

    • 選擇隨用隨付時,計費項目為ECS執行個體,節點池不收費。

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

    • 選擇搶佔式執行個體時,需設定以下參數:

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

    說明
    • 修改節點池的付費類型僅對擴容的新節點生效,不會改變節點池內已有節點的付費類型。如果您期望修改節點池中已有節點的付費類型,請參見隨用隨付轉訂用帳戶

    • 目前ACK僅支援建立具有保護期的搶佔式執行個體。更多資訊,請參見搶佔式執行個體節點池最佳實務

    執行個體相關的配置項

    對

    根據執行個體規格或屬性選擇Worker節點池使用的ECS執行個體,可通過vCPU、記憶體、規格組、架構等屬性進行篩選。

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

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

    說明

    Arm執行個體僅支援Arm鏡像。關於Arm節點池,請參見配置ARM節點池

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

    系統硬碟

    對

    支援ESSD AutoPLESSD雲端硬碟ESSD EntrySSD雲端硬碟高效雲端硬碟

    系統硬碟可選的類型與選擇的執行個體規格相關。如果雲端硬碟類型下拉式清單沒有顯示的雲端硬碟類型,代表不支援該雲端硬碟類型。 關於雲端硬碟的更多資訊,請參見Block Storage概述;查詢執行個體規格支援的雲端硬碟類型,請參見執行個體規格類型系列

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

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

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

    掛載資料盤

    對

    支援ESSD AutoPLESSD雲端硬碟ESSD Entry以及上一代雲端硬碟(SSD雲端硬碟高效雲端硬碟)。掛載資料盤時,資料盤可選的類型與選擇的執行個體規格相關。如果雲端硬碟類型下拉式清單沒有顯示的雲端硬碟類型,代表不支援該雲端硬碟類型。 關於雲端硬碟的更多資訊,請參見Block Storage概述;查詢執行個體規格支援的雲端硬碟類型,請參見執行個體規格類型系列

    • 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)。

    對

    作業系統

    對

    Container Service for Kubernetes支援ContainerOS、Alibaba Cloud Linux 3、Ubuntu、Windows等作業系統。詳細資料,請參見作業系統鏡像概述

    說明
    • 修改節點池系統鏡像時,僅影響新增節點,不會修改節點池已有節點的系統鏡像。已有節點的系統鏡像升級,請參見升級節點池

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

    登入方式

    對

    目前支援設定密鑰設定密碼建立後設定

    說明

    安全強化類型選擇等保加固時,僅支援設定密碼。

    • 建立時設定

      • 設定密鑰:阿里雲SSH金鑰組是一種安全便捷的登入認證方式,由公開金鑰和私密金鑰組成,僅支援Linux執行個體。更多資訊,請參見SSH金鑰組概述

      • 設定密碼:密碼限制為8~30個字元,且必須同時包含大寫字母、小寫字母、數字和特殊符號。

    • 建立後設定:在執行個體建立完成後,自行綁定金鑰組或者重設執行個體密碼。具體操作,請參見綁定SSH金鑰組重設執行個體登入密碼

    登入名稱

    對

    登入方式選擇設定密鑰或者設定密碼時,需按需選擇以root登入還是以ecs-user登入。

    公網 IP

    對

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

    說明

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

    CloudMonitor外掛程式

    對

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

    說明

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

  5. 單擊顯示進階選項,配置進階選項。

    展開查看進階選項配置

    配置項

    是否支援修改

    說明

    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控制台操作。

    汙點 (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調度到存在其不能容忍汙點的節點上,但不會強制執行。

    說明

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

    節點標籤

    對

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

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

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

      標籤鍵中以下首碼由Kubernetes核心組件保留,不支援指定。

      • kubernetes.io/

      • k8s.io/

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

        以下除外:

        • kubelet.kubernetes.io/

        • node.kubernetes.io

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

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

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

    • 選中設定為不可調度後,新添加的節點註冊到叢集時預設設定為不可調度。如果想開啟存量節點的調度選項,可在叢集節點列表中開啟。

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

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

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

    • testA : testA

    • testB : testB

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

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

    • testB : testB

    • testC : testC

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

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

    說明

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

    擴縮容策略

    錯

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

    • 成本最佳化策略:按vCPU單價從低到高嘗試建立。當伸縮配置已設定搶佔式計費方式的多執行個體規格時,優先建立對應搶佔式計費執行個體。當搶佔式計費執行個體規格由於庫存等原因無法建立時,自動嘗試以隨用隨付的方式建立。

      付費類型搶佔式執行個體時,除允許搶佔式執行個體補償外,您還可以配置以下參數:

      • 按量執行個體所佔比例%:節點池執行個體中按量執行個體應占的比例,取值範圍為[0,100]。

      • 允許按量執行個體補償:開啟後,如果因價格或庫存等原因無法建立足夠的搶佔式執行個體,伸縮組將自動嘗試建立按量執行個體,以滿足ECS執行個體數量要求。

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

      重要

      節點池建立完成後,擴縮容策略不支援編輯。

      付費類型搶佔式執行個體時,您可以設定是否開啟允許搶佔式執行個體補償。開啟後,當收到搶佔式執行個體將被回收的系統訊息時(即搶佔式執行個體被回收前5分鐘左右),開啟彈性的節點池將嘗試建立新的執行個體,替換掉將被回收的搶佔式執行個體。

    自訂鏡像

    對

    配置自訂鏡像後,自訂鏡像將取代預設系統鏡像。

    • 自訂ECS鏡像:叢集所有節點將基於此鏡像進行部署。關於建立自訂鏡像操作,請參見基於自訂鏡像建立叢集或節點池

    • 共用ECS鏡像:叢集所有節點將基於此鏡像進行部署。關於共用鏡像的更多資訊,請參見操作步驟

    重要
    • 請基於ACK叢集支援的作業系統製作自訂鏡像。詳細資料,請參見作業系統鏡像概述

    • 自訂鏡像中預定義的行為邏輯可能影響叢集節點初始化、容器運行、節點OS升級、託管節點池的節點自動回復等操作。在生產環境使用前,請確保已經過嚴格的測實驗證。

    • 僅白名單使用者可使用此功能。請前往配額平台申請。

    RDS 白名單

    對

    單擊請選擇您想要添加白名單的RDS執行個體,將節點IP添加至RDS執行個體的白名單。

    自訂節點名稱

    錯

    是否開啟自訂節點名稱。自訂節點名稱後,將同時更改節點名稱、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命令查看執行日誌。

    私人池類型

    對

    說明

    目前處於灰階發布中。如需使用,請提交工單申請。

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

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

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

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

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

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

相關文檔