全部產品
Search
文件中心

Container Service for Kubernetes:建立ACK專有叢集

更新時間:Apr 09, 2026

ACK專有叢集中,您需要建立至少3個Master節點以保證高可用性,以及若干Worker節點,以對叢集基礎設施進行更細粒度的控制,但需要自行規劃、維護、升級叢集。本文介紹如何通過控制台、API、Terraform、SDK以及CLI等方式建立ACK專有叢集

重要

Container Service for Kubernetes已於2024年08月21日起停止ACK專有叢集的建立。推薦您在生產環境中使用具有更高可靠性、安全性和調度效率的ACK託管叢集Pro版

準備工作

建立叢集前,請確保已完成以下工作:

  1. 開通服務:訪問Container ServiceACK開通頁面

  2. 角色授權:為阿里雲帳號或RAM帳號授予了ACK系統服務角色(詳見角色授權)。ACK需要這些許可權來調用相關服務或執行叢集操作。

  3. 開通相關雲產品:開通叢集相關雲產品,如Virtual Private Cloud、負載平衡、NAT Gateway、Log ServiceSLS、應用即時監控服務ARMS等。

此外,建立叢集涉及負載平衡CLB等按量資源的購買,請確保賬戶餘額充足,以免建立失敗。

建立叢集

ACK支援通過控制台、API、SDK、Terraform以及CLI方式建立叢集。

控制台

步驟一:登入Container Service管理主控台

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

  2. 在頁面左側頂部,選擇目標資源所在的資源群組和地區。image

  3. 叢集列表頁面,單擊建立叢集

步驟二:配置叢集

單擊ACK 專有叢集頁簽,完成叢集基礎資訊配置、網路設定和進階選項配置。

基礎資訊配置

配置項

描述

叢集名稱

自訂叢集名稱。

地區

叢集資源(ECS執行個體、雲端硬碟等)所處地區。地區與使用者和資源部署地區的距離越近,網路時延越低。

Kubernetes 版本

僅支援建立最近三個次要版本,推薦使用當前最新版本。請參見ACK版本支援概覽瞭解ACK的版本支援情況。

網路設定

配置項

描述

IPv6 雙棧

僅支援1.22及以上版本,僅支援Terway,不支援與eRDMA功能同時使用

叢集同時支援IPv4和IPv6協議,但Worker節點與控制面間的通訊仍使用IPv4地址。需確保:

  • 叢集VPC支援IPv6雙棧。

  • 使用Terway共用ENI模式時,節點的執行個體規格需支援IPv6且支援的IPv4/IPv6地址數量相同。

專用網路

叢集的Virtual Private Cloud。為保障高可用,建議選擇2個及以上不同可用性區域。

  • 自動建立:ACK在已選擇的可用性區域下建立對應vSwitch。

  • 使用已有:選擇vSwitch,指定叢集的可用性區域,可建立或使用已有vSwitch。

推薦叢集 VPC 使用標準私人地址(如 10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16)。如有特殊需求,請前往配額中心申請(使用公網網段 VPC 建立叢集)。

雲資源及計費說明:imageVPC

為專用網路配置 SNAT

使用共用VPC時請勿勾選

節點需訪問公網(拉取公網鏡像或訪問外部服務)時勾選此項,ACK將自動設定NAT Gateway和SNAT規則,確保叢集內資源可以訪問公網。

  • VPC中沒有NAT Gateway:ACK自動建立NAT Gateway,新購EIP,並為叢集使用的vSwitch配置SNAT規則。

  • VPC已有NAT Gateway:ACK判斷是否需要額外新購EIP以及配置SNAT規則。當無可用EIP時,將自動新購EIP;當不存在VPC層級的SNAT規則時,將為叢集使用的vSwitch配置SNAT規則。

若不勾選,也可在建立叢集後自行配置NAT Gateway和SNAT規則,請參見公網 NAT Gateway

雲資源及計費說明:imageNAT GatewayimageEIP

交換器

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

安全性群組

使用已有VPC時,支援使用選擇已有安全性群組

安全性群組應用於叢集控制面、預設節點池和未指定自訂安全性群組的節點池。

相較於普通安全性群組,企業級安全性群組可以容納更多私網IP地址數量,但不支援組內互連功能,詳見安全性群組分類

  • 自動建立:出方向預設全部允許,入方向基於推薦配置允許存取。後續如需修改,請確保在入方向已允許存取100.64.0.0/10網段。

    該網段用於訪問阿里雲其他服務,以執行鏡像拉取、查詢ECS基礎資訊等操作。
  • 使用已有:ACK預設不會為安全性群組配置額外的訪問規則。需自行管理安全性群組規則,以避免訪問異常,請參見配置叢集安全性群組

API server 訪問

ACK自動建立一個隨用隨付的私網CLB執行個體作為API Server的內網串連端點。該CLB執行個體不可複用且不可刪除,刪除後API Server將無法訪問且無法恢複。

若需使用已有CLB執行個體,請提交工單申請。選擇使用已有專用網路後,可選擇負載平衡來源使用已有

