ALIYUN::ACS::Cluster类型用于创建容器计算服务集群。
语法
{
  "Type": "ALIYUN::ACS::Cluster",
  "Properties": {
    "Name": String,
    "Addons": List,
    "ClusterSpec": String,
    "DeletionProtection": Boolean,
    "EndpointPublicAccess": Boolean,
    "IpStack": String,
    "KubernetesVersion": String,
    "LoggingType": String,
    "LoadBalancerSpec": String,
    "MaintenanceWindow": Map,
    "PodVSwitchIds": List,
    "ResourceGroupId": String,
    "ServiceDiscoveryTypes": List,
    "SlsProjectName": String,
    "ServiceCidr": String,
    "SnatEntry": Boolean,
    "TimeZone": String,
    "ComputeClass": String,
    "Tags": List,
    "VSwitchIds": List,
    "VpcId": String,
    "PodPostpaidSpec": Map,
    "DeleteOptions": List
  }
}属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Name | String | 是 | 否 | 集群名称。 | 集群名称可以使用大小写字母、中文字符、数字和破折号。 | 
| Addons | List | 否 | 否 | 要安装到集群上的附加组件。 | 详情参考Addons属性。 | 
| ClusterSpec | String | 否 | 否 | 托管集群规范。 | 取值: 
 默认值:ack.pro.small。 | 
| DeletionProtection | Boolean | 否 | 是 | 指定是否为集群开启删除保护。 | 一旦启用删除保护,该集群将无法通过ACK控制台或调用API操作进行删除。有效值为: 
 | 
| EndpointPublicAccess | Boolean | 否 | 否 | 是否启用公网API服务器。 | 取值: 
 | 
| IpStack | String | 否 | 否 | 集群的IP堆栈。 | 无 | 
| KubernetesVersion | String | 否 | 否 | Kubernetes集群的版本。 | 无 | 
| LoggingType | String | 否 | 否 | 集群的日志记录类型。 | 默认情况下,不使用日志服务。 | 
| LoadBalancerSpec | String | 否 | 否 | 服务器负载均衡器实例的规格。 | 取值: 
 | 
| MaintenanceWindow | Map | 否 | 否 | 集群的维护时间窗口。 | 更多信息,请参考MaintenanceWindow属性。 | 
| PodVSwitchIds | List | 否 | 否 | 这涉及到一系列为Pod设计的vSwitch(虚拟交换机)配置规则。 | 当为集群选择Terway网络插件时,需要提供PodVSwitchIds参数。具体来说: 
 | 
| ResourceGroupId | String | 否 | 是 | 资源组ID。 | 无 | 
| ServiceDiscoveryTypes | List | 否 | 否 | 集群内服务发现类型。 | 用于指定ASK集群中的服务发现方法。 CoreDNS:使用Kubernetes原生标准服务发现组件CoreDNS, 需要在集群中部署一套容器来处理DNS解析。 默认情况下,会使用两个ECI实例,每个实例配置为0.25核心CPU和512MiB内存。 PrivateZone:若要使用阿里云PrivateZone产品来提供服务发现功能, 则需开启PrivateZone服务。 默认值:关闭。 | 
| SlsProjectName | String | 否 | 否 | SLS项目名称。 | 如果LoggingType设置为SLS且SlsProjectName为空,将创建一个新的项目。 | 
| ServiceCidr | String | 否 | 否 | 服务网络段不能与VPC网络段和容器网络段冲突。 | 当系统选择自动创建VPC时,默认使用网络段172.19.0.0/20。 | 
| SnatEntry | Boolean | 否 | 否 | 是否为网络配置SNAT。 | 当VPC能够访问公网环境时,设置为false。 当现有VPC无法访问公网环境时: 如果设为true,将配置SNAT,此时可以访问公网环境。 如果设为false,则表示未配置SNAT,此时无法访问公网环境。 默认值为true。 | 
| ComputeClass | String | 否 | 否 | 集群的计算类别。 | 该参数仅用作 ZoneIds 的参数查询,实际创建时不会使用。 | 
| TimeZone | String | 否 | 否 | 集群的时区。 | 无 | 
| Tags | List | 否 | 是 | 集群绑定的标签。 | 详情参考Tags属性。 | 
| VSwitchIds | List | 否 | 否 | 虚拟交换机的ID列表。 | 如果您留空此属性,系统将自动创建一个VSwitch。 注意:您必须同时指定VpcId和VSwitchIds,或者两者都留空。 | 
| VpcId | String | 否 | 否 | 专有网络ID。 | 无 | 
| ZoneIds | List | 否 | 否 | 可用区ID列表。 | 无 | 
| PodPostpaidSpec | Map | 否 | 是 | 后付费Pod规格详情。 | 更多详情,请参考PodPostpaidSpec属性。 | 
| DeleteOptions | List | 否 | 是 | 删除选项,仅适用于删除资源。 | 更多详情,请参考DeleteOptions属性。 | 
Addons语法
"Addons": [
  {
    "Config": String,
    "Disabled": Boolean,
    "Name": String,
    "Version": String
  }
]Addons属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Name | String | 是 | 否 | 附加组件的名称。 | 无 | 
| Config | String | 否 | 否 | 组件配置。 | 当值为空时,无需进行配置。 | 
| Disabled | Boolean | 否 | 否 | 指定是否禁用默认安装。 | 无 | 
| Version | String | 否 | 否 | 组件的版本信息。 | 当值为空时,默认选择最新版本。 | 
MaintenanceWindow语法
"MaintenanceWindow": {
  "MaintenanceTime": String,
  "WeeklyPeriod": String,
  "Enable": Boolean,
  "Duration": String
}MaintenanceWindow属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Duration | String | 否 | 否 | 维护窗口的持续时间。 | 无 | 
| Enable | Boolean | 否 | 否 | 是否启用维护窗口。 | 无 | 
| MaintenanceTime | String | 否 | 否 | 维护窗口的维护时间。 | 无 | 
| WeeklyPeriod | String | 否 | 否 | 每周维护窗口的周期。 | 取值: 
 | 
