ALIYUN::CS::ASKCluster类型用于创建ACK Serverless集群。
语法
{
  "Type": "ALIYUN::CS::ASKCluster",
  "Properties": {
    "KubernetesVersion": String,
    "EndpointPublicAccess": Boolean,
    "ZoneId": String,
    "ResourceGroupId": String,
    "VSwitchIds": List,
    "SecurityGroupId": String,
    "Addons": List,
    "DeletionProtection": Boolean,
    "ClusterSpec": String,
    "Name": String,
    "EncryptionProviderKey": String,
    "TimeZone": String,
    "ServiceDiscoveryTypes": List,
    "VpcId": String,
    "ServiceCidr": String,
    "SnatEntry": Boolean,
    "Tags": List,
    "PrivateZone": Boolean,
    "DeleteOptions": List,
    "MaintenanceWindow": Map,
    "IpStack": String
  }
}属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| KubernetesVersion | String | 否 | 是 | 集群版本。 | 无 | 
| EndpointPublicAccess | Boolean | 否 | 否 | 是否开启公网API Server访问。 | 取值: 
 | 
| ZoneId | String | 否 | 否 | 集群所属地域的可用区ID。 | 当创建ACK Serverless集群时,如果未指定 | 
| ResourceGroupId | String | 否 | 是 | 集群所属资源组ID。 | 无 | 
| VSwitchIds | List | 否 | 否 | 集群节点所在的虚拟交换机ID列表。 | 最多支持3个虚拟交换机。 说明  当创建零节点的托管版集群时,该字段必填。 | 
| SecurityGroupId | String | 否 | 否 | 集群ECS实例所属的安全组ID。 | 无 | 
| Addons | List | 否 | 否 | 集群组件列表。 | 无 | 
| DeletionProtection | Boolean | 否 | 是 | 集群是否启用删除保护,防止通过控制台或API误删除集群。 | 取值: 
 | 
| DeleteOptions | List | 否 | 是 | 集群关联资源的删除选项。 | 更多信息,请参见DeleteOptions属性。 | 
| ClusterSpec | String | 否 | 否 | 托管版集群类型,面向托管集群。 | 取值: 
 说明  取值可以为空,为空时则创建标准托管集群。 更多信息,请参见ACK Pro版集群概述。 | 
| Name | String | 是 | 否 | 集群名称。 | 命名规则:由数字、汉字、英文字符或短划线(-)组成,长度范围1~63个字符,且不能以短划线(-)开头。 | 
| TimeZone | String | 否 | 否 | 集群使用的时区。 | 无 | 
| EncryptionProviderKey | String | 否 | 否 | 由密钥管理服务KMS管理的密钥ID。 | 该密钥用于加密数据磁盘。您只能在专业托管的Kubernetes集群中使用KMS。 | 
| ServiceDiscoveryTypes | List | 否 | 否 | 集群内服务发现类型,用于在ACK Serverless集群中指定服务发现方式。 | 取值: 
 | 
| VpcId | String | 否 | 否 | 集群使用的专有网络。 | 无 | 
| ServiceCidr | String | 否 | 否 | Service网络地址段。 | 可选范围: 说明  默认使用 | 
| SnatEntry | Boolean | 否 | 否 | 是否为专有网络配置SNAT规则。 | 取值: 
 说明  如果创建集群时未开启,后续业务需要访问公网,可手动开启。更多信息,请参见为集群开启访问公网的能力。 | 
| Tags | List | 否 | 是 | 节点标签。 | 标签定义规则: 
 | 
| PrivateZone | Boolean | 否 | 否 | 是否开启PrivateZone服务。 | 取值: 
 | 
| MaintenanceWindow | Map | 否 | 是 | 集群的维护时间窗口。 | 更多信息,请参考MaintenanceWindow属性。 | 
| IpStack | String | 否 | 否 | 集群的IP协议栈。 | 取值: 
 | 
MaintenanceWindow语法
"MaintenanceWindow": {
  "Enable": Boolean,
  "MaintenanceTime": String,
  "Duration": String,
  "WeeklyPeriod": String,
  "Recurrence": String
}MaintenanceWindow属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Enable | Boolean | 否 | 是 | 是否开启维护窗口。 | 取值: 
 默认值: | 
