全部產品
Search
文件中心

Container Service for Kubernetes:編輯節點池

更新時間:Aug 02, 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僅支援建立具有保護期的搶佔式執行個體。更多資訊,請參見搶佔式執行個體節點池最佳實務

    執行個體規格

    對

    支援選擇多個執行個體規格。可通過vCPU記憶體篩選執行個體規格,也可選擇架構分類

    說明

    選擇執行個體規格後,在已選規格地區依次展示執行個體規格詳情。

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

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

    說明
    • 修改節點池的執行個體規格不會改變節點池內已有節點的執行個體規格,只會對擴容的新節點生效。如果您期望修改節點池中已有節點的執行個體規格,請按照如下指引操作。

      • 如果希望升配,請登入ECS管理主控台修改。具體操作,請參見資源變更配置

      • 如果希望更改規格,請將執行個體移出叢集。修改節點池執行個體規格後,重新彈出節點。關於如何將執行個體移出叢集,請參見移除節點

    • 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塊資料盤,不同執行個體規格支援掛載的最多雲端硬碟數量不同。

    建立執行個體時最多掛載1塊系統硬碟和16塊資料盤,如果執行個體需要更多資料盤,需要在建立執行個體後繼續掛載。不同執行個體規格支援掛載的最多雲端硬碟數量可以通過DescribeInstanceTypes介面查詢。

    對

    作業系統

    對

    Container Service for Kubernetes支援Alibaba Cloud Linux 3、ContainerOS、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)

    對

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

    說明

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

    節點標籤

    對

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

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

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

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

      • 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叢集支援的作業系統製作自訂鏡像。詳細資料,請參見作業系統鏡像概述

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

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

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

相關文檔