O recurso ALIYUN::CS::KubernetesCluster cria um cluster dedicado do Container Service for Kubernetes (ACK).
Sintaxe
{
"Type": "ALIYUN::CS::KubernetesCluster",
"Properties": {
"CloudMonitorFlags": Boolean,
"ProxyMode": String,
"MasterInstanceTypes": List,
"SnatEntry": Boolean,
"VpcId": String,
"Tags": List,
"CpuPolicy": String,
"LoginPassword": String,
"ContainerCidr": String,
"Name": String,
"NodePortRange": String,
"SshFlags": Boolean,
"Taint": List,
"MasterDataDisk": Boolean,
"MasterSystemDiskCategory": String,
"Addons": List,
"ServiceCidr": String,
"KubernetesVersion": String,
"SecurityGroupId": String,
"KeyPair": String,
"MasterVSwitchIds": List,
"EndpointPublicAccess": Boolean,
"MasterSystemDiskSize": Number,
"MasterDataDisks": List,
"MasterCount": Number,
"TimeoutMins": Number,
"PodVswitchIds": List,
"Runtime": Map,
"ResourceGroupId": String,
"MasterSystemDiskSnapshotPolicyId": String,
"FormatDisk": Boolean,
"WorkerSystemDiskSnapshotPolicyId": String,
"KeepInstanceName": Boolean,
"DeletionProtection": Boolean,
"OsType": String,
"LoadBalancerSpec": String,
"NodeCidrMask": String,
"UserData": String,
"UserCa": String,
"IsEnterpriseSecurityGroup": Boolean,
"MasterSystemDiskPerformanceLevel": String,
"SocEnabled": Boolean,
"TimeZone": String,
"MasterZoneIds": List,
"WorkerZoneIds": List,
"NodePools": List,
"NodeNameMode": String,
"SecurityHardeningOs": Boolean,
"DeleteOptions": List,
"ControlPlaneLogTtl": Number,
"MaintenanceWindow": Map,
"ControlPlaneLogComponents": List,
"ControlPlaneLogProject": String,
"MasterInstanceChargeType": String,
"Platform": String,
"MasterAutoRenew": Boolean,
"MasterAutoRenewPeriod": Number
}
}
Propriedades
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
Runtime | Map | Não | Não | O runtime de contêiner. | A propriedade Runtime consiste nos seguintes campos:
Exemplo: Nota Para mais informações sobre como selecione um runtime de contêiner, consulte Comparação dos runtimes containerd, sandboxed container e Docker. Para mais detalhes sobre Runtime, consulte Propriedades de Runtime. |
CloudMonitorFlags | Boolean | Não | Não | Define se o agente do CloudMonitor deve ser instalado. | Valores válidos:
|
ProxyMode | String | Não | Não | O modo do kube-proxy. | Valores válidos:
|
MasterInstanceTypes | List | Sim | Não | Os tipos de instância do Elastic Compute Service (ECS) dos nós mestres. | Especifique três tipos de instância ECS. É permitido repetir os mesmos tipos. Para mais informações, consulte Visão geral das famílias de instâncias. |
SnatEntry | Boolean | Não | Não | Define se regras SNAT devem ser configuradas para a virtual private cloud (VPC). |
|
VpcId | String | Sim | Não | O ID da VPC. | Se você não especificar esta propriedade, o sistema cria automaticamente uma VPC com o bloco CIDR 192.168.0.0/16. Deixe as propriedades VpcId e MasterVSwitchIds vazias ou especifique ambas. |
Tags | List | Não | Sim | As tags do cluster. | É possível adicionar até 20 tags. Para mais informações, consulte Propriedades de Tags. |
PodVswitchIds | List | Não | Não | Os vSwitches de pod. | Para cada vSwitch de nó, especifique pelo menos um vSwitch de pod implantado na mesma zona que o vSwitch de nó. O vSwitch de pod não pode se sobrepor ao vSwitch de nó. Recomendamos usar um vSwitch cuja máscara de bloco CIDR não tenha mais de 19 bits. Nota Esta propriedade é obrigatória ao instale o componente Terway no cluster. |
Platform | String | Não | Não | A distribuição do sistema operacional. | Valores válidos:
|
MaintenanceWindow | Map | Não | Sim | As configurações da janela de manutenção do cluster. | Para mais informações, consulte a seção "Propriedades de MaintenanceWindow" deste tópico. |
ControlPlaneLogComponents | List | Não | Sim | Os nomes dos componentes do plano de controle. | Use esta propriedade para especifique os componentes do plano de controle cujos logs você deseja coletar. Por padrão, os logs do kube-apiserver, kube-controller-manager e kube-scheduler são coletados. |
ControlPlaneLogProject | String | Não | Sim | O projeto do Simple Log Service (SLS) destinado ao armazenamento dos logs dos componentes do plano de controle. | Utilize um projeto existente ou permita que o sistema crie um automaticamente. Se o sistema criar o projeto, ele receberá o nome no formato |
MasterInstanceChargeType | String | Não | Não | O método de faturamento dos nós mestres. | Valores válidos:
|
MasterAutoRenew | Boolean | Não | Não | Define se a renovação automática deve ser ativada. | Esta propriedade entra em vigor quando MasterInstanceChargeType está definido como PrePaid. Valores válidos:
|
MasterAutoRenewPeriod | Number | Não | Não | O período de renovação automática. | Esta propriedade entra em vigor quando MasterInstanceChargeType está definido como PrePaid e MasterAutoRenew como true. Valores válidos:
Valor padrão: 1. |
CpuPolicy | String | Não | Não | A política de CPU. | Esta propriedade só tem efeito em clusters com versão do Kubernetes 1.12.6 ou superior. Valores válidos:
|
LoginPassword | String | Não | Não | A senha para logins via SSH. | A senha deve ter entre 8 e 30 caracteres e conter letras, dígitos e caracteres especiais. Os seguintes caracteres especiais são suportados: Nota Especifique LoginPassword ou KeyPair. |
ContainerCidr | String | Não | Não | O bloco CIDR do pod. | Especifique esta propriedade ao crie um cluster que utiliza o componente Flannel. O bloco CIDR do pod deve ser um dos seguintes blocos CIDR de VPC ou suas sub-redes:
O bloco CIDR do pod não pode se sobrepor ao bloco CIDR da VPC nem aos blocos CIDR de clusters existentes na VPC. Não é possível alterar o bloco CIDR do pod após a criação do cluster. Para mais informações sobre como planejar a rede de um cluster, consulte Planejamento de rede de cluster gerenciado pelo ACK. |
SecurityHardeningOs | Boolean | Não | Não | Define se o reforço de segurança do Alibaba Cloud Linux deve ser ativado. | Valores válidos:
Valor padrão: false. |
Name | String | Sim | Não | O nome do cluster. | O nome deve ter entre 1 e 63 caracteres e pode conter letras, dígitos e hifens (-). |
NodePortRange | String | Não | Não | O intervalo de portas dos nós. | O intervalo consiste em dois valores entre 30000 e 65535. Separe os dois valores com um hífen (-). Intervalo padrão: 30000-65535. |
SshFlags | Boolean | Não | Não | Define se o login SSH pela Internet deve ser ativado. | Valores válidos:
|
Taint | List | Não | Não | Os taints a serem adicionados aos nós para o agendamento de pods. | Ao aplicar tolerâncias aos pods, eles poderão ser agendados em nós que possuam taints correspondentes. |
MasterDataDisk | Boolean | Não | Não | Define se discos de dados devem ser anexados aos nós mestres. | Valores válidos:
|
MasterSystemDiskCategory | String | Não | Não | A categoria do disco de sistema dos nós mestres. | Valores válidos:
|
Addons | List | Não | Não | Os componentes a serem instalados no cluster. |
Para mais informações, consulte Propriedades de Addons. |
ServiceCidr | String | Não | Não | O bloco CIDR do serviço. | O bloco CIDR do serviço não pode se sobrepor ao bloco CIDR da VPC ou ao bloco CIDR do contêiner. Se utilizar a VPC criada automaticamente pelo sistema, o bloco CIDR 172.19.0.0/20 será usado como padrão para o serviço. |
KubernetesVersion | String | Não | Sim | A versão do Kubernetes do cluster. O ACK suporta as mesmas versões do Kubernetes open source. Recomendamos utilizar a versão mais recente. | É possível crie clusters das duas versões mais recentes. Para mais informações sobre as versões do Kubernetes suportadas pelo ACK, consulte Visão geral das versões do Kubernetes suportadas pelo ACK. |
SecurityGroupId | String | Não | Não | O ID do grupo de segurança ao qual as instâncias ECS do cluster pertencem. | Nenhuma. |
KeyPair | String | Não | Não | O nome do par de chaves. | Especifique KeyPair ou LoginPassword. |
MasterVSwitchIds | List | Sim | Não | Os IDs dos vSwitches dos nós mestres. | Especifique três IDs de vSwitch. É permitido repetir os mesmos IDs. Contudo, recomendamos especifique três IDs diferentes para garantir a alta disponibilidade do cluster. |
EndpointPublicAccess | Boolean | Não | Não | Define se o acesso ao servidor de API do cluster pela Internet deve ser habilitado. | Valores válidos:
|
MasterSystemDiskSize | Number | Não | Não | O tamanho do disco de sistema dos nós mestres. | Valor padrão: 120. Unidade: GiB. |
MasterDataDisks | List | Não | Não | As configurações dos discos de dados a serem anexados aos nós mestres, incluindo categorias e tamanhos dos discos. | Esta propriedade só tem efeito quando discos de dados são anexados aos nós mestres. Para mais informações, consulte Propriedades de MasterDataDisks. |
MasterCount | Number | Não | Não | A quantidade de nós mestres. | Valores válidos:
|
TimeoutMins | Number | Não | Não | O tempo limite para a criação do cluster. | Valor padrão: 60. Unidade: minutos. |
ResourceGroupId | String | Não | Sim | O ID do grupo de recursos. | Nenhuma. |
MasterSystemDiskSnapshotPolicyId | String | Não | Não | O ID da política destinada ao backup dos discos de dados dos nós mestres. | Nenhuma. |
FormatDisk | Boolean | Não | Não | Define se um disco de dados deve ser anexado a um nó criado a partir de uma instância ECS existente. | Valores válidos:
|
WorkerSystemDiskSnapshotPolicyId | String | Não | Não | O ID da política destinada ao backup dos discos de dados dos nós trabalhadores. | Nenhuma. |
KeepInstanceName | Boolean | Não | Não | Define se os nomes das instâncias ECS existentes no cluster devem ser mantidos. | Valores válidos:
|
DeletionProtection | Boolean | Não | Não | Define se a proteção contra exclusão deve ser ativada. | Após ative a proteção contra exclusão, não será possível exclua o cluster pelo console do ACK ou por chamadas a operações específicas da API do ACK. Valores válidos:
|
OsType | String | Não | Não | O tipo do sistema operacional. | Valores válidos:
|
LoadBalancerSpec | String | Não | Não | A especificação da instância do Server Load Balancer (SLB). | Valores válidos:
|
NodeCidrMask | String | Não | Não | O número máximo de blocos CIDR que podem ser atribuídos aos nós. | O valor desta propriedade varia conforme o bloco CIDR do pod. Esta propriedade só tem efeito quando o componente Flannel é utilizado no cluster. Valor padrão: 25. |
UserData | String | Não | Não | Os dados de usuário especificados durante a criação das instâncias ECS. | Os dados de usuário podem ter até 16 KB. Não é necessário convertê-los para strings codificadas em Base64. Caso contenham caracteres especiais, adicione o caractere de escape (\) antes de cada um. |
UserCa | String | Não | Não | O certificado da autoridade certificadora (CA) do cluster. | Especifique um certificado CA para o cluster a fim de garantir a transmissão segura de dados entre servidores e clientes. |
IsEnterpriseSecurityGroup | Boolean | Não | Não | Define se um grupo de segurança avançado deve ser criado. | Esta propriedade entra em vigor quando SecurityGroupId está vazio. Valores válidos:
|
MasterSystemDiskPerformanceLevel | String | Não | Não | O nível de desempenho (PL) do ESSD dos nós mestres. | Valores válidos:
|
SocEnabled | Boolean | Não | Não | Define se o reforço baseado em proteção classificada deve ser ativado. | Valores válidos:
|
MasterZoneIds | List | Não | Não | Informações sobre as zonas às quais os vSwitches dos nós mestres pertencem. | Nenhuma. |
WorkerZoneIds | List | Não | Não | Informações sobre as zonas às quais os vSwitches dos nós trabalhadores pertencem. | Nenhuma. |
TimeZone | String | Não | Não | O fuso horário do cluster. | Nenhuma. |
NodePools | List | Não | Não | Informações sobre os pools de nós. | Para mais informações, consulte Propriedades de NodePools. |
NodeNameMode | String | Não | Não | O nome personalizado do nó. | Um nome de nó consiste em um prefixo, uma substring de endereço IP e um sufixo.
|
DeleteOptions | Boolean | Não | Sim | Opções para exclua ou reter recursos associados ao cluster. | Para mais informações, consulte Propriedades de DeleteOptions. |
Sintaxe de NodePools
"NodePools": [
{
"ScalingGroup": Map,
"KubernetesConfig": Map,
"NodePoolInfo": Map
}
]
Propriedades de NodePools
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
ScalingGroup |
Map |
Sim |
Não |
As configurações do grupo de dimensionamento a ser usado no pool de nós. |
Para mais informações, consulte Propriedades de ScalingGroup. |
|
KubernetesConfig |
Map |
Não |
Não |
As configurações do cluster. |
Para mais informações, consulte Propriedades de KubernetesConfig. |
|
NodePoolInfo |
Map |
Não |
Não |
As configurações do pool de nós. |
Para mais informações, consulte Propriedades de NodePoolInfo. |
Sintaxe de MaintenanceWindow
"MaintenanceWindow": {
"Enable": Boolean,
"MaintenanceTime": String,
"Duration": String,
"WeeklyPeriod": String,
"Recurrence": String
}
Propriedades de MaintenanceWindow
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
Enable | Boolean | Não | Não | Define se a janela de manutenção deve ser ativada. | Valores válidos:
Valor padrão: |
MaintenanceTime | String | Não | Não | A hora de início da janela de manutenção. | Especifique a hora no formato Request for Comments (RFC) 3339. |
Duration | String | Não | Não | A duração da janela de manutenção. | Valores válidos: 1 a 24. Unidade: hora. Valor padrão: 3. |
WeeklyPeriod | String | Não | Não | O ciclo de manutenção. | Separe múltiplos valores com vírgulas (,). Valores válidos: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday e Sunday. Valor padrão: |
Recurrence | String | Não | Não | A regra de recorrência definida para a janela de manutenção usando a regra de recorrência RFC 5545. | Defina FREQ como WEEKLY. Não é possível especifique COUNT ou UNTIL. |
Sintaxe de ScalingGroup
"ScalingGroup": {
"RdsInstances": List,
"IsEnterpriseSecurityGroup": Boolean,
"VSwitchIds": List,
"InternetMaxBandwidthOut": Integer,
"DataDisks": List,
"Period": Integer,
"InternetChargeType": String,
"KeyPair": String,
"SystemDiskPerformanceLevel": String,
"ImageId": String,
"InstanceTypes": List,
"SystemDiskCategory": String,
"PeriodUnit": String,
"LoginPassword": String,
"InstanceChargeType": String,
"SystemDiskSize": Integer,
"Tags": List,
"ZoneIds": List,
"DesiredSize": Integer
}
Propriedades de ScalingGroup
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
RdsInstances | List | Não | Não | Os IDs das instâncias do ApsaraDB RDS. | Nenhuma. |
DesiredSize | Integer | Não | Não | O número esperado de nós no pool de nós. | Nenhuma. |
IsEnterpriseSecurityGroup | Boolean | Não | Não | Define se um grupo de segurança avançado deve ser criado e utilizado automaticamente. | Valores válidos:
|
VSwitchIds | List | Sim | Não | Os IDs dos vSwitches. | Nenhuma. |
InternetMaxBandwidthOut | Integer | Não | Não | A largura de banda de saída máxima do endereço IP público do nó. | Unidade: Mbit/s. Valores válidos: 1 a 100. |
DataDisks | List | Não | Não | As configurações dos discos de dados a serem anexados aos nós do pool de nós. | Para mais informações, consulte Propriedades de DataDisks. |
Period | Integer | Não | Não | A duração da assinatura dos nós no pool de nós. |
|
InternetChargeType | String | Não | Não | O método de medição do endereço IP público. | Valores válidos:
|
KeyPair | String | Não | Não | O nome do par de chaves usado para logins sem senha. | Especifique KeyPair ou LoginPassword. |
SystemDiskPerformanceLevel | String | Não | Não | O PL do disco de sistema dos nós. | Esta propriedade só tem efeito para ESSDs. |
ImageId | String | Não | Não | O ID da imagem personalizada. | Por padrão, a imagem fornecida pelo sistema é utilizada. |
InstanceTypes | List | Sim | Não | Os tipos de instância. | Nenhuma. |
SystemDiskCategory | String | Não | Não | A categoria do disco de sistema dos nós. | Valores válidos:
|
PeriodUnit | String | Não | Não | A unidade da duração da assinatura dos nós no pool de nós. |
|
LoginPassword | String | Não | Não | A senha para logins via SSH. | Especifique KeyPair ou LoginPassword. A senha deve ter entre 8 e 30 caracteres e conter pelo menos letras maiúsculas, letras minúsculas, dígitos e caracteres especiais. |
InstanceChargeType | String | Não | Não | O método de faturamento dos nós no pool de nós. | Valores válidos:
|
SystemDiskSize | Integer | Sim | Não | O tamanho do disco de sistema dos nós. | Unidade: GiB. Valores válidos: 40 a 500. |
Tags | List | Não | Não | As tags a serem adicionadas às instâncias ECS. | Para mais informações, consulte Propriedades de Tags. |
ZoneIds | List | Não | Não | As zonas. | Nenhuma. |
Sintaxe de DataDisks
"DataDisks": [
{
"AutoSnapshotPolicyId": String,
"Encrypted": Boolean,
"Size": Integer,
"Category": String,
"PerformanceLevel": String
}
]
Propriedades de DataDisks
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
AutoSnapshotPolicyId | String | Não | Não | O ID da política de snapshot automático. | O sistema realiza backup automático dos discos em nuvem com base na política de snapshot automático especificada. |
Encrypted | Boolean | Não | Não | Define se os discos de dados devem ser criptografados. | Valores válidos:
|
Size | Integer | Não | Não | O tamanho do disco de dados. | Unidade: GiB. Valores válidos: 40 a 32768. Valor padrão: 120. |
Category | String | Não | Não | A categoria do disco de dados. | Valores válidos:
|
PerformanceLevel | String | Não | Não | O PL do disco de dados dos nós. | Esta propriedade só tem efeito para ESSDs. O PL de um disco varia conforme seu tamanho. Para mais informações, consulte ESSDs. |
Sintaxe de KubernetesConfig
"KubernetesConfig": {
"Runtime": String,
"RuntimeVersion": String,
"CpuPolicy": String,
"Labels": List,
"NodeNameMode": String,
"Taints": List
}
Propriedades de KubernetesConfig
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
Runtime | String | Sim | Não | O runtime de contêiner. | Nenhuma. |
RuntimeVersion | String | Sim | Não | A versão do runtime de contêiner. | Nenhuma. |
CpuPolicy | String | Não | Não | A política de gerenciamento de CPU do nó. | Valores válidos quando a versão do Kubernetes do cluster é 1.12.6 ou superior:
|
Labels | List | Não | Não | Os rótulos dos nós. | Adicione rótulos aos nós do cluster. Para mais informações, consulte Propriedades de Labels. |
NodeNameMode | String | Não | Não | O nome personalizado do nó. | Um nome de nó consiste em um prefixo, uma substring de endereço IP e um sufixo.
|
Taints | List | Não | Não | As configurações dos taints. | Para mais informações, consulte Propriedades de Taints. |
Sintaxe de Labels
"Labels": {
"Value": String,
"Key": String
}
Propriedades de Labels
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
Value |
String |
Sim |
Não |
O valor do rótulo. |
Nenhuma. |
|
Key |
String |
Sim |
Não |
A chave do rótulo. |
Nenhuma. |
Sintaxe de Taints
"Taints": [{
"Value": String,
"Effect": String,
"Key": String
}]
Propriedades de Taints
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
Value | String | Sim | Não | O valor do taint. | Nenhuma. |
Effect | String | Não | Não | A política de agendamento. | Valores válidos:
|
Key | String | Sim | Não | O nome do taint. | Nenhuma. |
Sintaxe de NodePoolInfo
"NodePoolInfo": {
"Name": String,
"Type": String,
"ResourceGroupId": String
}
Propriedades de NodePoolInfo
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
Name | String | Sim | Não | O nome do pool de nós. | Nenhuma. |
Type | String | Não | Não | O tipo do pool de nós. | Valores válidos:
|
ResourceGroupId | String | Não | Sim | O grupo de recursos ao qual o pool de nós pertence. | Nenhuma. |
Sintaxe de Tags
"Tags": [
{
"Key": String,
"Value": String
}
]
Propriedades de Tags
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
Key |
String |
Sim |
Não |
A chave da tag. |
A chave da tag deve ter entre 1 e 64 caracteres e não pode começar com |
|
Value |
String |
Sim |
Não |
O valor da tag. |
O valor da tag pode ter até 128 caracteres e não pode começar com |
Sintaxe de MasterDataDisks
"MasterDataDisks": [
{
"Category": String,
"Size": Number
}
]
Propriedades de MasterDataDisks
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
Category | String | Sim | Não | A categoria do disco de dados do nó mestre. | Valores válidos:
|
Size | Number | Sim | Não | O tamanho do disco de dados do nó mestre. | Valores válidos: 40 a 32768. Unidade: GiB. |
Sintaxe de Addons
"Addons": [
{
"Disabled": Boolean,
"Config": String,
"Name": String
}
]
Propriedades de Addons
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
Disabled | Boolean | Não | Não | Define se a instalação padrão deve ser desativada. | Valores válidos:
|
Config | String | Não | Não | As configurações do componente. | Nenhuma. |
Name | String | Sim | Não | O nome do componente. | Nenhuma. |
Sintaxe de Runtime
"Runtime": {
"Name": String,
"Version": String
}
Propriedades de Runtime
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
Name | String | Sim | Não | O nome do runtime de contêiner. | Valores válidos:
|
Version | String | Não | Não | A versão do runtime de contêiner. |
|
Sintaxe de DeleteOptions
"DeleteOptions": [{
"DeleteMode": String,
"ResourceType": String
}]
Propriedades de DeleteOptions
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
DeleteMode | String | Não | Sim | A política de exclusão para o tipo de recurso especificado. | Valores válidos:
|
ResourceType | String | Não | Sim | O tipo dos recursos. | Valores válidos:
|
Valores de retorno
Fn::GetAtt
ClusterId: o ID do cluster.
TaskId: o ID da tarefa. O sistema atribui este ID automaticamente para consultar o status da tarefa.
WorkerRamRoleName: o nome da função do Resource Access Management (RAM) para os nós trabalhadores.
ScalingGroupId: o ID do grupo de dimensionamento.
DefaultUserKubeConfig: o arquivo kubeconfig padrão das credenciais do cluster.
Nodes: os nós presentes no cluster.
ScalingRuleId: o ID da regra de dimensionamento.
PrivateUserKubConfig: o arquivo kubeconfig privado das credenciais do cluster.
ScalingConfigurationId: o ID da configuração de dimensionamento.
APIServerSLBId: o ID da instância SLB associada ao servidor de API.
IngressSLBId: o ID do SLB Ingress.
Exemplos
YAML
ROSTemplateFormatVersion: '2015-09-01'
Description: Test Create KubernetesCluster
Parameters:
SystemDiskCategory:
Type: String
Description: Category of system disk. Default is cloud_efficiency. support cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd.Old instances will not be changed.
AllowedValues:
- cloud
- cloud_efficiency
- cloud_ssd
- cloud_essd
- ephemeral_ssd
Default: cloud_essd
LoginPassword:
Type: String
Default: Text****
Resources:
Vpc:
Type: ALIYUN::ECS::VPC
Properties:
VpcName: mytest
CidrBlock: 192.168.XX.XX/16
VSwitch1:
Type: ALIYUN::ECS::VSwitch
Properties:
VSwitchName: mytest
VpcId:
Ref: Vpc
ZoneId:
Fn::Select:
- '0'
- Fn::GetAZs:
Ref: ALIYUN::Region
CidrBlock: 192.168.XX.XX/24
VSwitch2:
Type: ALIYUN::ECS::VSwitch
Properties:
VSwitchName: mytest
VpcId:
Ref: Vpc
ZoneId:
Fn::Select:
- '0'
- Fn::GetAZs:
Ref: ALIYUN::Region
CidrBlock: 192.168.XX.XX/24
VSwitch3:
Type: ALIYUN::ECS::VSwitch
Properties:
VSwitchName: mytest
VpcId:
Ref: Vpc
ZoneId:
Fn::Select:
- '0'
- Fn::GetAZs:
Ref: ALIYUN::Region
CidrBlock: 192.168.XX.XX/24
KubernetesCluster:
Type: ALIYUN::CS::KubernetesCluster
Properties:
MasterInstanceTypes:
- ecs.g6e.large
- ecs.g6e.large
- ecs.g6e.large
MasterSystemDiskCategory:
Ref: SystemDiskCategory
VpcId:
Ref: Vpc
Name: TestKubernetesCluster
MasterVSwitchIds:
- Ref: VSwitch1
- Ref: VSwitch2
- Ref: VSwitch3
LoginPassword:
Ref: LoginPassword
Outputs:
ClusterId:
Value:
Fn::GetAtt:
- KubernetesCluster
- ClusterId
TaskId:
Value:
Fn::GetAtt:
- KubernetesCluster
- TaskId
JSON
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Test Create KubernetesCluster",
"Parameters": {
"SystemDiskCategory": {
"Type": "String",
"Description": "Category of system disk. Default is cloud_efficiency. support cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd.Old instances will not be changed.",
"AllowedValues": [
"cloud",
"cloud_efficiency",
"cloud_ssd",
"cloud_essd",
"ephemeral_ssd"
],
"Default": "cloud_essd"
},
"LoginPassword": {
"Type": "String",
"Default": "Text****"
}
},
"Resources": {
"Vpc": {
"Type": "ALIYUN::ECS::VPC",
"Properties": {
"VpcName": "mytest",
"CidrBlock": "192.168.XX.XX/16"
}
},
"VSwitch1": {
"Type": "ALIYUN::ECS::VSwitch",
"Properties": {
"VSwitchName": "mytest",
"VpcId": {
"Ref": "Vpc"
},
"ZoneId": {
"Fn::Select": [
"0",
{
"Fn::GetAZs": {
"Ref": "ALIYUN::Region"
}
}
]
},
"CidrBlock": "192.168.XX.XX/24"
}
},
"VSwitch2": {
"Type": "ALIYUN::ECS::VSwitch",
"Properties": {
"VSwitchName": "mytest",
"VpcId": {
"Ref": "Vpc"
},
"ZoneId": {
"Fn::Select": [
"0",
{
"Fn::GetAZs": {
"Ref": "ALIYUN::Region"
}
}
]
},
"CidrBlock": "192.168.XX.XX/24"
}
},
"VSwitch3": {
"Type": "ALIYUN::ECS::VSwitch",
"Properties": {
"VSwitchName": "mytest",
"VpcId": {
"Ref": "Vpc"
},
"ZoneId": {
"Fn::Select": [
"0",
{
"Fn::GetAZs": {
"Ref": "ALIYUN::Region"
}
}
]
},
"CidrBlock": "192.168.XX.XX/24"
}
},
"KubernetesCluster": {
"Type": "ALIYUN::CS::KubernetesCluster",
"Properties": {
"MasterInstanceTypes": [
"ecs.g6e.large",
"ecs.g6e.large",
"ecs.g6e.large"
],
"MasterSystemDiskCategory": {
"Ref": "SystemDiskCategory"
},
"VpcId": {
"Ref": "Vpc"
},
"Name": "TestKubernetesCluster",
"MasterVSwitchIds": [
{
"Ref": "VSwitch1"
},
{
"Ref": "VSwitch2"
},
{
"Ref": "VSwitch3"
}
],
"LoginPassword": {
"Ref": "LoginPassword"
}
}
}
},
"Outputs": {
"ClusterId": {
"Value": {
"Fn::GetAtt": [
"KubernetesCluster",
"ClusterId"
]
}
},
"TaskId": {
"Value": {
"Fn::GetAtt": [
"KubernetesCluster",
"TaskId"
]
}
}
}
}