可選開啟使用 EIP 暴露 API server

  • 開放:為 API Server 私網 CLB 執行個體綁定EIP,支援從公網訪問API Server,串連並管理叢集。

    這並不代表叢集內資源可以訪問公網。如需讓叢集內資源訪問公網,需勾選為專用網路配置 SNAT
  • 不開放:僅能在VPC內使用KubeConfig串連並操作叢集。

如需後續啟用,請參見實現從公網訪問API Server
自2024年12月01日起,建立CLB執行個體將新增收取執行個體費,請參見傳統型負載平衡CLB計費項目調整公告

雲資源及計費說明:imageCLBimageEIP

網路外掛程式

網路外掛程式是叢集中Pod之間網路通訊的基礎。

關於兩者的詳細對比,請參見容器網路外掛程式Terway與Flannel對比
  • Flannel:社區開源的輕量級網路外掛程式,在ACK中採用了與阿里雲VPC深度整合的VPC專用網路模式,通過直接管理VPC路由表實現Pod間通訊。

    • 適用情境:配置簡單,資源消耗少,適用於節點規模較小(受VPC路由表配額限制)、需要簡化網路設定、無需對容器網路進行自訂控制的情境。

  • Terway:阿里雲自研的高效能網路外掛程式,基於彈性網卡ENI實現Pod間通訊。

    • 適用情境:提供基於eBPF的網路加速、NetworkPolicy和Pod層級的vSwitch及安全性群組等能力,適用於對節點規模、網路效能和安全等有較高需求的高效能運算、遊戲、微服務等情境。

    • Pod數量限制:每個Pod佔用ENI的一個輔助IP地址,單個ENI可分配的IP有限(取決於執行個體規格)。因此,節點上可啟動並執行Pod數會受到節點的ENI和輔助IP的配額限制。

      使用共用VPC時,僅支援Terway。

    Terway還提供以下能力。

    詳細能力介紹請參見使用Terway網路外掛程式
    • DataPath V2

      僅支援在建立叢集時配置

      開啟DataPath V2加速模式,Terway將使用eBPF技術最佳化流量轉寄路徑,為網路密集型應用提供更低的延遲和更高的輸送量。

      僅支援Alibaba Cloud Linux 3(所有版本)、ContainerOS、Ubuntu,且Linux核心版本需為5.10及以上。詳細介紹請參見網路加速

    • NetworkPolicy 支援

      公測中,請在配額平台申請

      支援Kubernetes原生的NetworkPolicy,以實現Pod間的“防火牆”,自訂精細的存取控制規則,以提升叢集安全性。

    • Trunk ENI 支援

      允許為Pod配置獨立的IP、vSwitch和安全性群組,適用於需要固定IP或需要對特定Pod進行獨立網路原則管理的特殊業務情境,請參見為Pod配置固定IP及獨立虛擬交換器、安全性群組

容器網段

僅Flannel需要配置

為Pod分配IP地址的位址集區。此網段不能與VPC及VPC內已有ACK叢集使用的網段重疊,且不能與服務網段重疊。

節點 Pod 數量

僅Flannel需要配置

定義單個節點上可容納的最大Pod數量。

Pod 交換器

僅在選擇使用Terway時需要配置。

為Pod分配IP的虛擬交換器。每個Pod虛擬交換器分別對應一個Worker節點的虛擬交換器,Pod虛擬交換器和Worker節點的虛擬交換器的可用性區域需保持一致。

重要

Pod虛擬交換器的網段掩碼建議不超過19,最大不超過25,否則叢集網路可分配的Pod IP地址非常有限,會影響叢集的正常使用。

服務網段

即Service CIDR,為叢集內部Service分配IP地址的位址集區。此網段不能與VPC及VPC內已有叢集使用的網段重複,且不能與容器網段重複。

IPv6 服務網段

需同時開啟IPv6雙棧

為Service網段配置IPv6位址區段。需使用ULA地址(fc00::/7範圍內),地址前置長度在/112~/120之間。推薦與服務網段的可用地址數量保持一致。

叢集進階配置

展開進階選項(選填),配置叢集服務轉寄模式。

配置項

描述

服務轉寄模式

選擇kube-proxy代理模式,即叢集Service如何將請求分發至後端Pod。

  • iptables:基於Linux防火牆規則實現流量轉寄,使用穩定但效能有限。Service數量增加時,防火牆規則也會成倍增長,導致請求處理變慢,適用於存在少量Service的叢集。

  • IPVS:高效能的流量分發方案,採用雜湊表方式快速定位目標Pod,處理大量Service請求時延時更低。適用於大規模生產叢集或對網路效能要求較高的情境。

展開進階選項(選填),配置叢集刪除保護、資源群組等資訊。

展開查看進階選項

配置項

描述

叢集刪除保護

推薦開啟,防止通過控制台或OpenAPI誤刪除叢集。

資源群組

將叢集歸屬於選擇的資源群組,便於許可權管理和成本分攤。

一個資源只能歸屬於一個資源群組。

標籤

為叢集綁定索引值對標籤,作為雲資源的標識。

時區

叢集使用的時區。預設為瀏覽器配置的時區。

叢集本地區名

叢集內Service使用的頂級網域名稱(標準尾碼)。預設為cluster.local,也支援自訂網域名。自訂本地區名時,請參見配置叢集本地區名(ClusterDomain)有哪些注意事項?

