ALIYUN::CS::ManagedEdgeKubernetesCluster is used to create an ACK edge cluster.
Syntax
{
"Type": "ALIYUN::CS::ManagedEdgeKubernetesCluster",
"Properties": {
"NumOfNodes": Number,
"Profile": String,
"VpcId": String,
"ServiceCidr": String,
"Name": String,
"Tags": List,
"ProxyMode": String,
"DisableRollback": Boolean,
"SnatEntry": Boolean,
"VSwitchIds": List,
"LoginPassword": String,
"WorkerSystemDiskSize": Number,
"KeyPair": String,
"Addons": List,
"WorkerDataDiskCategory": String,
"EndpointPublicAccess": Boolean,
"WorkerDataDisk": Boolean,
"WorkerSystemDiskCategory": String,
"WorkerDataDiskSize": Integer,
"TimeoutMins": Number,
"ClusterSpec": String,
"ContainerCidr": String,
"CloudMonitorFlags": Boolean,
"WorkerInstanceTypes": List
}
}
Properties
Property | Type | Required | Editable | Description | Constraint |
---|---|---|---|---|---|
NumOfNodes | Number | Yes | No | The number of worker nodes. | Valid values: 0 to 300. |
Profile | String | No | No | The ID of the ACK edge cluster. | Default value: Edge. |
VpcId | String | No | No | The ID of the virtual private cloud (VPC). | If you do not specify this parameter, the system creates a VPC whose CIDR block is
192.168.0.0/16.
You must specify the VpcId and VSwitchIds parameters or leave both parameters empty. |
ServiceCidr | String | No | No | The CIDR block of the Container Service for Kubernetes (ACK) service. | The CIDR block of the service cannot overlap with the CIDR block of the VPC or container. If you use the VPC that is created by the system, the CIDR block 172.19.0.0/20 is used. |
Name | String | Yes | No | The name of the cluster. | The name can contain letters, digits, and hyphens (-). It must start with a letter or digit. |
Tags | List | No | Yes | The tags of the cluster. | You can specify up to 20 tags.
For more information, see Tags property. |
Addons | List | No | No | The components that you want to use for the cluster. |
|
ProxyMode | String | No | No | The kube-proxy mode. | Default value: iptables. Valid values:
|
DisableRollback | Boolean | No | No | Specifies whether to roll back the cluster if the cluster fails to be created. | Default value: true. Valid values:
|
SnatEntry | Boolean | No | No | Specifies whether to configure SNAT rules for the VPC. | Default value: false. Valid values:
Note If you want to use the VPC that is created by the system, set the value to true. If
you want to use an existing VPC, set the value based on whether the VPC has Internet
access.
|
VSwitchIds | List | No | No | The IDs of vSwitches. | Valid values: 1 to 3.
You must specify the VpcId and VSwitchIds parameters or leave both parameters empty. |
LoginPassword | String | No | No | The logon password. | The password must be 8 to 30 characters in length. The password must contain at least
three of the following character types: uppercase letters, lowercase letters, digits,
and special characters. Special characters include ( ) ` ~ ! @ # $ % ^ & ∗ - + = | { } [ ] : ; ' < > , . ? /
You must specify only one of the LoginPassword and KeyPair parameters. |
KeyPair | String | No | No | The name of the key pair. | You must specify only one of the LoginPassword and KeyPair parameters. |
EndpointPublicAccess | Boolean | No | No | Specifies whether to allow the cluster to access the API server over the Internet. | Default value: true. Valid values:
|
WorkerSystemDiskSize | Number | No | No | The system disk size of worker nodes. | Default value: 120.
Unit: GiB. |
WorkerSystemDiskCategory | String | No | No | The system disk type of worker nodes. | Default value: cloud_efficiency. Valid values:
|
WorkerDataDisk | Boolean | No | No | Specifies whether to attach a data disk to worker nodes. | Default value: false. Valid values:
|
WorkerDataDiskSize | Integer | No | No | The data disk size of worker nodes. | None. |
WorkerDataDiskCategory | String | No | No | The type of the data disk. | Default value: cloud_efficiency. Valid values:
|
TimeoutMins | Number | No | No | The timeout period during which you can create the cluster. | Default value: 60.
Unit: minutes. |
ClusterSpec | String | No | No | The type of the ACK edge cluster. | Default value: ack.standard. Valid values:
|
ContainerCidr | String | No | No | The CIDR block of the pod. | You must specify this parameter if you create a cluster that uses Flannel. The CIDR
block must be one of the following CIDR blocks of the VPC and their subnets:
For more information about how to plan CIDR blocks for a cluster, see Plan CIDR blocks for an ACK cluster. |
CloudMonitorFlags | Boolean | No | No | Specifies whether to install CloudMonitor agents. | Default value: false. Valid values:
|
WorkerInstanceTypes | List | No | No | The instance types of worker nodes. | None. |
Tags syntax
"Tags": [
{
"Key": String,
"Value": String
}
]
Tags property
Field | Type | Required | Editable | Description | Constraint |
---|---|---|---|---|---|
Key | String | Yes | No | The key of the tag. | The key must be 1 to 64 characters in length. It cannot start with aliyun , acs: , https:// , or http:// .
|
Value | String | No | No | The value of the tag. | The value must be 0 to 128 characters in length. It cannot start with aliyun , acs: , http:// , or https:// .
|
Addons syntax
"Addons": [
{
"Disabled": Boolean,
"Config": String,
"Name": String
}
]
Addons property
Field | Type | Required | Editable | Description | Constraint |
---|---|---|---|---|---|
Disabled | Boolean | No | No | Specifies whether to disable automatic installation of the component. | Default value: false. Valid values:
|
Config | String | No | No | The configurations of the component. | If you leave this parameter empty, no configurations are required for the component. |
Name | String | Yes | No | The name of the component. | None. |
Response parameters
Fn::GetAtt
- ClusterId: the ID of the cluster.
- TaskId: the ID of the task in which the cluster is created. The task ID is generated by the system and is used to query task status.
- WorkerRamRoleName: the name of the RAM role for worker nodes.
- DefaultUserKubeConfig: the default configurations of user credentials for the cluster.
- ScalingRuleId: the ID of the scaling rule.
- ScalingGroupId: the ID of the scaling group.
- PrivateUserKubConfig: the private configurations of user credentials for the cluster.
- ScalingConfigurationId: the ID of the scaling configuration.
- Nodes: the nodes in the cluster.
Examples
JSON
format
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"EndpointPublicAccess": {
"Type": "Boolean",
"Description": "Whether to enable the public network API Server:\ntrue: which means that the public network API Server is open.\nfalse: If set to false, the API server on the public network will not be created, only the API server on the private network will be created. Default to false.",
"AllowedValues": [
"True",
"true",
"False",
"false"
],
"Default": false
},
"WorkerPeriod": {
"Type": "Number",
"Description": "The duration of the annual and monthly subscription. It takes effect when the worker_instance_charge_type value is PrePaid and is required. The value range is:\nWhen PeriodUnit = Week, Period values are: {\"1\", \"2\", \"3\", \"4\"}\nWhen PeriodUnit = Month, Period values are: {\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"12\", \"24\", \"36\", \"48\", \"60\"}\nDefault to 1.",
"AllowedValues": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
12,
24,
36,
48,
60
],
"Default": 1
},
"WorkerPeriodUnit": {
"Type": "String",
"Description": "When you specify PrePaid, you need to specify the period. The options are:\nWeek: Time is measured in weeks\nMonth: time in months\nDefault to Month.",
"AllowedValues": [
"Week",
"Month"
],
"Default": "Month"
},
"MasterSystemDiskCategory": {
"Type": "String",
"Description": "Master disk system disk type. The value includes:\ncloud_efficiency: efficient cloud disk\ncloud_ssd: SSD cloud disk\ncloud_essd: ESSD cloud diskDefault to cloud_ssd.",
"Default": "cloud_ssd"
},
"Addons": {
"Type": "Json",
"Description": "A combination of addon plugins for Kubernetes clusters.\nNetwork plug-in: including Flannel and Terway network plug-ins\nLog service: Optional. If the log service is not enabled, the cluster audit function cannot be used.\nIngress: The installation of the Ingress component is enabled by default."
},
"MasterSystemDiskSize": {
"Type": "Number",
"Description": "Master disk system disk size in GiB.\nDefault to 120.",
"MinValue": 1,
"Default": 120
},
"WorkerSystemDiskCategory": {
"Type": "String",
"Description": "Worker node system disk type. The value includes:\ncloud_efficiency: efficient cloud disk\ncloud_ssd: SSD cloud disk\nDefault to cloud_efficiency.",
"Default": "cloud_efficiency"
},
"NodePortRange": {
"Type": "String",
"Description": "Node service port. The value range is [30000, 65535].\nDefault to 30000-65535.",
"Default": "30000-65535"
},
"MasterCount": {
"Type": "Number",
"Description": "Number of master instances. The value can be 3 or 5. The default value is 3.",
"AllowedValues": [
3,
5
],
"Default": 3
},
"WorkerSystemDiskSize": {
"Type": "Number",
"Description": "Worker disk system disk size, the unit is GiB.\nDefault to 120.",
"MinValue": 1,
"Default": 120
},
"SshFlags": {
"Type": "Boolean",
"Description": "Whether to enable public network SSH login:\ntrue: open\nfalse: not open",
"AllowedValues": [
"True",
"true",
"False",
"false"
]
},
"MasterVSwitchIds": {
"Type": "CommaDelimitedList",
"Description": "Master node switch ID. To ensure high availability of the cluster, it is recommended that you select 3 switches and distribute them in different Availability Zones.",
"MinLength": 1,
"MaxLength": 3
},
"Name": {
"Type": "String",
"Description": "The name of the cluster. The cluster name can use uppercase and lowercase letters, Chinese characters, numbers, and dashes."
},
"Taint": {
"Type": "Json",
"Description": "It is used to mark nodes with taints. It is usually used for the scheduling strategy of Pods. The corresponding concept is: tolerance. If there is a corresponding tolerance mark on the Pods, the stain on the node can be tolerated and scheduled to the node."
},
"MasterDataDisks": {
"Type": "Json",
"Description": "Master data disk type, size and other configuration combinations. This parameter is valid only when the master node data disk is mounted."
},
"Runtime": {
"Type": "Json",
"Description": "The container runtime of the cluster. The default runtime is Docker."
},
"CloudMonitorFlags": {
"Type": "Boolean",
"Description": "Whether to install the cloud monitoring plugin:\ntrue: indicates installation\nfalse: Do not install\nDefault to false",
"AllowedValues": [
"True",
"true",
"False",
"false"
],
"Default": false
},
"ServiceCidr": {
"Type": "String",
"Description": "The service network segment cannot conflict with the VPC network segment and the container network segment. When the system is selected to automatically create a VPC, the network segment 172.19.0.0/20 is used by default.",
"Default": "172.19.0.0/20"
},
"PodVswitchIds": {
"Type": "Json",
"Description": "The list of pod vSwitches. For each vSwitch that is allocated to nodes, \n you must specify at least one pod vSwitch in the same zone. \n The pod vSwitches cannot be the same as the node vSwitches. \n We recommend that you set the mask length of the CIDR block to a value no \ngreater than 19 for the pod vSwitches.\nThe pod_vswitch_ids parameter is required when the Terway network \nplug-in is selected for the cluster."
},
"WorkerAutoRenew": {
"Type": "Boolean",
"Description": "Whether to enable automatic renewal of Worker nodes. The optional values are:\ntrue: automatic renewal\nfalse: do not renew automatically\nDefault to true.",
"AllowedValues": [
"True",
"true",
"False",
"false"
],
"Default": true
},
"ProxyMode": {
"Type": "String",
"Description": "kube-proxy proxy mode, supports both iptables and ipvs modes. The default is iptables.",
"Default": "iptables"
},
"Tags": {
"Type": "Json",
"Description": "Tag the cluster."
},
"DisableRollback": {
"Type": "Boolean",
"Description": "Whether the failure was rolled back:\ntrue: indicates that it fails to roll back\nfalse: rollback failed\nThe default is true. If rollback fails, resources produced during the creation process will be released. False is not recommended.",
"AllowedValues": [
"True",
"true",
"False",
"false"
],
"Default": true
},
"WorkerInstanceTypes": {
"Type": "Json",
"Description": "Worker node ECS specification type code. For more details, see Instance Specification Family.",
"MinLength": 1,
"MaxLength": 10
},
"LoginPassword": {
"Type": "String",
"Description": "SSH login password. Password rules are 8-30 characters and contain three items (upper and lower case letters, numbers, and special symbols). Specify one of KeyPair or LoginPassword."
},
"MasterPeriod": {
"Type": "Number",
"Description": "The duration of the annual subscription and monthly subscription. It takes effect when the master_instance_charge_type value is PrePaid and is a required value. The value range is:\nWhen PeriodUnit = Week, Period values are: {\"1\", \"2\", \"3\", \"4\"}\nWhen PeriodUnit = Month, Period values are: {\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"12\", \"24\", \"36\", \"48\", \"60\"}\nDefault to 1.",
"AllowedValues": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
12,
24,
36,
48,
60
],
"Default": 1
},
"KubernetesVersion": {
"Type": "String",
"Description": "The version of the Kubernetes cluster."
},
"MasterInstanceChargeType": {
"Type": "String",
"Description": "Master node payment type. The optional values are:\nPrePaid: prepaid\nPostPaid: Pay as you go\nDefault to PostPaid.",
"AllowedValues": [
"Subscription",
"PrePaid",
"PrePay",
"Prepaid",
"PayAsYouGo",
"PostPaid",
"PayOnDemand",
"Postpaid"
],
"Default": "PostPaid"
},
"ContainerCidr": {
"Type": "String",
"Description": "The container network segment cannot conflict with the VPC network segment. When the sytem is selected to automatically create a VPC, the network segment 172.16.0.0/16 is used by default.",
"Default": "172.16.0.0/16"
},
"WorkerInstanceChargeType": {
"Type": "String",
"Description": "Worker node payment type. The optional values are:\nPrePaid: prepaid\nPostPaid: Pay as you go\nDefault to PostPaid.",
"AllowedValues": [
"Subscription",
"PrePaid",
"PrePay",
"Prepaid",
"PayAsYouGo",
"PostPaid",
"PayOnDemand",
"Postpaid"
],
"Default": "PostPaid"
},
"CpuPolicy": {
"Type": "String",
"Description": "CPU policy. The cluster version is 1.12.6 and above supports both static and none strategies."
},
"KeyPair": {
"Type": "String",
"Description": "Key pair name. Specify one of KeyPair or LoginPassword."
},
"MasterInstanceTypes": {
"Type": "CommaDelimitedList",
"Description": "Master node ECS specification type code. For more details, see Instance Type Family. Each item correspond to MasterVSwitchIds.\nList size must be 3, Instance Type can be repeated.",
"MinLength": 3,
"MaxLength": 3
},
"WorkerDataDisks": {
"Type": "Json",
"Description": "A combination of configurations such as worker data disk type and size. This parameter is valid only when the worker node data disk is mounted."
},
"SecurityGroupId": {
"Type": "String",
"Description": "Specifies the ID of the security group to which the cluster ECS instance belongs."
},
"TimeoutMins": {
"Type": "Number",
"Description": "Cluster resource stack creation timeout, in minutes. The default value is 60.",
"Default": 60
},
"MasterPeriodUnit": {
"Type": "String",
"Description": "When you specify PrePaid, you need to specify the period. The options are:\nWeek: Time is measured in weeks\nMonth: time in months\nDefault to Month",
"AllowedValues": [
"Week",
"Month"
],
"Default": "Month"
},
"MasterAutoRenewPeriod": {
"Type": "Number",
"Description": "Automatic renewal cycle, which takes effect when prepaid and automatic renewal are selected, and is required:\nWhen PeriodUnit = Week, the values are: {\"1\", \"2\", \"3\"}\nWhen PeriodUnit = Month, the value is {\"1\", \"2\", \"3\", \"6\", \"12\"}\nDefault to 1.",
"AllowedValues": [
1,
2,
3,
6,
12
],
"Default": 1
},
"WorkerDataDisk": {
"Type": "Boolean",
"Description": "Whether to mount the data disk. The options are as follows:\ntrue: indicates that the worker node mounts data disks.\nfalse: indicates that the worker node does not mount data disks.\nDefault to false.",
"AllowedValues": [
"True",
"true",
"False",
"false"
],
"Default": false
},
"VpcId": {
"Type": "String",
"Description": "VPC ID."
},
"NumOfNodes": {
"Type": "Number",
"Description": "Number of worker nodes. The range is [0,300].\nDefault to 3.",
"MinValue": 0,
"MaxValue": 300,
"Default": 3
},
"MasterAutoRenew": {
"Type": "Boolean",
"Description": "Whether the master node automatically renews. It takes effect when the value of MasterInstanceChargeType is PrePaid. The optional values are:\ntrue: automatic renewal\nfalse: do not renew automatically\nDefault to true.",
"AllowedValues": [
"True",
"true",
"False",
"false"
],
"Default": true
},
"WorkerAutoRenewPeriod": {
"Type": "Number",
"Description": "Automatic renewal cycle, which takes effect when prepaid and automatic renewal are selected, and is required:\nWhen PeriodUnit = Week, the values are: {\"1\", \"2\", \"3\"}\nWhen PeriodUnit = Month, the value is {\"1\", \"2\", \"3\", \"6\", \"12\"}\nDefault to 1.",
"AllowedValues": [
1,
2,
3,
6,
12
],
"Default": 1
},
"WorkerVSwitchIds": {
"Type": "CommaDelimitedList",
"Description": "The virtual switch ID of the worker node.",
"MinLength": 1
},
"SnatEntry": {
"Type": "Boolean",
"Description": "Whether to configure SNAT for the network.\nWhen a VPC can access the public network environment, set it to false.\nWhen an existing VPC cannot access the public network environment:\nWhen set to True, SNAT is configured and the public network environment can be accessed at this time.\nIf set to false, it means that SNAT is not configured and the public network environment cannot be accessed at this time.\nDefault to true.",
"AllowedValues": [
"True",
"true",
"False",
"false"
],
"Default": true
},
"MasterDataDisk": {
"Type": "Boolean",
"Description": "Whether the master node mounts data disks can be selected as:\ntrue: mount the data disk\nfalse: no data disk is mounted, default is false",
"AllowedValues": [
"True",
"true",
"False",
"false"
],
"Default": false
}
},
"Resources": {
"KubernetesCluster": {
"Type": "ALIYUN::CS::KubernetesCluster",
"Properties": {
"EndpointPublicAccess": {
"Ref": "EndpointPublicAccess"
},
"WorkerPeriod": {
"Ref": "WorkerPeriod"
},
"WorkerPeriodUnit": {
"Ref": "WorkerPeriodUnit"
},
"MasterSystemDiskCategory": {
"Ref": "MasterSystemDiskCategory"
},
"Addons": {
"Ref": "Addons"
},
"MasterSystemDiskSize": {
"Ref": "MasterSystemDiskSize"
},
"WorkerSystemDiskCategory": {
"Ref": "WorkerSystemDiskCategory"
},
"NodePortRange": {
"Ref": "NodePortRange"
},
"MasterCount": {
"Ref": "MasterCount"
},
"WorkerSystemDiskSize": {
"Ref": "WorkerSystemDiskSize"
},
"SshFlags": {
"Ref": "SshFlags"
},
"MasterVSwitchIds": {
"Ref": "MasterVSwitchIds"
},
"Name": {
"Ref": "Name"
},
"Taint": {
"Ref": "Taint"
},
"MasterDataDisks": {
"Ref": "MasterDataDisks"
},
"Runtime": {
"Ref": "Runtime"
},
"CloudMonitorFlags": {
"Ref": "CloudMonitorFlags"
},
"ServiceCidr": {
"Ref": "ServiceCidr"
},
"PodVswitchIds": {
"Ref": "PodVswitchIds"
},
"WorkerAutoRenew": {
"Ref": "WorkerAutoRenew"
},
"ProxyMode": {
"Ref": "ProxyMode"
},
"Tags": {
"Ref": "Tags"
},
"DisableRollback": {
"Ref": "DisableRollback"
},
"WorkerInstanceTypes": {
"Ref": "WorkerInstanceTypes"
},
"LoginPassword": {
"Ref": "LoginPassword"
},
"MasterPeriod": {
"Ref": "MasterPeriod"
},
"KubernetesVersion": {
"Ref": "KubernetesVersion"
},
"MasterInstanceChargeType": {
"Ref": "MasterInstanceChargeType"
},
"ContainerCidr": {
"Ref": "ContainerCidr"
},
"WorkerInstanceChargeType": {
"Ref": "WorkerInstanceChargeType"
},
"CpuPolicy": {
"Ref": "CpuPolicy"
},
"KeyPair": {
"Ref": "KeyPair"
},
"MasterInstanceTypes": {
"Ref": "MasterInstanceTypes"
},
"WorkerDataDisks": {
"Ref": "WorkerDataDisks"
},
"SecurityGroupId": {
"Ref": "SecurityGroupId"
},
"TimeoutMins": {
"Ref": "TimeoutMins"
},
"MasterPeriodUnit": {
"Ref": "MasterPeriodUnit"
},
"MasterAutoRenewPeriod": {
"Ref": "MasterAutoRenewPeriod"
},
"WorkerDataDisk": {
"Ref": "WorkerDataDisk"
},
"VpcId": {
"Ref": "VpcId"
},
"NumOfNodes": {
"Ref": "NumOfNodes"
},
"MasterAutoRenew": {
"Ref": "MasterAutoRenew"
},
"WorkerAutoRenewPeriod": {
"Ref": "WorkerAutoRenewPeriod"
},
"WorkerVSwitchIds": {
"Ref": "WorkerVSwitchIds"
},
"SnatEntry": {
"Ref": "SnatEntry"
},
"MasterDataDisk": {
"Ref": "MasterDataDisk"
}
}
}
},
"Outputs": {
"TaskId": {
"Description": "Task ID. Automatically assigned by the system, the user queries the task status.",
"Value": {
"Fn::GetAtt": [
"KubernetesCluster",
"TaskId"
]
}
},
"ClusterId": {
"Description": "Cluster instance ID.",
"Value": {
"Fn::GetAtt": [
"KubernetesCluster",
"ClusterId"
]
}
},
"ScalingGroupId": {
"Description": "Scaling group id",
"Value": {
"Fn::GetAtt": [
"KubernetesCluster",
"ScalingGroupId"
]
}
},
"ScalingRuleId": {
"Description": "Scaling rule id",
"Value": {
"Fn::GetAtt": [
"KubernetesCluster",
"ScalingRuleId"
]
}
},
"DefaultUserKubeConfig": {
"Description": "Default user kubernetes config which is used for configuring cluster credentials.",
"Value": {
"Fn::GetAtt": [
"KubernetesCluster",
"DefaultUserKubeConfig"
]
}
},
"WorkerRamRoleName": {
"Description": "Worker ram role name.",
"Value": {
"Fn::GetAtt": [
"KubernetesCluster",
"WorkerRamRoleName"
]
}
},
"ScalingConfigurationId": {
"Description": "Scaling configuration id",
"Value": {
"Fn::GetAtt": [
"KubernetesCluster",
"ScalingConfigurationId"
]
}
},
"PrivateUserKubConfig": {
"Description": "Private user kubernetes config which is used for configuring cluster credentials.",
"Value": {
"Fn::GetAtt": [
"KubernetesCluster",
"PrivateUserKubConfig"
]
}
}
}
}
YAML
format
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
Addons:
Description: 'A combination of addon plugins for Kubernetes clusters.
Network plug-in: including Flannel and Terway network plug-ins
Log service: Optional. If the log service is not enabled, the cluster audit
function cannot be used.
Ingress: The installation of the Ingress component is enabled by default.'
Type: Json
CloudMonitorFlags:
AllowedValues:
- 'True'
- 'true'
- 'False'
- 'false'
Default: false
Description: 'Whether to install the cloud monitoring plugin:
true: indicates installation
false: Do not install
Default to false'
Type: Boolean
ContainerCidr:
Default: 172.16.0.0/16
Description: The container network segment cannot conflict with the VPC network
segment. When the sytem is selected to automatically create a VPC, the network
segment 172.16.0.0/16 is used by default.
Type: String
CpuPolicy:
Description: CPU policy. The cluster version is 1.12.6 and above supports both
static and none strategies.
Type: String
DisableRollback:
AllowedValues:
- 'True'
- 'true'
- 'False'
- 'false'
Default: true
Description: 'Whether the failure was rolled back:
true: indicates that it fails to roll back
false: rollback failed
The default is true. If rollback fails, resources produced during the creation
process will be released. False is not recommended.'
Type: Boolean
EndpointPublicAccess:
AllowedValues:
- 'True'
- 'true'
- 'False'
- 'false'
Default: false
Description: 'Whether to enable the public network API Server:
true: which means that the public network API Server is open.
false: If set to false, the API server on the public network will not be created,
only the API server on the private network will be created. Default to false.'
Type: Boolean
KeyPair:
Description: Key pair name. Specify one of KeyPair or LoginPassword.
Type: String
KubernetesVersion:
Description: The version of the Kubernetes cluster.
Type: String
LoginPassword:
Description: SSH login password. Password rules are 8-30 characters and contain
three items (upper and lower case letters, numbers, and special symbols). Specify
one of KeyPair or LoginPassword.
Type: String
MasterAutoRenew:
AllowedValues:
- 'True'
- 'true'
- 'False'
- 'false'
Default: true
Description: 'Whether the master node automatically renews. It takes effect when
the value of MasterInstanceChargeType is PrePaid. The optional values are:
true: automatic renewal
false: do not renew automatically
Default to true.'
Type: Boolean
MasterAutoRenewPeriod:
AllowedValues:
- 1
- 2
- 3
- 6
- 12
Default: 1
Description: 'Automatic renewal cycle, which takes effect when prepaid and automatic
renewal are selected, and is required:
When PeriodUnit = Week, the values are: {"1", "2", "3"}
When PeriodUnit = Month, the value is {"1", "2", "3", "6", "12"}
Default to 1.'
Type: Number
MasterCount:
AllowedValues:
- 3
- 5
Default: 3
Description: Number of master instances. The value can be 3 or 5. The default
value is 3.
Type: Number
MasterDataDisk:
AllowedValues:
- 'True'
- 'true'
- 'False'
- 'false'
Default: false
Description: 'Whether the master node mounts data disks can be selected as:
true: mount the data disk
false: no data disk is mounted, default is false'
Type: Boolean
MasterDataDisks:
Description: Master data disk type, size and other configuration combinations.
This parameter is valid only when the master node data disk is mounted.
Type: Json
MasterInstanceChargeType:
AllowedValues:
- Subscription
- PrePaid
- PrePay
- Prepaid
- PayAsYouGo
- PostPaid
- PayOnDemand
- Postpaid
Default: PostPaid
Description: 'Master node payment type. The optional values are:
PrePaid: prepaid
PostPaid: Pay as you go
Default to PostPaid.'
Type: String
MasterInstanceTypes:
Description: 'Master node ECS specification type code. For more details, see Instance
Type Family. Each item correspond to MasterVSwitchIds.
List size must be 3, Instance Type can be repeated.'
MaxLength: 3
MinLength: 3
Type: CommaDelimitedList
MasterPeriod:
AllowedValues:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 12
- 24
- 36
- 48
- 60
Default: 1
Description: 'The duration of the annual subscription and monthly subscription.
It takes effect when the master_instance_charge_type value is PrePaid and is
a required value. The value range is:
When PeriodUnit = Week, Period values are: {"1", "2", "3", "4"}
When PeriodUnit = Month, Period values are: {"1", "2", "3", "4", "5", "6", "7",
"8", "9", "12", "24", "36", "48", "60"}
Default to 1.'
Type: Number
MasterPeriodUnit:
AllowedValues:
- Week
- Month
Default: Month
Description: 'When you specify PrePaid, you need to specify the period. The options
are:
Week: Time is measured in weeks
Month: time in months
Default to Month'
Type: String
MasterSystemDiskCategory:
Default: cloud_ssd
Description: 'Master disk system disk type. The value includes:
cloud_efficiency: efficient cloud disk
cloud_ssd: SSD cloud disk
cloud_essd: ESSD cloud diskDefault to cloud_ssd.'
Type: String
MasterSystemDiskSize:
Default: 120
Description: 'Master disk system disk size in GiB.
Default to 120.'
MinValue: 1
Type: Number
MasterVSwitchIds:
Description: Master node switch ID. To ensure high availability of the cluster,
it is recommended that you select 3 switches and distribute them in different
Availability Zones.
MaxLength: 3
MinLength: 1
Type: CommaDelimitedList
Name:
Description: The name of the cluster. The cluster name can use uppercase and lowercase
letters, Chinese characters, numbers, and dashes.
Type: String
NodePortRange:
Default: 30000-65535
Description: 'Node service port. The value range is [30000, 65535].
Default to 30000-65535.'
Type: String
NumOfNodes:
Default: 3
Description: 'Number of worker nodes. The range is [0,300].
Default to 3.'
MaxValue: 300
MinValue: 0
Type: Number
PodVswitchIds:
Description: "The list of pod vSwitches. For each vSwitch that is allocated to\
\ nodes, \n you must specify at least one pod vSwitch in the same zone. \n The\
\ pod vSwitches cannot be the same as the node vSwitches. \n We recommend that\
\ you set the mask length of the CIDR block to a value no \ngreater than 19\
\ for the pod vSwitches.\nThe pod_vswitch_ids parameter is required when the\
\ Terway network \nplug-in is selected for the cluster."
Type: Json
ProxyMode:
Default: iptables
Description: kube-proxy proxy mode, supports both iptables and ipvs modes. The
default is iptables.
Type: String
Runtime:
Description: The container runtime of the cluster. The default runtime is Docker.
Type: Json
SecurityGroupId:
Description: Specifies the ID of the security group to which the cluster ECS instance
belongs.
Type: String
ServiceCidr:
Default: 172.19.0.0/20
Description: The service network segment cannot conflict with the VPC network
segment and the container network segment. When the system is selected to automatically
create a VPC, the network segment 172.19.0.0/20 is used by default.
Type: String
SnatEntry:
AllowedValues:
- 'True'
- 'true'
- 'False'
- 'false'
Default: true
Description: 'Whether to configure SNAT for the network.
When a VPC can access the public network environment, set it to false.
When an existing VPC cannot access the public network environment:
When set to True, SNAT is configured and the public network environment can
be accessed at this time.
If set to false, it means that SNAT is not configured and the public network
environment cannot be accessed at this time.
Default to true.'
Type: Boolean
SshFlags:
AllowedValues:
- 'True'
- 'true'
- 'False'
- 'false'
Description: 'Whether to enable public network SSH login:
true: open
false: not open'
Type: Boolean
Tags:
Description: Tag the cluster.
Type: Json
Taint:
Description: 'It is used to mark nodes with taints. It is usually used for the
scheduling strategy of Pods. The corresponding concept is: tolerance. If there
is a corresponding tolerance mark on the Pods, the stain on the node can be
tolerated and scheduled to the node.'
Type: Json
TimeoutMins:
Default: 60
Description: Cluster resource stack creation timeout, in minutes. The default
value is 60.
Type: Number
VpcId:
Description: VPC ID.
Type: String
WorkerAutoRenew:
AllowedValues:
- 'True'
- 'true'
- 'False'
- 'false'
Default: true
Description: 'Whether to enable automatic renewal of Worker nodes. The optional
values are:
true: automatic renewal
false: do not renew automatically
Default to true.'
Type: Boolean
WorkerAutoRenewPeriod:
AllowedValues:
- 1
- 2
- 3
- 6
- 12
Default: 1
Description: 'Automatic renewal cycle, which takes effect when prepaid and automatic
renewal are selected, and is required:
When PeriodUnit = Week, the values are: {"1", "2", "3"}
When PeriodUnit = Month, the value is {"1", "2", "3", "6", "12"}
Default to 1.'
Type: Number
WorkerDataDisk:
AllowedValues:
- 'True'
- 'true'
- 'False'
- 'false'
Default: false
Description: 'Whether to mount the data disk. The options are as follows:
true: indicates that the worker node mounts data disks.
false: indicates that the worker node does not mount data disks.
Default to false.'
Type: Boolean
WorkerDataDisks:
Description: A combination of configurations such as worker data disk type and
size. This parameter is valid only when the worker node data disk is mounted.
Type: Json
WorkerInstanceChargeType:
AllowedValues:
- Subscription
- PrePaid
- PrePay
- Prepaid
- PayAsYouGo
- PostPaid
- PayOnDemand
- Postpaid
Default: PostPaid
Description: 'Worker node payment type. The optional values are:
PrePaid: prepaid
PostPaid: Pay as you go
Default to PostPaid.'
Type: String
WorkerInstanceTypes:
Description: Worker node ECS specification type code. For more details, see Instance
Specification Family.
MaxLength: 10
MinLength: 1
Type: Json
WorkerPeriod:
AllowedValues:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 12
- 24
- 36
- 48
- 60
Default: 1
Description: 'The duration of the annual and monthly subscription. It takes effect
when the worker_instance_charge_type value is PrePaid and is required. The value
range is:
When PeriodUnit = Week, Period values are: {"1", "2", "3", "4"}
When PeriodUnit = Month, Period values are: {"1", "2", "3", "4", "5", "6", "7",
"8", "9", "12", "24", "36", "48", "60"}
Default to 1.'
Type: Number
WorkerPeriodUnit:
AllowedValues:
- Week
- Month
Default: Month
Description: 'When you specify PrePaid, you need to specify the period. The options
are:
Week: Time is measured in weeks
Month: time in months
Default to Month.'
Type: String
WorkerSystemDiskCategory:
Default: cloud_efficiency
Description: 'Worker node system disk type. The value includes:
cloud_efficiency: efficient cloud disk
cloud_ssd: SSD cloud disk
Default to cloud_efficiency.'
Type: String
WorkerSystemDiskSize:
Default: 120
Description: 'Worker disk system disk size, the unit is GiB.
Default to 120.'
MinValue: 1
Type: Number
WorkerVSwitchIds:
Description: The virtual switch ID of the worker node.
MinLength: 1
Type: CommaDelimitedList
Resources:
KubernetesCluster:
Properties:
Addons:
Ref: Addons
CloudMonitorFlags:
Ref: CloudMonitorFlags
ContainerCidr:
Ref: ContainerCidr
CpuPolicy:
Ref: CpuPolicy
DisableRollback:
Ref: DisableRollback
EndpointPublicAccess:
Ref: EndpointPublicAccess
KeyPair:
Ref: KeyPair
KubernetesVersion:
Ref: KubernetesVersion
LoginPassword:
Ref: LoginPassword
MasterAutoRenew:
Ref: MasterAutoRenew
MasterAutoRenewPeriod:
Ref: MasterAutoRenewPeriod
MasterCount:
Ref: MasterCount
MasterDataDisk:
Ref: MasterDataDisk
MasterDataDisks:
Ref: MasterDataDisks
MasterInstanceChargeType:
Ref: MasterInstanceChargeType
MasterInstanceTypes:
Ref: MasterInstanceTypes
MasterPeriod:
Ref: MasterPeriod
MasterPeriodUnit:
Ref: MasterPeriodUnit
MasterSystemDiskCategory:
Ref: MasterSystemDiskCategory
MasterSystemDiskSize:
Ref: MasterSystemDiskSize
MasterVSwitchIds:
Ref: MasterVSwitchIds
Name:
Ref: Name
NodePortRange:
Ref: NodePortRange
NumOfNodes:
Ref: NumOfNodes
PodVswitchIds:
Ref: PodVswitchIds
ProxyMode:
Ref: ProxyMode
Runtime:
Ref: Runtime
SecurityGroupId:
Ref: SecurityGroupId
ServiceCidr:
Ref: ServiceCidr
SnatEntry:
Ref: SnatEntry
SshFlags:
Ref: SshFlags
Tags:
Ref: Tags
Taint:
Ref: Taint
TimeoutMins:
Ref: TimeoutMins
VpcId:
Ref: VpcId
WorkerAutoRenew:
Ref: WorkerAutoRenew
WorkerAutoRenewPeriod:
Ref: WorkerAutoRenewPeriod
WorkerDataDisk:
Ref: WorkerDataDisk
WorkerDataDisks:
Ref: WorkerDataDisks
WorkerInstanceChargeType:
Ref: WorkerInstanceChargeType
WorkerInstanceTypes:
Ref: WorkerInstanceTypes
WorkerPeriod:
Ref: WorkerPeriod
WorkerPeriodUnit:
Ref: WorkerPeriodUnit
WorkerSystemDiskCategory:
Ref: WorkerSystemDiskCategory
WorkerSystemDiskSize:
Ref: WorkerSystemDiskSize
WorkerVSwitchIds:
Ref: WorkerVSwitchIds
Type: ALIYUN::CS::KubernetesCluster
Outputs:
ClusterId:
Description: Cluster instance ID.
Value:
Fn::GetAtt:
- KubernetesCluster
- ClusterId
DefaultUserKubeConfig:
Description: Default user kubernetes config which is used for configuring cluster
credentials.
Value:
Fn::GetAtt:
- KubernetesCluster
- DefaultUserKubeConfig
PrivateUserKubConfig:
Description: Private user kubernetes config which is used for configuring cluster
credentials.
Value:
Fn::GetAtt:
- KubernetesCluster
- PrivateUserKubConfig
ScalingConfigurationId:
Description: Scaling configuration id
Value:
Fn::GetAtt:
- KubernetesCluster
- ScalingConfigurationId
ScalingGroupId:
Description: Scaling group id
Value:
Fn::GetAtt:
- KubernetesCluster
- ScalingGroupId
ScalingRuleId:
Description: Scaling rule id
Value:
Fn::GetAtt:
- KubernetesCluster
- ScalingRuleId
TaskId:
Description: Task ID. Automatically assigned by the system, the user queries the
task status.
Value:
Fn::GetAtt:
- KubernetesCluster
- TaskId
WorkerRamRoleName:
Description: Worker ram role name.
Value:
Fn::GetAtt:
- KubernetesCluster
- WorkerRamRoleName
To view more examples, visit ManagedEdgeKubernetesCluster.json and ManagedEdgeKubernetesCluster.yml.