| MaintenanceTime | String | 否 | 是 | 维护起始时间。 | RFC3339 标准格式。 | 
| Duration | String | 否 | 是 | 维护时长。 | 取值范围[1,24],单位为小时。 默认值:3h。 | 
| WeeklyPeriod | String | 否 | 是 | 维护周期。 | 多个值用英文半角逗号(,)分隔。取值:{Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday} 默认值: | 
| Recurrence | String | 否 | 是 | 使用 RFC5545 Recurrence Rule 语法定义的维护窗口循环规则。 | 目前仅支持 FREQ=WEEKLY,且不支持指定 COUNT 或 UNTIL。 | 
Addons语法
"Addons": [
  {
    "Config": String,
    "Disabled": Boolean,
    "Name": String,
    "Version": String
  }
]Addons属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Config | String | 否 | 否 | 组件配置。 | 无 | 
| Disabled | Boolean | 否 | 否 | 是否禁止默认安装。 | 集群创建时除了安装必需组件外,还会额外安装一些日志组件等,您可以禁止这些默认行为,后续通过安装组件的API进行安装或通过控制台安装。 取值: 
 | 
| Name | String | 是 | 否 | 组件名称。 | 无 | 
| Version | String | 否 | 否 | 组件的版本信息。 | 当值为空时,默认选择最新版本。 | 
Tags语法
"Tags": [
  {
    "Value": String,
    "Key": String
  }
]Tags属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Value | String | 否 | 否 | 标签key值。 | 无 | 
| Key | String | 是 | 否 | 标签value值。 | 无 | 
DeleteOptions语法
"DeleteOptions": [
  {
    "DeleteMode": String,
    "ResourceType": String
  }
]DeleteOptions属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| DeleteMode | String | 否 | 是 | 该类型资源的删除策略。 | 取值: 
 | 
| ResourceType | String | 否 | 是 | 资源类型。 | 取值: 
 | 
返回值
Fn::GetAtt
- TaskId:任务ID。 
- ClusterId:集群ID。 
- APIServerSLBId:API服务器SLB的ID。 
- ScalingGroupId:伸缩组ID。 
- ScalingRuleId:缩放规则ID。 
- DefaultUserKubeConfig:用户配置集群凭据的默认Kubernetes配置。 
- WorkerRamRoleName:Worker节点RAM角色名称。 
- ScalingConfigurationId:伸缩配置ID。 
- PrivateUserKubConfig:用户配置集群凭据的专有Kubernetes配置。 
- Nodes:集群节点列表。 
- IngressSLBId:Ingress负载均衡ID。 
示例
ROSTemplateFormatVersion: '2015-09-01'
Description: Test Create ASKCluster
Parameters: {}
Resources:
  VSwitch:
    Type: ALIYUN::ECS::VSwitch
    Properties:
      VSwitchName: mytest
      VpcId:
        Ref: Vpc
      CidrBlock: 192.168.1.0/24
      ZoneId:
        Fn::Select:
          - '0'
          - Fn::GetAZs:
              Ref: ALIYUN::Region
  Vpc:
    Type: ALIYUN::ECS::VPC
    Properties:
      VpcName: mytest
      CidrBlock: 192.168.0.0/16
  ASKCluster:
    Type: ALIYUN::CS::ASKCluster
    Properties:
      VpcId:
        Ref: Vpc
      ClusterSpec: ack.pro.small
      Name: mytest
      VSwitchIds:
        - Ref: VSwitch
Outputs:
  ClusterId:
    Value:
      Fn::GetAtt:
        - ASKCluster
        - ClusterId
  TaskId:
    Value:
      Fn::GetAtt:
        - ASKCluster
        - TaskId{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Test Create ASKCluster",
  "Parameters": {},
  "Resources": {
    "VSwitch": {
      "Type": "ALIYUN::ECS::VSwitch",
      "Properties": {
        "VSwitchName": "mytest",
        "VpcId": {
          "Ref": "Vpc"
        },
        "CidrBlock": "192.168.1.0/24",
        "ZoneId": {
          "Fn::Select": [
            "0",
            {
              "Fn::GetAZs": {
                "Ref": "ALIYUN::Region"
              }
            }
          ]
        }
      }
    },
    "Vpc": {
      "Type": "ALIYUN::ECS::VPC",
      "Properties": {
        "VpcName": "mytest",
        "CidrBlock": "192.168.0.0/16"
      }
    },
    "ASKCluster": {
      "Type": "ALIYUN::CS::ASKCluster",
      "Properties": {
        "VpcId": {
          "Ref": "Vpc"
        },
        "ClusterSpec": "ack.pro.small",
        "Name": "mytest",
        "VSwitchIds": [
          {
            "Ref": "VSwitch"
          }
        ]
      }
    }
  },
  "Outputs": {
    "ClusterId": {
      "Value": {
        "Fn::GetAtt": [
          "ASKCluster",
          "ClusterId"
        ]
      }
    },
    "TaskId": {
      "Value": {
        "Fn::GetAtt": [
          "ASKCluster",
          "TaskId"
        ]
      }
    }
  }
}