全部產品
Search
文件中心

Container Compute Service:建立ACS叢集

更新時間:Sep 12, 2025

阿里雲容器計算服務ACS是以Kubernetes為使用介面提供容器算力資源的雲端運算服務,提供符合容器規範的Serverless容器算力。ACS叢集支援Pod秒級伸縮,能夠根據應用配置的CPU和記憶體資源量按需、隨用隨付,協助您降低業務的計算成本,適用於有明顯波峰波穀的業務。ACS叢集提供完善的Kubernetes相容能力,同時降低Kubernetes使用門檻,讓您無需管理底層基礎設施,更加專註於應用開發。本文介紹如何通過控制台和openAPI建立ACS叢集。

控制台

步驟一:開啟建立叢集頁面

  1. 登入容器計算服務控制台,在左側導覽列選擇叢集列表

  2. 叢集列表頁面,單擊頁面左上方的建立叢集

步驟二:完成叢集相關配置

建立叢集頁面,完成叢集配置、網路設定、組件配置和進階選項配置。

叢集配置

配置項

說明

叢集名稱

填寫叢集名稱。

地區

選擇叢集所在的地區。目前支援的地區,請參見開服地區

Kubernetes 版本

選擇當前ACS叢集支援的Kubernetes版本。

維護視窗

ACS叢集營運操作時間視窗。

網路設定

配置項

說明

IPv6雙棧

開啟IPv6雙棧將建立雙棧Kubernetes叢集。

說明

若專用網路選擇使用已有,您需要先為VPC和交換器開通IPv6。具體操作,請參見VPC開通IPv6交換器開通IPv6

選擇專用網路

設定叢集的網路。更多資訊,請參見ACS叢集網路規劃

ACS叢集僅支援專用網路。支援自動建立和使用已有的VPC。

  • 自動建立

    ACS會在當前選擇的地區下自動建立一個VPC。您需要選擇可用性區域,ACS會在選擇的可用性區域下自動建立交換器。

  • 使用已有

    使用已有的VPC和交換器。

選擇可用性區域或交換器時,建議選擇多個,以確保叢集的高可用。您可以使用資源配置推薦功能,ACS會根據您選擇的算力類型,為您推薦算力充足的可用性區域。

說明

ACS叢集中Node對象以虛擬節點的形式提供。建立ACS叢集時,ACS會在所選可用性區域下分別建立一個對應的虛擬節點。

配置 SNAT

設定是否為專用網路建立NAT Gateway並配置SNAT規則。如需訪問公網,例如下載容器鏡像,則需要配置NAT Gateway。

說明
  • 您也可以自行配置NAT Gateway並手動設定SNAT,以確保VPC內執行個體可以正常訪問公網。更多資訊,請參見使用公網 NAT Gateway實現公網訪問

  • 如果不配置公網,您可以將容器鏡像上傳到叢集所在地區的ACR中,並通過內網VPC地址拉取鏡像。

安全性群組

選擇自動建立普通安全性群組或企業級安全性群組。關於兩類安全性群組的區別,請參見安全性群組概述

API Server 訪問配置

預設為API Server建立一個隨用隨付的私網CLB執行個體。關於CLB執行個體如何計費,請參見隨用隨付

重要

刪除預設建立的CLB執行個體將會導致無法訪問API Server。

您可以設定是否開放使用 EIP 暴露 API Server。API Server提供了各類資來源物件(Pod、Service等)的增刪改查以及Watch等HTTP RESTful介面。

  • 如果選擇開放,ACS叢集會建立一個EIP,並掛載到CLB上。Kubernetes API服務(即API Server)會通過EIP的6443連接埠暴露出來,您可以在外網通過KubeConfig串連並操作叢集。

  • 如果選擇不開放,則不會建立EIP,您只能在VPC內部使用KubeConfig串連並操作叢集。

更多資訊,請參見控制叢集API Server的公網訪問能力

Service CIDR

Service CIDR網段不能與VPC及VPC內已有Kubernetes叢集使用的網段重複,建立成功後不能修改,而且Service位址區段也不能和Pod位址區段重複。

組件配置

配置項

說明

服務發現

設定是否開啟服務發現。ACS叢集支援CoreDNS

