ALIYUN::CS::ManagedEdgeKubernetesCluster类型用于创建Kubernetes边缘托管版集群实例。
语法
{
"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,
"IsEnterpriseSecurityGroup": Boolean,
"AutoRenewPeriod": Number,
"ChargeType": String,
"AutoRenew": Boolean,
"Period": Number,
"NodeCidrMask": String,
"PeriodUnit": String,
"DeletionProtection": Boolean,
"ZoneIds": List,
"ResourceGroupId": String,
"WorkerDataDisks": List
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|---|---|---|---|---|
NumOfNodes | Number | 是 | 否 | Worker节点数。 | 取值范围:0~300。 |
Profile | String | 否 | 否 | 边缘集群标识。 | 默认值:Edge。 |
VpcId | String | 否 | 否 | 专有网络ID。 | 如果不设置,系统会自动创建专有网络,系统创建的专有网络网段为192.168.0.0/16。 VpcId和VSwitchIds只能同时为空或者同时都设置对应的值。 |
ServiceCidr | String | 否 | 否 | 服务网段。 | 不能与专有网络网段以及容器网段冲突。当选择系统自动创建专有网络时,默认使用172.19.0.0/20网段。 |
Name | String | 是 | 否 | 集群名称。 | 以英文字母或数字开头,可包含英文字母、汉字、数字和短划线(-)。 |
Tags | List | 否 | 是 | 标签。 | 最多可以设置20个标签。 更多信息,请参见Tags属性。 |
Addons | List | 否 | 否 | 集群安装的组件列表。 | 取值:
|
ProxyMode | String | 否 | 否 | kube-proxy代理模式。 | 取值:
|
DisableRollback | Boolean | 否 | 否 | 失败时是否回滚。 | 取值:
|
SnatEntry | Boolean | 否 | 否 | 是否为网络配置SNAT。 | 取值:
说明 如果使用自动创建的专有网络,则必须设置为true。如果使用已有非系统自动创建的专有网络,则需要根据是否具备出网能力来设置。 |
ZoneIds | List | 否 | 否 | Worker节点所属的交换机可用区。 | 无 |
ResourceGroupId | String | 否 | 是 | 集群所属的资源组ID。 | 无 |
VSwitchIds | List | 否 | 否 | 交换机ID列表。 | 列表可以包含1~3个交换机ID。 VpcId和VSwitchIds只能同时为空或者同时都设置对应的值。 |
LoginPassword | String | 否 | 否 | 登录密码。 | 长度为8~30个字符。必须同时包含大写英文字母、小写英文字母,数字和特殊字符中至少三项,支持的特殊字符为:( ) ` ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ‘ < > , . ? / 。LoginPassword和KeyPair二者只能指定一个参数。 |
KeyPair | String | 否 | 否 | 密钥对名称。 | LoginPassword和KeyPair二者只能指定一个参数。 |
EndpointPublicAccess | Boolean | 否 | 否 | 是否开启公网API Server。 | 取值:
|
WorkerSystemDiskSize | Number | 否 | 否 | Worker节点系统盘大小。 | 默认值:120。 单位:GiB。 |
WorkerSystemDiskCategory | String | 否 | 否 | Worker节点系统盘类型。 | 取值:
|
WorkerDataDisk | Boolean | 否 | 否 | Worker节点是否挂载数据盘。 | 取值:
|
WorkerDataDiskSize | Integer | 否 | 否 | Worker节点数据盘大小。 | 无 |
WorkerDataDiskCategory | String | 否 | 否 | 数据盘类型。 | 取值:
|
TimeoutMins | Number | 否 | 否 | 集群资源栈创建超时时间。 | 默认值:60。 单位:分钟。 |
ClusterSpec | String | 否 | 否 | 托管版集群类型。 | 取值:
|
ContainerCidr | String | 否 | 否 | Pod网络地址段。 | 当创建Flannel网络类型的集群时,ContainerCidr为必填。ContainerCidr必须是有效的私有网段,即以下网段及其子网:
关于集群网络规划,请参见Kubernetes集群网络规划。 |
CloudMonitorFlags | Boolean | 否 | 否 | 是否安装云监控插件。 | 取值:
|
WorkerInstanceTypes | List | 否 | 否 | Worker节点实例规格。 | 无 |
IsEnterpriseSecurityGroup | Boolean | 否 | 否 | 是否创建高级安全组。 | 当SecurityGroupId为空时,该参数生效。取值:
|
AutoRenewPeriod | Number | 否 | 否 | 自动续借周期。 | 当ChargeType取值为PrePaid,且AutoRenew取值为true时,该参数有效。取值:
默认值:1。 |
ChargeType | String | 否 | 否 | 付费类型。 | 取值:
|
AutoRenew | Boolean | 否 | 否 | 是否自动续费。 | 当ChargeType取值为PrePaid时该参数有效。取值:
|
Period | Number | 否 | 否 | 购买资源的时长。 | 当ChargeType为PrePaid时,该参数生效且为必选参数。取值:
|
NodeCidrMask | String | 否 | 否 | 可分配给节点的最大CIDR地址块数量。 | 数量由指定的pod CIDR决定。该参数仅在集群使用Flannel插件时生效。 默认值:25。 |
PeriodUnit | String | 否 | 否 | 购买资源的时长周期。 | 当ChargeType为PrePaid时该参数有效。取值:
|
DeletionProtection | Boolean | 否 | 否 | 是否启用删除保护功能。 | 启用删除保护后,集群不能被直接删除。取值:
|
WorkerDataDisks | List | 否 | 否 | Worker数据盘类型、大小等配置。 | 只有在挂载Worker节点数据盘时有效。更多信息,请参见WorkerDataDisks属性。 |
Tags语法
"Tags": [
{
"Key": String,
"Value": String
}
]
Tags属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|---|---|---|---|---|
Key | String | 是 | 否 | 标签键。 | 长度为1~64个字符,不能以aliyun 、acs: 、https:// 或http:// 开头。 |
Value | String | 否 | 否 | 标签值。 | 长度为0~128个字符,不能以aliyun 、acs: 、https:// 或http:// 开头。 |
WorkerDataDisks语法
"WorkerDataDisks": [
{
"Category": String,
"Size": Number
}
]
WorkerDataDisks属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|---|---|---|---|---|
Category | String | 是 | 否 | Worker节点数据盘类型。 | 取值:
|
Size | Number | 是 | 否 | 数据盘大小。 | 取值范围:40~32,768。单位:GiB。 |
Addons语法
"Addons": [
{
"Disabled": Boolean,
"Config": String,
"Name": String
}
]
Addons属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|---|---|---|---|---|
Disabled | Boolean | 否 | 否 | 是否禁止默认安装组件。 | 取值:
|
Config | String | 否 | 否 | 组件配置。 | 无 |
Name | String | 是 | 否 | 组件名称。 | 无 |
返回值
Fn::GetAtt
- ClusterId:集群ID。
- TaskId:任务ID。系统自动分配,用于查询任务状态。
- WorkerRamRoleName:Worker节点RAM角色名称。
- DefaultUserKubeConfig:用户配置集群凭据的默认Kubernetes配置。
- ScalingRuleId:伸缩规则ID。
- ScalingGroupId:伸缩组ID。
- PrivateUserKubConfig:用户配置集群凭据的专有Kubernetes配置。
- ScalingConfigurationId:伸缩配置ID。
- Nodes:集群节点列表。
- APIServerSLBId:API服务器负载均衡ID。
示例
JSON
格式{ "ROSTemplateFormatVersion": "2015-09-01", "Description": "Test ManagedEdgeKubernetesCluster", "Parameters": { "VSwitchZoneId": { "Type": "String", "AssociationProperty": "ALIYUN::ECS::Instance::ZoneId", "Description": "Availability ID for existing switches", "Label": "VSwitch Zone ID" }, "VpcId": { "Type": "String", "Default": null, "AssociationProperty": "ALIYUN::ECS::VPC::VPCId", "Description": "Please search the ID starts with (vpc-xxx)from console-Virtual Private Cloud", "Label": "Existing VPC ID" }, "VSwitchId": { "Type": "String", "Default": null, "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId", "Description": "Please search the business VSwitch ID starts with(vsw-xxx)from console-Virtual Private Cloud-VSwitches", "Label": "VSwitch ID", "AssociationPropertyMetadata": { "ZoneId": "${VSwitchZoneId}", "VpcId": "${VpcId}" } }, "ClusterName": { "Type": "String", "Default": "mytest" }, "Password": { "Type": "String", "Description": "Server login password, Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^*_-+=|{}[]:;,.? Special symbol in).", "MinLength": 8, "Label": "Instance Password", "NoEcho": true, "MaxLength": 30, "ConstraintDescription": "Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^*_-+=|{}[]:;',.?/ Special symbol in)." }, "NumOfNodes": { "Type": "Number", "Default": 1, "MinValue": 0, "MaxValue": 300 }, "WorkerInstanceType": { "AssociationProperty": "ALIYUN::ECS::Instance::InstanceType", "AssociationPropertyMetadata": { "ZoneId": "VSwitchZoneId" }, "Type": "String", "Label": "Instance Type" }, "WorkerSystemDiskCategory": { "AssociationProperty": "ALIYUN::ECS::Disk::SystemDiskCategory", "AssociationPropertyMetadata": { "ZoneId": "${VSwitchZoneId}", "InstanceType": "${WorkerInstanceType}" }, "Type": "String", "Label": "System Disk Type" } }, "Resources": { "Cluster": { "Type": "ALIYUN::CS::ManagedEdgeKubernetesCluster", "Properties": { "NumOfNodes": { "Ref": "NumOfNodes" }, "Name": { "Ref": "ClusterName" }, "LoginPassword": { "Ref": "Password" }, "VpcId": { "Ref": "VpcId" }, "VSwitchIds": [ { "Ref": "VSwitchId" } ], "WorkerInstanceTypes": [ { "Ref": "WorkerInstanceType" } ], "WorkerSystemDiskCategory": { "Ref": "WorkerSystemDiskCategory" }, "ServiceCidr": "172.19.0.0/20" } } }, "Outputs": { "ClusterId": { "Value": { "Fn::GetAtt": [ "Cluster", "ClusterId" ] } }, "TaskId": { "Value": { "Fn::GetAtt": [ "Cluster", "TaskId" ] } } } }