例如,名為my-service的Service位於default命名空間中,其DNS網域名稱為my-service.default.svc.cluster.local

自訂證書 SAN

API Server認證中SAN(Subject Alternative Name)欄位預設包括叢集本地區名、內網IP、公網EIP等欄位。如需通過Proxy 伺服器、自訂網域名或特殊網路環境訪問叢集,需將這些訪問地址添加到SAN欄位中。

如需後續啟用,請參見自訂叢集API Server認證SAN

服務賬戶令牌卷投影

傳統模式下Pod的身份憑證永久有效且多個Pod共用,存在安全風險。啟用後,每個Pod將獲得專屬的臨時身份憑證,且支援配置自動到期和許可權限制。

如需後續啟用,請參見使用ServiceAccount Token卷投影

節點服務連接埠範圍

建立NodePort類型的Service時,可用的連接埠範圍。

叢集 CA

啟用後,可以將CA認證添加到叢集中,加強服務端和用戶端之間資訊互動的安全性。

步驟三:配置Master節點

單擊下一步:Master 配置,完成Master節點配置。

配置項

描述

Master 執行個體數量

指定可用性區域內部署Master節點的數量。

付費類型

支援隨用隨付包年包月兩種付費類型。選擇包年包月時,需設定購買時間長度和是否啟用自動續約

執行個體規格

選擇Master節點的執行個體規格類型系列。您可以參見選擇Master節點規格擷取配置建議。

系統硬碟

根據業務需求選擇雲端硬碟類型,包括ESSD AutoPL、ESSD雲端硬碟、ESSD Entry以及上一代雲端硬碟(SSD雲端硬碟和高效雲端硬碟),配置容量和IOPS等。

可用系統硬碟類型取決於所選的執行個體規格類型系列。未展示的雲端硬碟類型即為不支援使用。

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

  • 支援自訂效能層級。雲端硬碟容量越大,可選擇的效能層級越高(460 GiB容量以上可選PL2,1260 GiB以上可選PL3),詳情請參見ESSD雲端硬碟

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

支援選擇配置更多系統硬碟類型,配置與系統硬碟不同的磁碟類型,提高擴容成功率。建立節點時,ACK將根據指定的磁碟類型順序,選擇第一個匹配的類型。

雲資源及計費說明:imageECSBlock Storage

部署集

通過ECS控制台建立部署集後,為節點池指定部署集,使得節點池彈出的節點可分散部署在不同的物理伺服器上,提升高可用性。

部署集預設支援的節點上限為20 * 可用性區域數量(可用性區域數量由vSwitch決定),節點池內最大節點數將受到限制,需確保部署集內配額充足。

後續如需啟用,請參見節點池部署集最佳實務
進階選項

配置項

描述

執行個體中繼資料訪問模式

僅支援1.28及以上版本的叢集

配置 ECS 執行個體的中繼資料訪問模式,在ECS執行個體內部通過訪問中繼資料服務(Metadata Service)擷取ECS執行個體中繼資料,包括執行個體ID、VPC資訊、網卡資訊等執行個體屬性資訊,詳情請參見執行個體中繼資料

  • 普通模式和加固模式:支援使用普通模式和加固模式兩種方式訪問執行個體中繼資料服務。

  • 僅加固模式:僅支援使用加固模式訪問執行個體中繼資料服務,請參見使用僅加固模式訪問ECS執行個體中繼資料

步驟四:配置節點池

單擊下一步:節點池配置,完成節點池基礎選項配置和進階選項配置。

節點池基礎配置

配置項

描述

節點池名稱

自訂節點池名稱。

容器運行時

如何選型,請參見containerd、安全沙箱、Docker運行時的對比

  • containerd(推薦):社區標準,支援1.20及以上版本。

  • 安全沙箱:提供基於輕量級虛擬化技術的強隔離環境。使用流程及限制,詳見建立和管理安全沙箱節點池

  • Docker(停止支援):僅支援1.22及以下版本,目前已不支援建立。

執行個體和鏡像配置

配置項

描述

付費類型

節點池擴容節點時預設採用的付費類型。

  • 按量付費:可按需啟用和釋放。

  • 包年包月:需配置購買時間長度以及自動續約

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

    當指定執行個體規格的即時價格低於單台執行個體的最高出價時,執行個體將成功建立。保護期(1小時)過後,系統將每5分鐘檢查一次執行個體規格的即時價格與庫存。若市場價格高於出價或庫存不足,搶佔式執行個體將被釋放。使用建議,請參見搶佔式執行個體節點池最佳實務

為保證節點池統一,不支援將按量付費包年包月節點池修改為搶佔式執行個體節點池,反之亦然。

執行個體相關的配置項

節點池擴容時,會從配置的ECS執行個體規格類型系列中分配。為提高擴容成功率,請選擇多個可用性區域下的多種執行個體規格,避免規格不可用或庫存不足。具體擴容的執行個體規格由配置的擴縮容策略決定。

為確保業務穩定性和資源調度的準確性,請勿在同一個節點池中混合使用GPU和非GPU執行個體規格。