CoreDNS是一個靈活可擴充的DNS伺服器,也是Kubernetes標準的服務發現組件,可以提供Kubernetes叢集內部服務的網域名稱解析能力。

Ingress

設定是否安裝Ingress組件,可選不安裝。如果有對外暴露服務的需求,推薦安裝Ingress組件。

ACS支援以下Ingress組件:

  • ALB Ingress:基於阿里雲應用型負載平衡ALB之上提供更為強大的Ingress流量管理方式,相容Nginx Ingress,具備處理複雜業務路由和認證自動探索的能力,支援HTTP、HTTPS和QUIC協議,完全滿足在雲原生應用情境下對超強彈性和大規模七層流量處理能力的需求。更多資訊,請參見ALB Ingress快速入門

  • MSE Ingress:為了更好地支援雲原生應用情境,MSE雲原生網關與Container Service進行了深度整合和最佳化,推出了MSE Ingress,提供更強大的叢集入口流量管理能力。更多資訊,請參見MSE Ingress管理

容器監控

預設使用以下監控功能:

  • 使用阿里雲可觀測監控 Prometheus 版:提供容器營運所需的基礎監控大盤和警示功能。更多資訊,請參見使用阿里雲Prometheus監控ACS叢集狀態

  • 安裝 metrics-server 叢集基礎監控組件:提供叢集基礎監控功能。更多資訊,請參見metrics-server

    說明

    metrics-server組件依賴CoreDNS,請在服務發現選項中勾選CoreDNS

Log Service

選擇是否使用Log Service。支援建立新的Project或者使用已有Project。

開啟後,會自動開啟叢集審計和管控日誌採集的功能。

進階選項配置

單擊顯示進階選項,按需配置進階選項。

配置項

說明

叢集刪除保護

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

資源群組

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

標籤

輸入鍵(Key)和對應的值(Value),為叢集綁定標籤。Key必填,不可重複,最多64個字元;Value選填,最多128個字元。

  • Key和Value不支援以aliyunacs:https://http://開頭,不區分大小寫。

  • 同一個資源,Key不能重複,相同Key的標籤會被覆蓋。

  • 如果一個資源已經綁定了20個標籤,已有標籤和建立標籤會失效,需解除綁定部分標籤後重新綁定。

時區

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

叢集本地區名

為配置叢集本地區名。 預設網域名稱為cluster.local,也支援自訂網域名。

本地區名是叢集中所有Service使用的頂級網域名稱(標準尾碼)。例如,處於default命名空間中的名為my-service的Service,它的DNS網域名稱為my-service.default.svc.cluster.local

步驟三:確認配置

  1. 完成叢集相關配置後,單擊確認配置

  2. 在彈出的對話方塊中確認所選配置無誤,確保依賴檢查均已通過。

  3. 仔細閱讀並選中服務合約,然後單擊建立叢集

    叢集建立成功後,您可以在叢集頁面查看所建立的叢集。

    說明

    一個叢集的建立時間一般約為十分鐘。

相關操作

  • 查看叢集基本資料

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

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

      綁定公網IP解除綁定公網IP功能僅支援託管版Kubernetes叢集。

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

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

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

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

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

  • 查看叢集日誌資訊

    您可以單擊叢集日誌頁簽,查看叢集的日誌資訊。

OpenAPI

介面說明

ACS叢集是阿里雲Container Service for Kubernetes (ACK)產品叢集類型之一,建立ACS叢集通過調用ACK建立叢集CreateCluster OpenAPI完成。

調試

CreateCluster調試入口

授權資訊

下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:

  • 操作:是指具體的許可權點。

  • 存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。

  • 資源類型:是指操作中支援授權的資源類型。具體說明如下:

    • 對於必選的資源類型,用前面加 * 表示。

    • 對於不支援資源級授權的操作,用全部資源表示。

  • 條件關鍵字:是指雲產品自身定義的條件關鍵字。

  • 關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。

操作

存取層級

資源類型

條件關鍵字

關聯操作

cs:CreateCluster

create

*Cluster

