阿里雲容器計算服務ACS是以Kubernetes為使用介面提供容器算力資源的雲端運算服務,提供符合容器規範的Serverless容器算力。ACS叢集支援Pod秒級伸縮,能夠根據應用配置的CPU和記憶體資源量按需、隨用隨付,協助您降低業務的計算成本,適用於有明顯波峰波穀的業務。ACS叢集提供完善的Kubernetes相容能力,同時降低Kubernetes使用門檻,讓您無需管理底層基礎設施,更加專註於應用開發。本文介紹如何通過控制台和openAPI建立ACS叢集。
控制台
步驟一:開啟建立叢集頁面
登入容器計算服務控制台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊頁面左上方的建立叢集。
步驟二:完成叢集相關配置
在建立叢集頁面,完成叢集配置、網路設定、組件配置和進階選項配置。
叢集配置
配置項 | 說明 |
叢集名稱 | 填寫叢集名稱。 |
地區 | 選擇叢集所在的地區。目前支援的地區,請參見開服地區。 |
Kubernetes 版本 | 選擇當前ACS叢集支援的Kubernetes版本。 |
維護視窗 | ACS叢集營運操作時間視窗。 |
網路設定
配置項 | 說明 |
IPv6雙棧 | 開啟IPv6雙棧將建立雙棧Kubernetes叢集。 |
選擇專用網路 | 設定叢集的網路。更多資訊,請參見ACS叢集網路規劃。 ACS叢集僅支援專用網路。支援自動建立和使用已有的VPC。
選擇可用性區域或交換器時,建議選擇多個,以確保叢集的高可用。您可以使用資源配置推薦功能,ACS會根據您選擇的算力類型,為您推薦算力充足的可用性區域。 說明 ACS叢集中Node對象以虛擬節點的形式提供。建立ACS叢集時,ACS會在所選可用性區域下分別建立一個對應的虛擬節點。 |
配置 SNAT | 設定是否為專用網路建立NAT Gateway並配置SNAT規則。如需訪問公網,例如下載容器鏡像,則需要配置NAT Gateway。 說明
|
安全性群組 | 選擇自動建立普通安全性群組或企業級安全性群組。關於兩類安全性群組的區別,請參見安全性群組概述。 |
API Server 訪問配置 | 預設為API Server建立一個隨用隨付的私網CLB執行個體。關於CLB執行個體如何計費,請參見隨用隨付。 重要 刪除預設建立的CLB執行個體將會導致無法訪問API Server。 您可以設定是否開放使用 EIP 暴露 API Server。API Server提供了各類資來源物件(Pod、Service等)的增刪改查以及Watch等HTTP RESTful介面。
更多資訊,請參見控制叢集API Server的公網訪問能力。 |
Service CIDR | Service CIDR網段不能與VPC及VPC內已有Kubernetes叢集使用的網段重複,建立成功後不能修改,而且Service位址區段也不能和Pod位址區段重複。 |
組件配置
配置項 | 說明 |
服務發現 | 設定是否開啟服務發現。ACS叢集支援CoreDNS。 CoreDNS是一個靈活可擴充的DNS伺服器,也是Kubernetes標準的服務發現組件,可以提供Kubernetes叢集內部服務的網域名稱解析能力。 |
Ingress | 設定是否安裝Ingress組件,可選不安裝。如果有對外暴露服務的需求,推薦安裝Ingress組件。 ACS支援以下Ingress組件:
|
容器監控 | 預設使用以下監控功能:
|
Log Service | 選擇是否使用Log Service。支援建立新的Project或者使用已有Project。 開啟後,會自動開啟叢集審計和管控日誌採集的功能。 |
進階選項配置
單擊顯示進階選項,按需配置進階選項。
配置項 | 說明 |
叢集刪除保護 | 推薦開啟叢集刪除保護,防止通過控制台或OpenAPI誤刪除叢集。 |
資源群組 | 建立的叢集將歸屬於選擇的資源群組。一個資源只能歸屬於一個資源群組。根據不同的業務情境,您可以將資源群組映射為專案、應用或組織等概念。 |
標籤 | 輸入鍵(Key)和對應的值(Value),為叢集綁定標籤。Key必填,不可重複,最多64個字元;Value選填,最多128個字元。
|
時區 | 叢集所要使用的支援時區。預設時區為瀏覽器所配置的時區。 |
叢集本地區名 | 為配置叢集本地區名。 預設網域名稱為 本地區名是叢集中所有Service使用的頂級網域名稱(標準尾碼)。例如,處於default命名空間中的名為 |
步驟三:確認配置
完成叢集相關配置後,單擊確認配置。
在彈出的對話方塊中確認所選配置無誤,確保依賴檢查均已通過。
仔細閱讀並選中服務合約,然後單擊建立叢集。
叢集建立成功後,您可以在叢集頁面查看所建立的叢集。
說明一個叢集的建立時間一般約為十分鐘。
相關操作
查看叢集基本資料
在叢集列表頁面中,找到剛建立的叢集,單擊操作列中的詳情,單擊基本資料和串連資訊頁簽,查看叢集的基本資料和串連資訊。其中:
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完成。
調試
授權資訊
下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:
操作:是指具體的許可權點。
存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。
資源類型:是指操作中支援授權的資源類型。具體說明如下:
對於必選的資源類型,用前面加 * 表示。
對於不支援資源級授權的操作,用
全部資源表示。
條件關鍵字:是指雲產品自身定義的條件關鍵字。
關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
cs:CreateCluster | create | *Cluster
|
| 無 |
請求文法
POST /clusters HTTP/1.1重點參數說明
在調用CreateCluster介面建立ACS叢集時,您需要重點關注與ACK託管叢集參數的差異化配置:
參數 | 描述 | 是否必填 | 參數組合 |
region_id | 叢集所在的地區 ID。您可以參考開服地區查看。 | 是 | 建立ACS叢集
|
cluster_type | 叢集類型。建立ACS叢集時,該參數必須配置為 | 是 | |
profile | 叢集子類型。建立ACS叢集時,該參數必須配置為 | 是 | |
cluster_spec | 叢集規格。建立ACS叢集時,該參數必須配置為 | 是 | |
service_cidr | 叢集的Service網段。可選範圍: 不能與VPC網段及VPC內已有Kubernetes叢集使用的網段重複,建立成功後不能修改。更多內容,請參見ACS叢集網路規劃。 | 是 | |
kubernetes_version | 叢集版本。與Kubernetes社區基準版本保持一致。建議選擇最新版本,若不指定,預設使用最新版本。 目前您可以在ACS控制台建立三種最新版本的叢集。關於ACS支援的Kubernetes版本,請參見Kubernetes版本概覽及機制。 | 否 | |
vpcid | 叢集的專用網路。若不指定,預設將嘗試自動建立專用網路以及三個推薦可用性區域的虛擬交換器。請確保對應地區的VPC配額充足。 | 否 | |
vswitch_ids | 叢集的虛擬交換器,ACS Pod地址從虛擬交換器中分配。為保證叢集高可用,建議選擇不同可用性區域的虛擬交換器。若您選擇不指定VPC,則預設為自動建立。 | 否 | |
addons | 叢集組件列表。建立ACS叢集時通過 | 否 |
請求樣本
建立一個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目錄。