可通過以下兩種方式配置擴容時使用的執行個體規格:

  • 具體規格:基於vCPU、記憶體、規格類型系列、CPU架構(執行個體的CPU架構需與作業系統鏡像架構一致)等維度指定執行個體規格。

    使用Terway時,可在執行個體規格列表中查看目標執行個體規格提供的節點最大Pod數
  • 泛化配置:根據屬性(vCPU、記憶體等)選擇待使用或需排除的執行個體規格列表,進一步提升擴容成功率。

可參考控制台的彈性強度建議來配置,或在節點池建立後查看節點池彈性強度

關於ACK不支援的執行個體規格及節點配置建議,請參見ECS執行個體規格配置建議

雲資源及計費說明:imageECS執行個體imageGPU執行個體

作業系統

雲市場鏡像處於灰階發布中。
後續如需升級或更換作業系統,請參見更換作業系統

安全強化

建立節點時,ACK會應用選擇的安全基準策略。

  • 不開啟:不對ECS執行個體進行安全強化。

  • 等保加固:阿里雲為Alibaba Cloud Linux等保2.0三級版鏡像提供了符合等保合規要求的基準檢查標準和掃描工具。在確保原生鏡像相容性和效能的同時,進行了等保合規適配,滿足《GB/T22239-2019資訊安全技術網路安全等級保護基本要求》,詳情請參見ACK等保加固使用說明

    但在此模式下,Root使用者無法通過SSH遠程登入。您可以通過ECS控制台通過VNC串連執行個體,並建立一個支援SSH登入的普通使用者。

  • 阿里雲 OS 加固:僅支援Alibaba Cloud Linux 2或Alibaba Cloud Linux 3。

登入方式

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

    請同時配置登入名稱rootecs-user)和所需的金鑰組

  • 設定密碼:配置登入名稱rootecs-user)和密碼。

儲存配置

配置項

描述

系統硬碟

根據業務需求選擇雲端硬碟類型,包括ESSD AutoPL、ESSD雲端硬碟、ESSD Entry以及上一代雲端硬碟(SSD雲端硬碟和高效雲端硬碟),配置容量和IOPS等。

可用系統硬碟類型取決於所選的執行個體規格類型系列。未展示的雲端硬碟類型即為不支援使用。

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

  • 支援自訂效能層級。雲端硬碟容量越大,可選擇的效能層級越高(460 GiB容量以上可選PL2,1260 GiB以上可選PL3),詳情請參見ESSD雲端硬碟

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

支援選擇配置更多系統硬碟類型,配置與系統硬碟不同的磁碟類型,提高擴容成功率。建立節點時,ACK將根據指定的磁碟類型順序,選擇第一個匹配的類型。

雲資源及計費說明:imageECSBlock Storage

數據盤

根據業務需求選擇雲端硬碟類型,包括ESSD AutoPL、ESSD雲端硬碟、ESSD Entry以及上一代雲端硬碟(SSD雲端硬碟和高效雲端硬碟),配置容量和IOPS等。

可用資料盤類型取決於所選的執行個體規格類型系列。未展示的雲端硬碟類型即為不支援使用。

ESSD AutoPL支援

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

  • 效能突發:當業務面臨突發的資料讀寫壓力時,雲端硬碟會臨時提升效能以應對峰值需求,直至業務恢複平穩。

ESSD雲端硬碟支援

支援自訂效能層級。雲端硬碟容量越大,可選擇的效能層級越高(460 GiB容量以上可選PL2,1260 GiB以上可選PL3),詳情請參見ESSD雲端硬碟

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

  • 節點建立過程中,將自動格式化最後一塊資料盤,並將/var/lib/container掛載到該資料盤,將/var/lib/kubelet/var/lib/containerd掛載到/var/lib/container

    如需自訂掛載目錄,請調整資料盤的初始化配置,最多可選擇一塊資料盤作為容器運行時佔用目錄,詳情請參見ACK節點池中資料盤可以自訂目錄掛載嗎?
  • 在需要容器鏡像加速、大模型快速載入等情境下,還可以使用快照建立資料盤,提升系統的響應速度和處理能力。

可選擇配置更多數據盤類型,配置與數據盤不同的磁碟類型,提高擴容成功率。建立節點時,ACK將根據指定的磁碟類型順序,選擇第一個匹配的類型。

一台ECS執行個體最多可掛載64塊資料盤,具體可掛載數量上限因執行個體規格而異。可調用 DescribeInstanceTypes查詢對應執行個體規格的雲端硬碟數量上限(DiskQuantity)。

雲資源及計費說明:imageECSBlock Storage

執行個體數量配置

配置項

描述

期望節點數

節點池應該維持的總節點數量。建議至少配置2個節點,以確保叢集組件正常運行。您可以通過調整期望節點數,達到擴容或縮容節點池的目的,請參見擴縮容節點池

如無需建立節點,可填寫為0,後續再手動調整或添加已有節點
節點池進階配置

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

配置項

描述

擴縮容策略

配置節點池在節點擴縮容時如何選擇執行個體。

  • 優先順序策略:按叢集配置的vSwitch優先順序(vSwitch順序由上到下優先順序遞減)擴縮容。優先順序較高的vSwitch所在可用性區域無法建立執行個體時,自動使用下一優先順序vSwitch。

  • 成本最佳化策略:按vCPU單價從低到高擴縮容。

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

  • 均衡分布策略:在且僅在多可用性區域情境下將ECS執行個體均勻分配至多可用性區域。如果由於庫存不足等原因造成可用性區域分布不平衡,可再次進行均衡操作。

