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"
]
}
}
}
}