ALIYUN::CS::ManagedEdgeKubernetesCluster類型用于創建Kubernetes邊緣托管版集群實例。
語法
{
"Type": "ALIYUN::CS::ManagedEdgeKubernetesCluster",
"Properties": {
"Profile": String,
"VpcId": String,
"ServiceCidr": String,
"Name": String,
"Tags": List,
"ProxyMode": String,
"SnatEntry": Boolean,
"LoginPassword": String,
"KeyPair": String,
"Addons": List,
"EndpointPublicAccess": Boolean,
"TimeoutMins": Number,
"ClusterSpec": String,
"ContainerCidr": String,
"CloudMonitorFlags": Boolean,
"IsEnterpriseSecurityGroup": Boolean,
"NodeCidrMask": String,
"DeletionProtection": Boolean,
"ResourceGroupId": String
}
}
屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Name | String | 是 | 否 | 集群名稱。 | 以英文字母或數字開頭,可包含英文字母、漢字、數字和短劃線(-)。 |
Addons | List | 否 | 否 | 集群安裝的組件列表。 | 取值:
更多信息,請參見Addons屬性。 |
CloudMonitorFlags | Boolean | 否 | 否 | 是否安裝云監控插件。 | 取值:
|
ClusterSpec | String | 否 | 否 | 托管版集群類型。 | 取值:
|
ContainerCidr | String | 否 | 否 | Pod網絡地址段。 | 當創建Flannel網絡類型的集群時,ContainerCidr為必填。ContainerCidr必須是有效的私有網段,即以下網段及其子網:
不能與專有網絡及專有網絡內已有Kubernetes集群使用的網段重復,且創建成功后不能修改。 關于集群網絡規劃,請參見Kubernetes集群網絡規劃。 |
DeletionProtection | Boolean | 否 | 是 | 是否啟用刪除保護功能。 | 啟用刪除保護后,集群不能被直接刪除。取值:
|
EndpointPublicAccess | Boolean | 否 | 否 | 是否開啟公網API Server。 | 取值:
|
IsEnterpriseSecurityGroup | Boolean | 否 | 否 | 是否創建高級安全組。 | 當SecurityGroupId為空時,該參數生效。取值:
|
KeyPair | String | 否 | 否 | 密鑰對名稱。 | LoginPassword和KeyPair二者只能指定一個參數。 |
LoginPassword | String | 否 | 否 | 登錄密碼。 | 長度為8~30個字符。必須同時包含大寫英文字母、小寫英文字母,數字和特殊字符中至少三項,支持的特殊字符為: LoginPassword和KeyPair二者只能指定一個參數。 |
NodeCidrMask | String | 否 | 否 | 可分配給節點的最大CIDR地址塊數量。 | 數量由指定的pod CIDR決定。該參數僅在集群使用Flannel插件時生效。 默認值:25。 |
Profile | String | 否 | 否 | 邊緣集群標識。 | 默認值:Edge。 |
ProxyMode | String | 否 | 否 | kube-proxy代理模式。 | 取值:
|
ResourceGroupId | String | 否 | 是 | 集群所屬的資源組ID。 | 無 |
ServiceCidr | String | 否 | 否 | 服務網段。 | 不能與專有網絡網段以及容器網段沖突。當選擇系統自動創建專有網絡時,默認使用172.19.0.0/20網段。 |
SnatEntry | Boolean | 否 | 否 | 是否為網絡配置SNAT。 | 取值:
說明 如果使用自動創建的專有網絡,則必須設置為true。如果使用已有非系統自動創建的專有網絡,則需要根據是否具備出網能力來設置。 |
Tags | List | 否 | 是 | 標簽。 | 最多可以設置20個標簽。 更多信息,請參見Tags屬性。 |
TimeoutMins | Number | 否 | 否 | 集群資源棧創建超時時間。 | 默認值:60。 單位:分鐘。 |
VpcId | String | 否 | 否 | 專有網絡ID。 | 如果不設置,系統會自動創建專有網絡,系統創建的專有網絡網段為192.168.0.0/16。 VpcId和VSwitchIds只能同時為空或者同時都設置對應的值。 |
Tags語法
"Tags": [
{
"Key": String,
"Value": String
}
]
Tags屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Key | String | 是 | 否 | 標簽鍵。 | 長度為1~64個字符,不能以 |
Value | String | 否 | 否 | 標簽值。 | 長度為0~128個字符,不能以 |
Addons語法
"Addons": [
{
"Disabled": Boolean,
"Config": String,
"Name": String
}
]
Addons屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Name | String | 是 | 否 | 組件名稱。 | 無 |
Config | String | 否 | 否 | 組件配置。 | 無 |
Disabled | Boolean | 否 | 否 | 是否禁止默認安裝組件。 | 取值:
|
返回值
Fn::GetAtt
ClusterId:集群ID。
TaskId:任務ID。系統自動分配,用于查詢任務狀態。
DefaultUserKubeConfig:用戶配置集群憑據的默認Kubernetes配置。
ScalingRuleId:伸縮規則ID。
ScalingGroupId:伸縮組ID。
PrivateUserKubConfig:用戶配置集群憑據的專有Kubernetes配置。
ScalingConfigurationId:伸縮配置ID。
Nodes:集群節點列表。
APIServerSLBId:API服務器負載均衡ID。
IngressSLBId:Ingress負載均衡ID。
示例
YAML
格式
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
Resources:
Cluster:
Type: ALIYUN::CS::ManagedEdgeKubernetesCluster
Properties:
NumOfNodes:
Ref: NumOfNodes
Name:
Ref: ClusterName
LoginPassword:
Ref: Password
VpcId:
Ref: VpcId
VSwitchIds:
- Ref: VSwitchId
ServiceCidr: 172.19.0.0/20
Outputs:
ClusterId:
Value:
Fn::GetAtt:
- Cluster
- ClusterId
TaskId:
Value:
Fn::GetAtt:
- Cluster
- TaskId
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
}
},
"Resources": {
"Cluster": {
"Type": "ALIYUN::CS::ManagedEdgeKubernetesCluster",
"Properties": {
"NumOfNodes": {
"Ref": "NumOfNodes"
},
"Name": {
"Ref": "ClusterName"
},
"LoginPassword": {
"Ref": "Password"
},
"VpcId": {
"Ref": "VpcId"
},
"VSwitchIds": [
{
"Ref": "VSwitchId"
}
]
"ServiceCidr": "172.19.0.0/20"
}
}
},
"Outputs": {
"ClusterId": {
"Value": {
"Fn::GetAtt": [
"Cluster",
"ClusterId"
]
}
},
"TaskId": {
"Value": {
"Fn::GetAtt": [
"Cluster",
"TaskId"
]
}
}
}
}