使用按量執行個體補充搶佔式容量

需同時選擇付費類型為搶佔式執行個體。

開啟後,如果因價格或庫存等原因無法建立足夠的搶佔式執行個體,ACK將自動嘗試建立按量執行個體作為補充。

雲資源及計費說明:imageECS執行個體

開啟搶佔式執行個體補償

需同時選擇付費類型為搶佔式執行個體。

開啟後,當收到搶佔式執行個體將被回收的系統訊息時(即搶佔式執行個體被回收前5分鐘),ACK將嘗試擴容新執行個體進行補償。

  • 補償成功:ACK對舊節點執行排水並從叢集中移除。

  • 補償失敗:ACK不會對舊節點執行排水,到期執行個體仍然會在5分鐘後被回收釋放。當庫存恢複或滿足價格條件時,ACK將自動購買執行個體以保證期望節點數,詳情請參見搶佔式執行個體節點池最佳實務

搶佔式執行個體的主動釋放可能導致業務異常,為提高補償成功率,建議同時開啟使用按量執行個體補充搶佔式容量

雲資源及計費說明:imageECS執行個體

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

置項

描述

ECS 標籤

為ACK自動建立的ECS執行個體添加標籤,作為雲資源標識。每台ECS最多可綁定20個標籤。如需提高上限,請到配額平台提交申請。由於ACK和ESS會佔用部分標籤,您最多可為執行個體指定17個自訂標籤。

展開查看標籤佔用說明

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

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

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

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

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

  • 開啟節點自動調整後,組件通過ECS標籤記錄節點的標籤和汙點,以預檢測彈出節點的調度行為。

    • 節點的每個標籤會被轉為k8s.io/cluster-autoscaler/node-template/label/<標籤鍵>:<標籤值>

    • 節點的每個汙點會被轉為k8s.io/cluster-autoscaler/node-template/taint/<汙點鍵>/<汙點值>:<汙點效果>

汙點 (Taints)

為節點添加索引值對汙點。有效汙點鍵包含首碼(可選)和名稱。如果有首碼,用正斜線(/)分隔。

展開查看詳細說明

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

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

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

  • Effect

    • NoSchedule:不接受任何新的、不容忍此汙點的Pod被調度到該節點,但已在啟動並執行Pod不受影響。

    • NoExecute:不僅不接受任何新的、不容忍此汙點的Pod被調度到該節點,還會驅逐節點上任何已在啟動並執行、不容忍此汙點的Pod。

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

節點標籤(Labels)

為節點添加索引值對標籤。有效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]開頭和結尾,可包含字母、數字、短劃線(-)、底線(_)和英文半形句號(.)。

設定為不可調度

新添加的節點註冊到叢集時預設會被設定為不可調度。需在節點列表手動調整節點調度狀態

本配置僅對1.34以下版本叢集生效,詳情請參見Kubernetes 1.34版本說明

CPU Policy

指定kubelet節點的CPU管理原則

  • None:預設策略。

  • Static:允許為節點上具有某些資源特徵的Pod賦予增強CPU親和性和獨佔性。

推薦使用自訂節點池kubelet配置

自訂節點名稱

預設情況下,節點名稱自動產生。如需統一命名規則以便於節點管理和營運識別,可啟用此配置。啟用後,節點名稱、ECS 執行個體名稱及 Hostname 均會發生變化。

方式三僅適用於靈駿節點池,靈駿節點池也僅支援使用方式三

方式一:完整 IP 位址 + 前尾碼

  • 說明:節點名稱由首碼、節點IP地址及尾碼三部分組成。啟用後,節點名稱、ECS執行個體名稱、ECS執行個體Hostname也將發生變化。

  • 樣本:節點IP地址為192.XX.YY.55,指定首碼為aliyun.com,尾碼為test

    • Linux節點:節點名稱、ECS執行個體名稱、ECS執行個體Hostname均為aliyun.com192.XX.YY.55test

    • Windows節點:其Hostname固定為IP地址,使用-代替IP地址中的.,且不包含首碼和尾碼。

      因此,ECS 執行個體 Hostname 為 192-XX-YY-55,節點名稱、ECS 執行個體名稱均為 aliyun.com192.XX.YY.55test

方式二:指定位元 IP 位址 + 前尾碼

白名單功能
  • 說明:節點名稱由首碼、指定位元的節點 IP 位址、尾碼三部分組成。啟用後,節點名稱、ECS 執行個體名稱及 ECS 執行個體 Hostname 均會相應變化。

  • 樣本: 節點 IP 位址為 192.XX.YY.55,首碼為 aliyun.com,尾碼為 test,IP 位址截取位元為 6,則節點名稱為 aliyun.com0YY055test

    重要

    當自訂節點名稱格式依賴於截取部分IP地址時,若VPC網段範圍較大而截取的IP位元(lenOfIP)不足,可能會導致節點名稱衝突,從而造成節點即時彈性情境下節點擴容失敗。

    請根據VPC網段,參見以下建議設定IP地址的截取位元:

    • 針對 10.0.0.0/8 和 172.16.0.0/12 等大規模網段,建議 lenOfIP 至少為 9。

    • 針對 192.168.0.0/16 網段,建議 lenOfIP 至少為 6。