acs:cs:{#regionId}:{#accountId}:cluster/*

  • cs:ClusterType

  • cs:ClusterSpec

  • cs:ClusterProfile

  • cs:AddonNames

請求文法

POST /clusters HTTP/1.1

重點參數說明

在調用CreateCluster介面建立ACS叢集時,您需要重點關注與ACK託管叢集參數的差異化配置:

參數

描述

是否必填

參數組合

region_id

叢集所在的地區 ID。您可以參考開服地區查看。

建立ACS叢集

  • "region_id": "cn-hangzhou"

  • "cluster_type": "ManagedKubernetes"

  • "profile": "Acs"

  • "cluster_spec": "ack.pro.small"

  • "service_cidr": "192.168.xx.xx/16"

  • "kubernetes_version": "1.31.1-aliyun.1"

  • "vpcid": "vpc-j6cc1ddlp4rzs7v******"

  • "vswitch_ids": ["vsw-j6cht66iul7h61x******","vsw-j6c5ne6mxgnx3g5******"]

  • "addons": [{"name": "alb-ingress-controller"}]

cluster_type

叢集類型。建立ACS叢集時,該參數必須配置為ManagedKubernetes

profile

叢集子類型。建立ACS叢集時,該參數必須配置為Acs

cluster_spec

叢集規格。建立ACS叢集時,該參數必須配置為ack.pro.small

service_cidr

叢集的Service網段。可選範圍:10.0.0.0/16-24172.16-31.0.0/16-24192.168.0.0/16-24

不能與VPC網段及VPC內已有Kubernetes叢集使用的網段重複,建立成功後不能修改。更多內容,請參見ACS叢集網路規劃

kubernetes_version

叢集版本。與Kubernetes社區基準版本保持一致。建議選擇最新版本,若不指定,預設使用最新版本。

目前您可以在ACS控制台建立三種最新版本的叢集。關於ACS支援的Kubernetes版本,請參見Kubernetes版本概覽及機制

vpcid

叢集的專用網路。若不指定,預設將嘗試自動建立專用網路以及三個推薦可用性區域的虛擬交換器。請確保對應地區的VPC配額充足。

vswitch_ids

叢集的虛擬交換器,ACS Pod地址從虛擬交換器中分配。為保證叢集高可用,建議選擇不同可用性區域的虛擬交換器。若您選擇不指定VPC,則預設為自動建立。

addons

叢集組件列表。建立ACS叢集時通過addons指定想要安裝的使用者組件。若不指定,API將預設安裝叢集核心組件和其他必備組件。

請求樣本

建立一個ACS叢集的請求樣本如下,完整的參數說明請參見CreateCluster - 建立叢集

POST /clusters 
<公用要求標頭>
{
    "name": "ACS叢集",                         // 必填項,叢集名稱  
    "cluster_type": "ManagedKubernetes",      // 必填項,叢集類型。 
    "profile": "Acs",                         // 必填項,叢集子類型。       
    "cluster_spec": "ack.pro.small",          // 必填項,叢集規格。
    "kubernetes_version": "1.31.1-aliyun.1",  // 建立的叢集版本,建議選擇最新版本。   
    "region_id": "cn-hangzhou",               // 必填項,叢集所屬地區指定為杭州地區。
    "vpcid": "vpc-j6cc1ddlp4rzs7v******",     // 叢集的專用網路ID須在網路規劃時確定,建立後不可修改。
    "service_cidr": "192.168.xx.xx/16",       // 必填項,叢集的Service網段。
    "vswitch_ids": [                          // 選擇多個交換器用於保證高可用。
        "vsw-j6cht66iul7h61x******",
        "vsw-j6c5ne6mxgnx3g5******"
    ],
    "addons": [                               // 安裝的使用者組件。 
    {
        "name": "alb-ingress-controller"
    }
}

調用結果樣本

調用成功

{
  "cluster_id": "c54c8e4c703834c48bda53ae7841*****",
  "request_id": "08CCB494-7A82-5D51-907C-A6BF658*****",
  "task_id": "T-68007b2164acba01060*****",
  "instanceId": "c54c8e4c703834c48bda53ae7841*****"
}

調用報錯

以下樣本為cluster_type參數選擇錯誤導致的調用報錯。

{
  "code": "400",
  "message": "no ros component exists. clusterType: Kubernetes, version: ",
  "requestId": "7D99D268-F1E1-5ED8-B757-E5D38A0*****",
  "status": 400
}

錯誤碼

訪問錯誤中心查看更多錯誤碼。

相關內容

更多關於叢集的API,請參見叢集API目錄