ALIYUN::CS::ASKCluster類型用於建立ACK Serverless叢集。
文法
{
"Type": "ALIYUN::CS::ASKCluster",
"Properties": {
"KubernetesVersion": String,
"EndpointPublicAccess": Boolean,
"ZoneId": String,
"ResourceGroupId": String,
"VSwitchIds": List,
"SecurityGroupId": String,
"Addons": List,
"DeletionProtection": Boolean,
"ClusterSpec": String,
"Name": String,
"TimeZone": String,
"ServiceDiscoveryTypes": List,
"VpcId": String,
"ServiceCidr": String,
"SnatEntry": Boolean,
"Tags": List,
"PrivateZone": Boolean,
"DeleteOptions": List
}
}
屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
KubernetesVersion | String | 否 | 是 | 叢集版本。 | 無 |
EndpointPublicAccess | Boolean | 否 | 否 | 是否開啟公網API Server訪問。 | 取值:
|
ZoneId | String | 否 | 否 | 叢集所屬地區的可用性區域ID。 | 當建立ACK Serverless叢集時,如果未指定 |
ResourceGroupId | String | 否 | 是 | 叢集所屬資源群組ID。 | 無 |
VSwitchIds | List | 否 | 否 | 叢集節點所在的虛擬交換器ID列表。 | 最多支援3個虛擬交換器。 說明 當建立零節點的託管版叢集時,該欄位必填。 |
SecurityGroupId | String | 否 | 否 | 叢集ECS執行個體所屬的安全性群組ID。 | 無 |
Addons | List | 否 | 否 | 叢集組件列表。 | 無 |
DeletionProtection | Boolean | 否 | 否 | 叢集是否啟用刪除保護,防止通過控制台或API誤刪除叢集。 | 取值:
|
DeleteOptions | List | 否 | 是 | 叢集關聯資源的刪除選項。 | 更多資訊,請參見DeleteOptions屬性。 |
ClusterSpec | String | 否 | 否 | 託管版叢集類型,面向託管叢集。 | 取值:
說明 取值可以為空白,為空白時則建立標準託管叢集。 更多資訊,請參見ACK Pro版叢集概述。 |
Name | String | 是 | 否 | 叢集名稱。 | 命名規則:由數字、漢字、英文字元或短劃線(-)組成,長度範圍1~63個字元,且不能以短劃線(-)開頭。 |
TimeZone | String | 否 | 否 | 叢集使用的時區。 | 無 |
ServiceDiscoveryTypes | List | 否 | 否 | 叢集內服務發現類型,用於在ACK Serverless叢集中指定服務發現方式。 | 取值:
|
VpcId | String | 否 | 否 | 叢集使用的專用網路。 | 無 |
ServiceCidr | String | 否 | 否 | Service網路位址區段。 | 可選範圍: 說明 預設使用 |
SnatEntry | Boolean | 否 | 否 | 是否為專用網路配置SNAT規則。 | 取值:
說明 如果建立叢集時未開啟,後續業務需要訪問公網,可手動開啟。更多資訊,請參見為已有叢集開啟公網訪問能力。 |
Tags | List | 否 | 是 | 節點標籤。 | 標籤定義規則:
|
PrivateZone | Boolean | 否 | 否 | 是否開啟PrivateZone服務。 | 取值:
|
Addons文法
"Addons": [
{
"Config": String,
"Disabled": Boolean,
"Name": String
}
]
Addons屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Config | String | 否 | 否 | 組件配置。 | 無 |
Disabled | Boolean | 否 | 否 | 是否禁止預設安裝。 | 叢集建立時除了安裝必要元件外,還會額外安裝一些日誌組件等,您可以禁止這些預設行為,後續通過安裝組件的API進行安裝或通過控制台安裝。 取值:
|
Name | String | 是 | 否 | 組件名稱。 | 無 |
Tags文法
"Tags": [
{
"Value": String,
"Key": String
}
]
Tags屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Value | String | 否 | 否 | 標籤key值。 | 無 |
Key | String | 是 | 否 | 標籤value值。 | 無 |
DeleteOptions文法
"DeleteOptions": [
{
"DeleteMode": String,
"ResourceType": String
}
]
DeleteOptions屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
DeleteMode | String | 否 | 是 | 該類型資源的刪除策略。 | 取值:
|
ResourceType | String | 否 | 是 | 資源類型。 | 取值:
|
傳回值
Fn::GetAtt
TaskId:任務ID。
ClusterId:叢集ID。
APIServerSLBId:API伺服器SLB的ID。
ScalingGroupId:伸縮組ID。
ScalingRuleId:縮放規則ID。
DefaultUserKubeConfig:使用者配置叢集憑據的預設Kubernetes配置。
WorkerRamRoleName:Worker節點RAM角色名稱。
ScalingConfigurationId:伸縮配置ID。
PrivateUserKubConfig:使用者配置叢集憑據的專有Kubernetes配置。
Nodes:叢集節點列表。
IngressSLBId:Ingress負載平衡ID。
樣本
YAML
格式
ROSTemplateFormatVersion: '2015-09-01'
Description: Test Create ASKCluster
Parameters: {}
Resources:
VSwitch:
Type: ALIYUN::ECS::VSwitch
Properties:
VSwitchName: mytest
VpcId:
Ref: Vpc
CidrBlock: 192.168.1.0/24
ZoneId:
Fn::Select:
- '0'
- Fn::GetAZs:
Ref: ALIYUN::Region
Vpc:
Type: ALIYUN::ECS::VPC
Properties:
VpcName: mytest
CidrBlock: 192.168.0.0/16
ASKCluster:
Type: ALIYUN::CS::ASKCluster
Properties:
VpcId:
Ref: Vpc
ClusterSpec: ack.pro.small
Name: mytest
VSwitchIds:
- Ref: VSwitch
Outputs:
ClusterId:
Value:
Fn::GetAtt:
- ASKCluster
- ClusterId
TaskId:
Value:
Fn::GetAtt:
- ASKCluster
- TaskId
JSON
格式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Test Create ASKCluster",
"Parameters": {},
"Resources": {
"VSwitch": {
"Type": "ALIYUN::ECS::VSwitch",
"Properties": {
"VSwitchName": "mytest",
"VpcId": {
"Ref": "Vpc"
},
"CidrBlock": "192.168.1.0/24",
"ZoneId": {
"Fn::Select": [
"0",
{
"Fn::GetAZs": {
"Ref": "ALIYUN::Region"
}
}
]
}
}
},
"Vpc": {
"Type": "ALIYUN::ECS::VPC",
"Properties": {
"VpcName": "mytest",
"CidrBlock": "192.168.0.0/16"
}
},
"ASKCluster": {
"Type": "ALIYUN::CS::ASKCluster",
"Properties": {
"VpcId": {
"Ref": "Vpc"
},
"ClusterSpec": "ack.pro.small",
"Name": "mytest",
"VSwitchIds": [
{
"Ref": "VSwitch"
}
]
}
}
},
"Outputs": {
"ClusterId": {
"Value": {
"Fn::GetAtt": [
"ASKCluster",
"ClusterId"
]
}
},
"TaskId": {
"Value": {
"Fn::GetAtt": [
"ASKCluster",
"TaskId"
]
}
}
}
}