方式三:同步執行個體 Hostname(僅靈駿節點池支援)

白名單功能,不適用於非靈駿節點池
  • 說明:將靈駿節點的 Hostname 直接同步處理為節點的 NodeName。

  • 樣本: 執行個體 Hostname 為 test,則節點 NodeName 為 test

方式四:遞增 ID + 前尾碼(僅 ECS 節點池支援)

白名單功能
啟用此方式後不支援同時開啟節點伸縮(即擴縮容模式自動);已開啟自動調整的節點池不支援切換為此方式。
  • 說明:節點名稱由首碼、遞增 ID 及尾碼三部分組成,格式為 auto_increment,name_prefix(AUTO_INCREMENT)[begin_number,bits]name_suffix[begin_number,bits] 之間不存在空格)。參數說明如下,規則詳見固定增長排序

    • beginNumber:起始編號,取值範圍[0, 999999]。首次擴容時,指定的起始值生效;未設定時,預設為0。非首次擴容時,起始值在伸縮組內已有編號最大值的基礎上遞增。

    • bits:編號位元,取值範圍[1, 6]。當 beginNumber 的位元超過 bits 的取值時,bits 預設為 6;未設定 beginNumberbits 時,兩者分別預設為 06。建議 bits 至少設定為 3,否則容易達到編號上限。達到上限後如仍有擴容需求,擴容將報錯並停止,此時需重新設定命名規則。

    系統預設依次遞增,但若擴容的 ECS 執行個體無法啟動,該執行個體會在移除後重新擴容,因此編號可能斷續遞增。
  • 樣本: 命名格式為 auto_increment,start(AUTO_INCREMENT)[1,3]endbeginNumber1bits3,則節點名稱按順序產生:

    • 第 1 個執行個體:start001end

    • 第 2 個執行個體:start002end

    • ……

執行個體中繼資料訪問模式

僅支援1.28及以上版本的叢集

配置 ECS 執行個體的中繼資料訪問模式,在ECS執行個體內部通過訪問中繼資料服務(Metadata Service)擷取ECS執行個體中繼資料,包括執行個體ID、VPC資訊、網卡資訊等執行個體屬性資訊,詳情請參見執行個體中繼資料

  • 普通模式和加固模式:支援使用普通模式和加固模式兩種方式訪問執行個體中繼資料服務。

  • 僅加固模式:僅支援使用加固模式訪問執行個體中繼資料服務,請參見使用僅加固模式訪問ECS執行個體中繼資料

執行個體預自訂數據

節點加入叢集前,將運行指定的執行個體預自訂User-Data指令碼

例如,指定預自訂資料為 touch /tmp/pre-script,則節點上組合後的指令碼執行順序如下。

#!/bin/bash
# 輸入的執行個體預自訂資料在此處執行
touch /tmp/pre-script

# ACK節點初始化指令碼在此處執行
節點初始化時此配置的生效邏輯,請參見節點初始化流程介紹

執行個體自訂數據

節點加入叢集後,將運行指定的執行個體自訂User-Data指令碼

例如,指定執行個體自訂資料為 touch /tmp/post-script,則節點上組合後的指令碼執行順序如下。

#!/bin/bash
# ACK節點初始化指令碼在此處執行

# 輸入的執行個體自訂資料在此處執行
touch /tmp/post-script
節點初始化時此配置的生效邏輯,請參見節點初始化流程介紹
建立叢集或擴容節點成功不代表執行個體自訂指令碼執行成功。可登入節點執行grep cloud-init /var/log/messages查看執行日誌。

Cloud Monitor外掛程式

可在CloudMonitor控制台查看並監控節點和應用運行狀態。

本配置僅對節點池中新增的節點生效,不對節點池存量節點生效。

已有節點如需啟用,請通過CloudMonitor控制台安裝。

雲資源及計費說明:imageCloudMonitor

公網 IP

ACK將為節點分配IPv4公網IP地址。

本配置僅對節點池中新增的節點生效,不對節點池存量節點生效。已有節點如需訪問公網,需配置並綁定EIP,請參見EIP 綁定雲資源

雲資源及計費說明:imageECS公網

自定義安全性群組

為節點池指定普通安全性群組或企業級安全性群組。ACK預設不會為安全性群組配置額外的訪問規則。需自行管理安全性群組規則,避免訪問異常,請參見配置叢集安全性群組

每台ECS執行個體支援加入的安全性群組存在上限,請確保安全性群組配額充足。

RDS 白名單

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

步驟五:配置組件

單擊下一步:組件配置,完成組件配置。

配置項

描述

Ingress

Ingress管理著叢集外部存取叢集內部服務的方式。如需將叢集內應用或API暴露給公網訪問時,則需安裝。

目前提供三種執行個體作為叢集 Ingress 入口網關。

ALB Ingress

將流量交由阿里雲應用型負載平衡ALB處理,具備豐富的路由策略,與WAF等雲產品深度整合,支援Auto Scaling,適用於大規模、高流量生產業務或有企業級可靠性需求的情境。

