ALIYUN::CS::Cluster is used to create an Alibaba Cloud Docker cluster.
Syntax
{
"Type": "ALIYUN::CS::Cluster",
"Properties": {
"SystemDiskCategory": String,
"VpcId": String,
"Name": String,
"DataDiskCategory": String,
"Password": String,
"ZoneId": String,
"ImageId": String,
"VSwitchId": String,
"SubnetCidr": String,
"DataDiskSize": Integer,
"IoOptimized": Boolean,
"CreateSlbByDefault": Boolean,
"InstanceType": String,
"InstanceIds": List,
"Size": Integer
}
}
Properties
Name | Type | Required | Editable | Description | Validity |
Name | String | Yes | No | The name of the Docker cluster to be created. | The name must be 1 to 64 characters in length and can contain letters, digits, and hyphens (-). |
InstanceType | String | No | No | The ECS instance type used to create the Docker cluster. | None |
Size | Integer | Yes | No | The number of ECS instances to be contained in the Docker cluster. | None |
VpcId | String | No | No | The ID of the VPC to which the Docker cluster belongs. | None |
ImageId | String | No | No | The ID of the image used by the contained ECS instances. | None |
VSwitchId | String | No | No | The ID of the VSwitch for the specified VPC. | None |
SubnetCidr | String | No | No | The subnet CIDR block of the Docker cluster. | The allowed subnet CIDR block ranges from 172.17.0.0/24 to 172.31.0.0/24. Make sure that the subnet CIDR block is different from that of the VPC. |
Password | String | Yes | No | The password used to log on to an ECS instance. | The password must be 8 to 30 characters in length and can contain letters and digits. It cannot contain any special characters. |
ZoneId | String | No | No | The ID of the zone where the Docker cluster resides. | None |
SystemDiskCategory | String | No | No | The type of a system disk. |
Valid values: cloud, cloud_efficiency, cloud_ssd, and ephemeral_ssd. Default value: cloud. |
DataDiskCategory | String | No | No | The type of a data disk. |
Valid values: cloud, cloud_efficiency, cloud_ssd, and ephemeral_ssd. Default value: cloud. |
DataDiskSize | Integer | No | No | The size of the data disk. | Unit: GB. |
IoOptimized | Boolean | No | No | Indicates whether a created ECS instance is I/O optimized. |
Valid values: true and false. Default value: false. |
CreateSlbByDefault | Boolean | No | No | Indicates whether to create a Server Load Balancer (SLB) instance for the Docker cluster. |
Valid values: true and false. Default value: false. |
InstanceIds | List | No | No | The list of IDs of ECS instances used to create the Docker cluster. | IDs in the list are separated by commas (,). This parameter is ignored if the InstanceType parameter is set. If this parameter is set, other properties of ALIYUN::CS::Cluster are ignored, except for the Size property that indicates the number of IDs in the list. System disks of all ECS instances corresponding to the IDs are replaced. Before you set this parameter when creating a Docker cluster, ensure that data in the system disks has been backed up. |
Response parameters
Fn::GetAtt
- MasterUrl: the master URL of the cluster.
- Ca: the CA certificate.
- ClusterId: the ID of the cluster.
- Cert: the client certificate.
- Key: the client primary key.
Examples
{
"ROSTemplateFormatVersion": "2015-09-01",
"Resources": {
"MyCluster": {
"Properties": {
"InstanceType": "ecs.s1.small",
"Name": "stormcluster",
"Password": "Test****",
"Size": "1"
},
"Type": "ALIYUN::CS::Cluster"
}
},
"Outputs": {
"CaCert": {
"Description": "CA cert of the cluster.",
"Value": {
"Fn::GetAtt": [
"MyCluster",
"Ca"
]
}
},
"ClientCert": {
"Description": "Client cert of the cluster.",
"Value": {
"Fn::GetAtt": [
"MyCluster",
"Cert"
]
}
},
"ClientKey": {
"Description": "Client key of the cluster.",
"Value": {
"Fn::GetAtt": [
"MyCluster",
"Key"
]
}
},
"ClusterId": {
"Description": "Id of the cluster.",
"Value": {
"Fn::GetAtt": [
"MyCluster",
"ClusterId"
]
}
},
"Endpoints": {
"Description": "Endpoints of the app.",
"Value": {
"Fn::GetAtt": [
"App",
"Endpoints"
]
}
},
"MasterUrl": {
"Description": "Master url of the cluster.",
"Value": {
"Fn::GetAtt": [
"MyCluster",
"MasterUrl"
]
}
}
}
}