ALIYUN::CS::ASKCluster is used to create a serverless Kubernetes (ASK) cluster.
Syntax
{
"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
}
}
Properties
Property | Type | Required | Editable | Description | Constraint |
KubernetesVersion | String | No | No | The version of the cluster. | None. |
EndpointPublicAccess | Boolean | No | No | Specifies whether to allow the cluster to access the API server over the Internet. | Valid values:
|
ZoneId | String | No | No | The ID of the zone that belongs to the region of the cluster. | If you do not specify |
ResourceGroupId | String | No | Yes | The ID of the resource group to which the cluster belongs. | None. |
VSwitchIds | List | No | No | The IDs of the vSwitches to which the nodes in the cluster are connected. | You can specify up to three vSwitches. Note You must specify this property when you create a Container Service for Kubernetes (ACK) managed cluster that does not contain nodes. |
SecurityGroupId | String | No | No | The ID of the security group to which the Elastic Compute Service (ECS) instances in the cluster belong. | None. |
Addons | List | No | No | The components in the cluster. | None. |
DeletionProtection | Boolean | No | No | Specifies whether to enable deletion protection to prevent the cluster from being deleted in the ACK console or by calling specific ACK API operations. | Valid values:
|
ClusterSpec | String | No | No | The type of the ACK managed cluster. | Valid values:
Note If you leave this property empty, an ACK standard cluster is created. For more information, see Overview of ACK Pro clusters. |
Name | String | Yes | No | The cluster name. | The name must be 1 to 63 characters in length, and can contain digits, letters, and hyphens (-). It cannot start with a hyphen (-). |
TimeZone | String | No | No | The time zone of the cluster. | None. |
ServiceDiscoveryTypes | List | No | No | The method for implementing service discovery in the cluster. | Valid values:
|
VpcId | String | No | No | The VPC of the cluster. | None. |
ServiceCidr | String | No | No | The Service CIDR block. | Valid values: 10.0.0.0/16-24, 172.16-31.0.0/16-24, and 192.168.0.0/16-24. The Service CIDR block cannot overlap with the VPC CIDR block 10.1.0.0/21 or the CIDR blocks of existing ACK clusters in the VPC. You cannot change the Service CIDR block after you create the cluster. Note By default, 172.19.0.0/20 is used as the Service CIDR block. |
SnatEntry | Boolean | No | No | Specifies whether to configure SNAT rules for the VPC. | Valid values:
Note If you set this property to false when you create the cluster, you can manually enable Internet access to meet your business requirements after you create the cluster. For more information, see Enable an existing ACK cluster to access the Internet. |
Tags | List | No | Yes | The tags that you want to add to the nodes. | You must add tags based on the following rules:
|
PrivateZone | Boolean | No | No | Specifies whether to enable Alibaba Cloud DNS PrivateZone. | Valid values:
|
Addons syntax
"Addons": [
{
"Config": String,
"Disabled": Boolean,
"Name": String
}
]
Addons properties
Property | Type | Required | Editable | Description | Constraint |
Config | String | No | No | The configurations of the component. | None. |
Disabled | Boolean | No | No | Specifies whether to disable default installation. | In addition to the required components, specific optional components, such as Simple Log Service (SLS) components, are also installed by default when you create a cluster. You can configure this property to disable the default installation of optional components. You can install the optional component in the ACK console or by calling specific ACK API operations after the cluster is created. Valid values:
|
Name | String | Yes | No | The component name. | None. |
Tags syntax
"Tags": [
{
"Value": String,
"Key": String
}
]
Tags properties
Property | Type | Required | Editable | Description | Constraint |
Value | String | No | No | The tag key. | None. |
Key | String | Yes | No | The tag value. | None. |
Return values
Fn::GetAtt
TaskId: the task ID.
ClusterId: the cluster ID.
APIServerSLBId: the ID of the Server Load Balancer (SLB) instance that is associated with the API server.
ScalingGroupId: the ID of the scaling group.
ScalingRuleId: the ID of the scaling rule.
DefaultUserKubeConfig: the default configurations of user credentials for the cluster.
WorkerRamRoleName: the name of the Resource Access Management (RAM) role for the worker nodes.
ScalingConfigurationId: the ID of the scaling configuration.
PrivateUserKubConfig: the private configurations of user credentials for the cluster.
Nodes: the nodes in the cluster.
IngressSLBId: the ID of the SLB Ingress.
Examples
YAML
format
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
format
{
"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"
]
}
}
}
}