可建立ALB執行個體,也可使用(僅使用已有VPC時)當前VPC下未被其他叢集關聯的ALB執行個體。

如需後續啟用,請參見建立並使用ALB Ingress對外暴露服務

雲資源及計費說明:imageALB計費概述

Nginx Ingress

相容社區版Nginx Ingress Controller並進行了最佳化。

可建立CLB執行個體,也可使用當前VPC下未被其他叢集關聯的CLB執行個體。

如需後續啟用,請參見建立並使用Nginx Ingress對外暴露服務

雲資源及計費說明:imageCLB

MSE Ingress

基於MSE雲原生網關實現,提供服務治理、認證鑒權、灰階發布等進階能力,適用於需要對微服務流量進行精細化管控的情境。

可建立MSE雲原生網關執行個體,也可使用(僅使用已有VPC時)當前VPC下未被其他叢集關聯的執行個體。

如需後續啟用,請參見通過MSE Ingress訪問Container Service

雲資源及計費說明:image普通執行個體計費概述

關於三者的詳細對比,請參見Ingress管理

服務發現

安裝NodeLocal DNSCache,在節點上緩衝DNS解析結果,以提升網域名稱解析效能和穩定性,加速叢集內部的服務間調用。

儲存外掛程式

基於CSI儲存外掛程式實現資料的持久化儲存,可使用阿里雲雲端硬碟、NAS、OSS、CPFS等儲存卷資源。

選擇預設建立NAS和CNFS後,ACK會預設建立通用型NAS檔案系統並使用容器網路檔案系統CNFS進行管理。

如需後續建立CNFS,詳見通過CNFS管理NAS檔案系統

雲資源及計費說明:imageNAS

容器監控

您可以使用阿里雲Prometheus查看叢集預先配置的監控大盤和監控效能指標。更多資訊,請參見阿里雲Prometheus監控

Log Service

使用已有SLS Project或建立一個SLS Project,用於收集叢集應用日誌。

同時將啟用叢集API Server審計功能,收集對Kubernetes API的請求以及請求結果。

如需後續啟用,請參見採集ACK叢集容器日誌使用叢集API Server審計功能

雲資源及計費說明:imageSLS

叢集巡檢

啟用智能營運的叢集巡檢功能,定期掃描叢集內配額、資源水位、組件版本等,確保叢集配置符合最佳實務,並提前暴露潛在風險。

步驟六:確認配置和計費資訊

單擊下一步:確認配置

確認配置頁面,確認叢集的配置資訊,包括功能配置、資源計費、雲產品依賴檢查等,並閱讀服務合約。

您可以在建立頁面下方查看叢集涉及的費用總覽,也可以查看ACK和各產品的計費文檔,請參見計費概述雲產品資源費用

說明

