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,
"Tags": List,
"VSwitchIds": List,
"VpcId": String
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
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。 |
TimeZone | String | 否 | 否 | 集群的时区。 | 无 |
Tags | List | 否 | 是 | 集群绑定的标签。 | 详情参考Tags属性。 |
VSwitchIds | List | 否 | 否 | 虚拟交换机的ID列表。 | 如果您留空此属性,系统将自动创建一个VSwitch。 注意:您必须同时指定VpcId和VSwitchIds,或者两者都留空。 |
VpcId | String | 否 | 否 | 专有网络ID。 | 无 |
ZoneIds | List | 否 | 否 | 可用区ID列表。 | 无 |
Addons语法
"Addons": [
{
"Config": String,
"Disabled": Boolean,
"Name": String
}
]
Addons属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Name | String | 是 | 否 | 附加组件的名称。 | 无 |
Config | String | 否 | 否 | 组件配置。 | 当值为空时,无需进行配置。 |
Disabled | Boolean | 否 | 否 | 指定是否禁用默认安装。 | 无 |
MaintenanceWindow语法
"MaintenanceWindow": {
"MaintenanceTime": String,
"WeeklyPeriod": String,
"Enable": Boolean,
"Duration": String
}
MaintenanceWindow属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Duration | String | 否 | 否 | 维护窗口的持续时间。 | 无 |
Enable | Boolean | 否 | 否 | 是否启用维护窗口。 | 无 |
MaintenanceTime | String | 否 | 否 | 维护窗口的维护时间。 | 无 |
WeeklyPeriod | 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": {
}
}