ALIYUN::CS::AnyCluster类型用于创建任意类型的Kubernetes集群实例。
语法
{
"Type": "ALIYUN::CS::AnyCluster",
"Properties": {
"ClusterConfig": Map
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
ClusterConfig | Map | 是 | 否 | 集群配置。 | 更多信息,请参见创建Kubernetes集群的API。例如:创建一个Kubernetes托管版集群实例,请参见通过OpenAPI创建Kubernetes托管版集群。 |
返回值
Fn::GetAtt
ClusterId:集群ID。
TaskId:任务ID。系统自动分配,用于查询任务状态。
WorkerRamRoleName:Worker节点RAM角色名称。
DefaultUserKubeConfig:用户默认的Kubernetes配置,用于配置集群凭据。
ScalingRuleId:伸缩规则ID。
ScalingGroupId:伸缩组ID。
PrivateUserKubConfig:用户专有的Kubernetes配置,用于配置集群凭据。
ScalingConfigurationId:伸缩配置ID。
Nodes:集群节点列表。
APIServerSLBId:API Server的负载均衡ID。
IngressSLBId:Ingress负载均衡ID。
示例
YAML
格式
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
VpcId:
Type: String
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Label:
en: VPC
zh-cn: 私有网络
VSwitchIds:
Type: CommaDelimitedList
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: VpcId
Label:
en: VSwitchIds
zh-cn: 交换机ID列表
KeyPairName:
Type: String
Label:
en: Key Pair Name
zh-cn: 密钥对名称
AssociationProperty: ALIYUN::ECS::KeyPair::KeyPairName
Description:
en: Please enter the name of the existing key pair. If you use the instance password Login, the key pair name does not need to be filled in
zh-cn: 请输入已有密钥对的名称。如使用实例密码登录,密钥对名称不需要填写。
Resources:
AnyCluster:
Type: ALIYUN::CS::AnyCluster
Properties:
ClusterConfig:
name: cluster-demo
cluster_type: ManagedKubernetes
disable_rollback: true
timeout_mins: 60
kubernetes_version: 1.22.3-aliyun.1
region_id:
Ref: ALIYUN::Region
snat_entry: true
cloud_monitor_flags: true
endpoint_public_access: false
deletion_protection: true
node_cidr_mask: '26'
proxy_mode: ipvs
tags: []
timezone: Asia/Shanghai
addons:
- name: flannel
- name: csi-plugin
- name: csi-provisioner
- name: storage-operator
config: '{"CnfsOssEnable":"false","CnfsNasEnable":"true"}'
- name: logtail-ds
config: '{"IngressDashboardEnabled":"true"}'
- name: ack-node-problem-detector
config: '{"sls_project_name":""}'
- name: nginx-ingress-controller
config: '{"IngressSlbNetworkType":"internet","IngressSlbSpec":"slb.s2.small"}'
- name: ack-node-local-dns
- name: arms-prometheus
- name: alicloud-monitor-controller
config: '{"group_contact_ids":"[2066]"}'
cluster_spec: ack.pro.small
load_balancer_spec: slb.s2.small
os_type: Linux
platform: AliyunLinux
image_type: AliyunLinux
runtime:
name: containerd
version: 1.4.8
charge_type: PostPaid
vpcid:
Ref: VpcId
container_cidr: 10.9.0.0/16
service_cidr: 172.16.0.0/16
vswitch_ids:
Ref: VSwitchIds
key_pair:
Ref: KeyPairName
logging_type: SLS
cpu_policy: none
is_enterprise_security_group: true
controlplane_log_ttl: '30'
controlplane_log_components:
- apiserver
- kcm
- scheduler
- ccm
nodepools:
- nodepool_info:
name: default-nodepool
scaling_group:
vswitch_ids:
Ref: VSwitchIds
system_disk_category: cloud_efficiency
system_disk_size: 120
system_disk_performance_level: ''
data_disks: []
instance_types:
- ecs.i2ne.xlarge
tags: []
instance_charge_type: PostPaid
soc_enabled: false
key_pair:
Ref: KeyPairName
is_enterprise_security_group: true
platform: AliyunLinux
image_id: aliyun_2_1903_x64_20G_alibase_20210726.vhd
image_type: AliyunLinux
rds_instances: []
kubernetes_config:
cpu_policy: none
labels: []
runtime: containerd
runtime_version: 1.4.8
count: 3
num_of_nodes: 0
Outputs:
TaskId:
Description: Task ID. Automatically assigned by the system, the user queries the task status.
Value:
Fn::GetAtt:
- AnyCluster
- TaskId
ClusterId:
Description: Cluster instance ID.
Value:
Fn::GetAtt:
- AnyCluster
- ClusterId
ScalingGroupId:
Description: Scaling group id
Value:
Fn::GetAtt:
- AnyCluster
- ScalingGroupId
ScalingRuleId:
Description: Scaling rule id
Value:
Fn::GetAtt:
- AnyCluster
- ScalingRuleId
DefaultUserKubeConfig:
Description: Default user kubernetes config which is used for configuring cluster credentials.
Value:
Fn::GetAtt:
- AnyCluster
- DefaultUserKubeConfig
WorkerRamRoleName:
Description: Worker ram role name.
Value:
Fn::GetAtt:
- AnyCluster
- WorkerRamRoleName
ScalingConfigurationId:
Description: Scaling configuration id
Value:
Fn::GetAtt:
- AnyCluster
- ScalingConfigurationId
PrivateUserKubConfig:
Description: Private user kubernetes config which is used for configuring cluster credentials.
Value:
Fn::GetAtt:
- AnyCluster
- PrivateUserKubConfig
Nodes:
Description: The list of cluster nodes.
Value:
Fn::GetAtt:
- AnyCluster
- Nodes
JSON
格式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"VpcId": {
"Type": "String",
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Label": {
"en": "VPC",
"zh-cn": "私有网络"
}
},
"VSwitchIds": {
"Type": "CommaDelimitedList",
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "VpcId"
},
"Label": {
"en": "VSwitchIds",
"zh-cn": "交换机ID列表"
}
},
"KeyPairName": {
"Type": "String",
"Label": {
"en": "Key Pair Name",
"zh-cn": "密钥对名称"
},
"AssociationProperty": "ALIYUN::ECS::KeyPair::KeyPairName",
"Description": {
"en": "Please enter the name of the existing key pair. If you use the instance password Login, the key pair name does not need to be filled in",
"zh-cn": "请输入已有密钥对的名称。如使用实例密码登录,密钥对名称不需要填写。"
}
}
},
"Resources": {
"AnyCluster": {
"Type": "ALIYUN::CS::AnyCluster",
"Properties": {
"ClusterConfig": {
"name": "cluster-demo",
"cluster_type": "ManagedKubernetes",
"disable_rollback": true,
"timeout_mins": 60,
"kubernetes_version": "1.22.3-aliyun.1",
"region_id": {
"Ref": "ALIYUN::Region"
},
"snat_entry": true,
"cloud_monitor_flags": true,
"endpoint_public_access": false,
"deletion_protection": true,
"node_cidr_mask": "26",
"proxy_mode": "ipvs",
"tags": [],
"timezone": "Asia/Shanghai",
"addons": [
{
"name": "flannel"
},
{
"name": "csi-plugin"
},
{
"name": "csi-provisioner"
},
{
"name": "storage-operator",
"config": "{\"CnfsOssEnable\":\"false\",\"CnfsNasEnable\":\"true\"}"
},
{
"name": "logtail-ds",
"config": "{\"IngressDashboardEnabled\":\"true\"}"
},
{
"name": "ack-node-problem-detector",
"config": "{\"sls_project_name\":\"\"}"
},
{
"name": "nginx-ingress-controller",
"config": "{\"IngressSlbNetworkType\":\"internet\",\"IngressSlbSpec\":\"slb.s2.small\"}"
},
{
"name": "ack-node-local-dns"
},
{
"name": "arms-prometheus"
},
{
"name": "alicloud-monitor-controller",
"config": "{\"group_contact_ids\":\"[2066]\"}"
}
],
"cluster_spec": "ack.pro.small",
"load_balancer_spec": "slb.s2.small",
"os_type": "Linux",
"platform": "AliyunLinux",
"image_type": "AliyunLinux",
"runtime": {
"name": "containerd",
"version": "1.4.8"
},
"charge_type": "PostPaid",
"vpcid": {
"Ref": "VpcId"
},
"container_cidr": "10.9.0.0/16",
"service_cidr": "172.16.0.0/16",
"vswitch_ids": {
"Ref": "VSwitchIds"
},
"key_pair": {
"Ref": "KeyPairName"
},
"logging_type": "SLS",
"cpu_policy": "none",
"is_enterprise_security_group": true,
"controlplane_log_ttl": "30",
"controlplane_log_components": [
"apiserver",
"kcm",
"scheduler",
"ccm"
],
"nodepools": [
{
"nodepool_info": {
"name": "default-nodepool"
},
"scaling_group": {
"vswitch_ids": {
"Ref": "VSwitchIds"
},
"system_disk_category": "cloud_efficiency",
"system_disk_size": 120,
"system_disk_performance_level": "",
"data_disks": [],
"instance_types": [
"ecs.i2ne.xlarge"
],
"tags": [],
"instance_charge_type": "PostPaid",
"soc_enabled": false,
"key_pair": {
"Ref": "KeyPairName"
},
"is_enterprise_security_group": true,
"platform": "AliyunLinux",
"image_id": "aliyun_2_1903_x64_20G_alibase_20210726.vhd",
"image_type": "AliyunLinux",
"rds_instances": []
},
"kubernetes_config": {
"cpu_policy": "none",
"labels": [],
"runtime": "containerd",
"runtime_version": "1.4.8"
},
"count": 3
}
],
"num_of_nodes": 0
}
}
}
},
"Outputs": {
"TaskId": {
"Description": "Task ID. Automatically assigned by the system, the user queries the task status.",
"Value": {
"Fn::GetAtt": [
"AnyCluster",
"TaskId"
]
}
},
"ClusterId": {
"Description": "Cluster instance ID.",
"Value": {
"Fn::GetAtt": [
"AnyCluster",
"ClusterId"
]
}
},
"ScalingGroupId": {
"Description": "Scaling group id",
"Value": {
"Fn::GetAtt": [
"AnyCluster",
"ScalingGroupId"
]
}
},
"ScalingRuleId": {
"Description": "Scaling rule id",
"Value": {
"Fn::GetAtt": [
"AnyCluster",
"ScalingRuleId"
]
}
},
"DefaultUserKubeConfig": {
"Description": "Default user kubernetes config which is used for configuring cluster credentials.",
"Value": {
"Fn::GetAtt": [
"AnyCluster",
"DefaultUserKubeConfig"
]
}
},
"WorkerRamRoleName": {
"Description": "Worker ram role name.",
"Value": {
"Fn::GetAtt": [
"AnyCluster",
"WorkerRamRoleName"
]
}
},
"ScalingConfigurationId": {
"Description": "Scaling configuration id",
"Value": {
"Fn::GetAtt": [
"AnyCluster",
"ScalingConfigurationId"
]
}
},
"PrivateUserKubConfig": {
"Description": "Private user kubernetes config which is used for configuring cluster credentials.",
"Value": {
"Fn::GetAtt": [
"AnyCluster",
"PrivateUserKubConfig"
]
}
},
"Nodes": {
"Description": "The list of cluster nodes.",
"Value": {
"Fn::GetAtt": [
"AnyCluster",
"Nodes"
]
}
}
}
}