一個包含多節點的叢集建立時間約為十分鐘。

  • 組建組態代碼: 單擊頁面右上方的同等代碼,一鍵擷取當前配置的Terraform、SDK參數。

  • API

    調試入口

    CreateCluster調試入口

    請求樣本

    建立一個ACK專有叢集的請求樣本如下,完整的參數說明請參見建立叢集

    POST /clusters 
    <公用要求標頭>
    {
        "cluster_type": "Kubernetes",    //指定叢集的類型為ACK專有叢集。#required
        "name": "ACK專有叢集",
        "region_id": "cn-hongkong",      //叢集所屬地區為香港地區。#required
        "kubernetes_version": "1.32.1-aliyun.1",    //建立的叢集版本,建議選擇最新版本。 
        "snat_entry": true,                         // 為專用網路配置SNAT規則,以開啟叢集公網訪問。
        "endpoint_public_access": false,            //叢集不開啟API server公網訪問。
        "cloud_monitor_flags": false,               //叢集不安裝CloudMonitor組件。
        "deletion_protection": false,               //未開啟叢集刪除保護。
        "proxy_mode": "ipvs",                       //選擇高效能的kube-proxy代理模式IPVS。
        "timezone": "Asia/Shanghai",
        "tags": [],
        "addons": [                                 //安裝的叢集組件。
            {
                "name": "terway-eniip",             //叢集的網路類型為Terway方式。叢集建立後不可修改。
                "config": "{\"IPVlan\":\"false\",\"NetworkPolicy\":\"false\",\"ENITrunking\":\"false\"}"
            },
            {
                "name": "csi-plugin"
            },
            {
                "name": "csi-provisioner"
            },
            {
                "name": "storage-operator",
                "config": "{\"CnfsOssEnable\":\"false\",\"CnfsNasEnable\":\"false\"}"
            },
            {
                "name": "nginx-ingress-controller",
                "disabled": true
            }
        ],
        "node_port_range": "30000-32767",
        "pod_vswitch_ids": [                         //Terway網路類型的叢集,需要指定Pod所在的虛擬交換,因為Pod獨佔一個機器IP。
            "vsw-j6cwz95vspl56gl******",
            "vsw-j6c1tgut51ude2v******"
        ],
        "login_password": "******",
        "charge_type": "PostPaid",
        "master_instance_charge_type": "PostPaid",
        "cpu_policy": "none",
        "service_account_issuer": "https://kubernetes.default.svc",
        "api_audiences": "https://kubernetes.default.svc",
        "master_count": 3,                         //設定Master節點數量為3。
        "master_vswitch_ids": [                    //設定Master節點的交換器列表。
            "vsw-j6cwz95vspl56gl******",
            "vsw-j6c1tgut51ude2v******",
            "vsw-j6c1tgut51ude2v******"
        ],
        "master_instance_types": [                 //設定Master節點的執行個體規格。
            "ecs.u1-c1m2.xlarge",
            "ecs.c7.xlarge",
            "ecs.c7.xlarge"
        ],
        "master_system_disk_category": "cloud_essd",      //Master節點系統硬碟選擇ESSD雲端硬碟。
        "master_system_disk_size": 120,                   //設定系統硬碟大小為120 GiB。
        "master_system_disk_performance_level": "PL1",    //系統硬碟單盤IOPS效能上限為5萬。
        "vpcid": "vpc-j6c6njo385se80n******",             //叢集的專用網路ID須在網路規劃時確定,建立後不可修改。#required
        "worker_vswitch_ids": [
            "vsw-j6cwz95vspl56gl******",
            "vsw-j6c1tgut51ude2v******"
        ],
        "is_enterprise_security_group": true,
        "ip_stack": "ipv4",
        "service_cidr": "172.16.xx.xx/16",
        "nodepools": [                                                 
            {
                "nodepool_info": {
                    "name": "default-nodepool"
                },
                "scaling_group": {
                    "system_disk_category": "cloud_essd",
                    "system_disk_size": 120,
                    "system_disk_performance_level": "PL0",
                    "system_disk_encrypted": false,
                    "data_disks": [         
                        {
                            "category": "cloud_auto",
                            "size": 200,
                            "encrypted": "false",
                            "bursting_enabled": false
                        }
                    ],
                    "tags": [],
                    "soc_enabled": false,
                    "security_hardening_os": false,
                    "vswitch_ids": [
                        "vsw-j6cwz95vspl56gl******",
                        "vsw-j6c1tgut51ude2v******"
                    ],
                    "instance_types": [
                        "ecs.g6.xlarge"
                    ],
                    "instance_patterns": [],
                    "login_password": "******",
                    "instance_charge_type": "PostPaid",
                    "security_group_ids": [],
                    "platform": "AliyunLinux",
                    "image_id": "aliyun_3_x64_20G_alibase_20241218.vhd",
                    "image_type": "AliyunLinux3",
                    "desired_size": 3,               //建立一個期望節點數為3的節點池。
                    "multi_az_policy": "BALANCE"
                },
                "kubernetes_config": {
                    "cpu_policy": "none",
                    "cms_enabled": false,
                    "unschedulable": false,
                    "runtime": "containerd",        //設定容器運行時為containerd 1.6.36。叢集建立後不可修改。
                    "runtime_version": "1.6.36"
                }
            }
        ]
    }

    重點參數說明

    在調用CreateCluster介面建立ACK專有叢集時,您需要重點關注如下參數的差異化配置:

    參數

    描述

    配置樣本

    cluster_type

    叢集類型。建立ACK專有叢集時,該參數必須配置為Kubernetes

    "cluster_type": "Kubernetes"

    Terraform

    具體操作,請參見通過Terraform建立ACK專有叢集

    SDK

    具體操作,請參見Java SDK調用樣本

    CLI

    具體操作,請參見通過CLI建立ACK叢集

    相關操作

    • 查看叢集基本資料

      叢集列表頁面的操作列,單擊詳情,然後單擊基本資料串連資訊頁簽,查看叢集的基本資料和串連資訊。其中:

      • API Server 公網端點:Kubernetes的API Server對公網提供服務的地址和連接埠,可以通過此服務在使用者終端使用kubectl等工具管理叢集。

        綁定公網IP解除綁定公網IP功能:

        • 綁定公網IP:您可以選擇在已有EIP列表中綁定EIP或者建立EIP。

          綁定公網IP操作會導致API Server短暫重啟,請避免在此期間操作叢集。

        • 解除綁定公網IP:解除綁定公網IP後您將無法通過公網訪問API Server。

          解除綁定公網IP操作會導致API Server短暫重啟,請避免在此期間操作叢集。

      • API Server 內網端點:Kubernetes的API Server對叢集內部提供服務的地址和連接埠,此IP為負載平衡的地址。

    • 查看叢集日誌資訊

      您可以單擊操作列的更多>營運管理>查看日誌,進入日誌中心頁面查看叢集的日誌資訊。

    • 查看叢集節點資訊

      您可以擷取叢集KubeConfig並通過kubectl工具串連叢集,執行kubectl get node查看叢集的節點資訊。

    配額與限制

    如叢集規模較大或帳號資源較多,請遵循使用ACK叢集時涉及的配額與限制。詳細資料,請參見配額與限制

    • 使用限制:包括ACK配置限制(例如帳號餘額等)單叢集容量限制(單叢集內不同Kubernetes資源的最大容量)。

    • 配額限制與提升方式:ACK叢集配額限制和ACK依賴雲產品(如ECS、VPC、SLB等)的配額限制。如需提升配額,請參見文檔擷取提升方式。