PodPostpaidSpec语法
"PodPostpaidSpec": 
  {
    "CpuCore": Integer,
    "Replicas": Integer,
    "MemGib": Integer,
    "GpuQuantityConfigs": Map
  }PodPostpaidSpec属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| CpuCore | Integer | 否 | 是 | CPU内核数。 | 无 | 
| Replicas | Integer | 否 | 是 | 副本的数量。 | 无 | 
| MemGib | Integer | 否 | 是 | GPU的内存大小。 | 无 | 
| GpuQuantityConfigs | Map | 否 | 是 | GPU规格模块。 | 更多详情,请参考GpuQuantityConfigs属性。 | 
GpuQuantityConfigs语法
"GpuQuantityConfigs": 
  {
    "GpuQuantity": Integer,
    "GpuModel": String,
    "Arch": String,
    "ComputeQos": String
  }GpuQuantityConfigs属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| GpuQuantity | Integer | 否 | 是 | GPU的数量。 | 无 | 
| GpuModel | String | 否 | 是 | GPU型号类型。 | 无 | 
| Arch | String | 否 | 是 | GPU的架构。 | 无 | 
| ComputeQos | String | 否 | 是 | GPU计算的QoS。 | 无 | 
DeleteOptions语法
"DeleteOptions": [
  {
    "DeleteMode": String,
    "ResourceType": String
  }
]DeleteOptions属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| DeleteMode | String | 否 | 是 | 此类型资源的删除策略。 | 可取值: 
 | 
| ResourceType | String | 否 | 是 | 资源类型。 | 可取值: 
 | 
Tags语法
"Tags": [
  {
    "Value": String,
    "Key": String
  }
]Tags属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Key | String | 是 | 否 | 标签键。 | 无 | 
| Value | String | 否 | 否 | 标签值。 | 无 | 
返回值
Fn::GetAtt
- TaskId:任务ID。由系统自动分配,用户可查询任务状态。 
- ClusterId:集群实例ID。 
- APIServerSLBId:API服务器SLB的ID。 
- ScalingGroupId:伸缩组ID。 
- IngressSLBId:Ingress SLB的ID。 
- ScalingRuleId:伸缩规则ID。 
- DefaultUserKubeConfig:默认的 Kubernetes 用户配置,用于设置集群凭证。 
- WorkerRamRoleName:Worker RAM角色名称。 
- ScalingConfigurationId:伸缩配置ID。 
- PrivateUserKubConfig:私有用户Kubernetes配置,用于设置集群凭证。 
- Nodes:集群节点列表。 
示例
ROSTemplateFormatVersion: '2015-09-01'
Metadata: {}
Parameters: {}
Resources:
  Cluster:
    Type: ALIYUN::ACS::Cluster
    Properties:
      Name: test
      EndpointPublicAccess: false
      ServiceCidr: 172.19.0.0/20
      ClusterSpec: ack.pro.small
      SnatEntry: true
Outputs: {}{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Metadata": {
  },
  "Parameters": {
  },
  "Resources": {
    "Cluster": {
      "Type": "ALIYUN::ACS::Cluster",
      "Properties": {
        "Name": "test",
        "EndpointPublicAccess": false,
        "ServiceCidr": "172.19.0.0/20",
        "ClusterSpec": "ack.pro.small",
        "SnatEntry": true
      }
    }
  },
  "Outputs": {
  }
}