Todos os produtos
Search
Central de documentação

:ALIYUN::CS::KubernetesCluster

Última atualização: Jul 04, 2026

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:

  • name: o nome do runtime de contêiner.

  • version: a versão do runtime de contêiner.

Exemplo:

{"name": "docker", "version": "19.03.5"}
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:

  • true

  • false (padrão)

ProxyMode

String

Não

Não

O modo do kube-proxy.

Valores válidos:

  • iptables (padrão)

  • ipvs

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).

  • Valor válido quando a VPC tem acesso à Internet: false.

  • Valores válidos quando a VPC não tem acesso à Internet:

    • true: configura regras SNAT para a VPC. Nesse caso, a VPC poderá acessar a Internet.

    • false: não configura regras SNAT para a VPC. Nesse caso, a VPC não poderá acessar a Internet.

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:

  • CentOS

  • AliyunLinux (padrão)

  • Windows

  • WindowsCore

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 k8s-log-{ClusterID}.

MasterInstanceChargeType

String

Não

Não

O método de faturamento dos nós mestres.

Valores válidos:

  • PrePaid: assinatura.

  • PostPaid (padrão): pagamento conforme o uso.

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:

  • true (padrão)

  • false

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:

  • Valores válidos quando PeriodUnit é Week: 1 a 3.

  • Valores válidos quando PeriodUnit é Month: 1, 2, 3, 6 e 12.

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:

  • static

  • none (padrão)

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:

  • 10.0.X.X/8

  • 172.16-31.0.0/12-16

  • 192.168.XX.XX/16

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:

  • true

  • false

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:

  • true

  • false (padrão)

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:

  • true

  • false (padrão)

MasterSystemDiskCategory

String

Não

Não

A categoria do disco de sistema dos nós mestres.

Valores válidos:

  • cloud_efficiency: ultra disk

  • cloud_ssd: standard SSD

  • cloud_essd: ESSD

Addons

List

Não

Não

Os componentes a serem instalados no cluster.

  • Componente de rede:

    Os componentes Flannel e Terway são suportados. Utilize um deles ao crie o cluster.

    • Formato de valor ao usar o componente Flannel: [{"Name":"flannel","Config":""}].

    • Formato de valor ao usar o componente Terway: [{"Name": "terway-eniip","Config": ""}].

  • Componente de armazenamento:

    Os componentes Container Storage Interface (CSI) e FlexVolume são suportados.

    • Formato de valor ao usar o componente CSI: [{"Name":"csi-plugin","Config": ""},{"Name": "csi-provisioner","Config": ""}].

    • Formato de valor ao usar o componente FlexVolume: [{"Name": "flexvolume","Config": ""}].

  • (Opcional) Componente SLS:

    Nota

    Sem a ativação do SLS, o recurso de auditoria do cluster fica indisponível.

    • Formato de valor ao usar um projeto SLS existente: [{"Name": "logtail-ds","Config": "{\"IngressDashboardEnabled\":\"true\",\"sls_project_name\":\"your_sls_project_name\"}"}].

    • Formato de valor ao crie um projeto SLS: [{"Name": "logtail-ds","Config": "{\"IngressDashboardEnabled\":\"true\"}"}].

  • (Opcional) Componente Ingress:

    Por padrão, o componente nginx-ingress-controller é instalado em clusters dedicados do ACK.

    • Formato de valor ao instale o componente nginx-ingress-controller com acesso à Internet habilitado: [{"Name":"nginx-ingress-controller","Config":"{\"IngressSlbNetworkType\":\"internet\"}"}].

    • Formato de valor quando o componente nginx-ingress-controller não é instalado: [{"Name": "nginx-ingress-controller","Config": "","Disabled": true}].

  • (Opcional) Centro de eventos:

    O recurso de centro de eventos vem habilitado por padrão. Use centros de eventos para armazenar e consultar eventos do Kubernetes, além de configure alertas. Os Logstores associados aos centros de eventos são gratuitos por 90 dias. Para mais informações, consulte Criar e usar o K8s Event Center.

    Formato de valor ao ative o recurso de centro de eventos: [{"Name":"ack-node-problem-detector","Config":"{\"sls_project_name\":\"your_sls_project_name\"}"}].

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:

  • true: habilita o acesso ao servidor de API do cluster pela Internet.

  • false (padrão): habilita o acesso ao servidor de API do cluster via VPC.

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:

  • 3 (padrão)

  • 5

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:

  • true: Ao defina esta propriedade como true, os dados de contêineres e imagens da instância ECS existente serão armazenados no disco de dados. Os dados existentes no disco serão sobrescritos. Faça backup dos dados antes de anexar o disco.

  • false (padrão): Ao defina esta propriedade como false, os dados de contêineres e imagens da instância ECS existente não serão armazenados no disco de dados.

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:

  • true (padrão): mantém os nomes das instâncias ECS existentes no cluster.

  • false: não mantém os nomes das instâncias ECS existentes no cluster. O sistema atribuirá novos nomes a essas instâncias.

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:

  • true

  • false (padrão)

OsType

String

Não

Não

O tipo do sistema operacional.

Valores válidos:

  • Windows

  • Linux (padrão)

LoadBalancerSpec

String

Não

Não

A especificação da instância do Server Load Balancer (SLB).

Valores válidos:

  • slb.s1.small

  • slb.s2.small

  • slb.s2.medium

  • slb.s3.small

  • slb.s3.medium

  • slb.s3.large

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:

  • true: cria um grupo de segurança avançado. A instalação do componente Terway no cluster exige a criação de um grupo de segurança avançado.

  • false (padrão): não cria um grupo de segurança avançado.

MasterSystemDiskPerformanceLevel

String

Não

Não

O nível de desempenho (PL) do ESSD dos nós mestres.

Valores válidos:

  • PL0

  • PL1

  • PL2

  • PL3

SocEnabled

Boolean

Não

Não

Define se o reforço baseado em proteção classificada deve ser ativado.

Valores válidos:

  • true

  • false (padrão)

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.

  • O prefixo e o sufixo podem conter uma ou mais partes separadas por pontos (.). Cada parte pode conter letras minúsculas, dígitos e hifens (-). O nome do nó deve começar e terminar com uma letra minúscula ou dígito.

  • A substring de endereço IP consiste em 5 a 12 dígitos extraídos do final do endereço IP do nó.

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:

  • true

  • false

Valor padrão: false.

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: Thursday.

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:

  • true

  • false

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.

  • Especifique esta propriedade apenas quando InstanceChargeType estiver definido como PrePaid.

  • Valores válidos de Period quando PeriodUnit é Month: 1, 2, 3, 6 e 12. Valor padrão: 1.

InternetChargeType

String

Não

Não

O método de medição do endereço IP público.

Valores válidos:

  • PayByBandwidth: pagamento por largura de banda

  • PayByTraffic: pagamento por transferência de dados

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:

  • cloud_efficiency (padrão): ultra disk

  • cloud_ssd: standard SSD

  • cloud_essd: ESSD

PeriodUnit

String

Não

Não

A unidade da duração da assinatura dos nós no pool de nós.

  • Especifique esta propriedade quando InstanceChargeType estiver definido como PrePaid.

  • Defina o valor de PeriodUnit como Month.

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:

  • PrePaid: assinatura

  • PostPaid (padrão): pagamento conforme o uso

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:

  • true

  • false (padrão)

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:

  • cloud: basic disk

  • cloud_efficiency (padrão): ultra disk

  • cloud_ssd: standard SSD

  • cloud_essd: ESSD

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:

  • static: concede afinidade e exclusividade aprimoradas de CPU aos pods com características específicas de recursos no nó.

  • none (padrão): usa a afinidade de CPU padrão.

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.

  • O prefixo e o sufixo podem conter uma ou mais partes separadas por pontos (.). Cada parte pode conter letras minúsculas, dígitos e hifens (-). O nome do nó deve começar e terminar com uma letra minúscula ou dígito.

  • A substring de endereço IP consiste em 5 a 12 dígitos extraídos do final do endereço IP do nó.

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:

  • NoSchedule (padrão): Pods que não toleram o taint não são agendados no nó que contém este taint. Esta política afeta apenas o processo de agendamento e vale somente para pods recém-adicionados, sem impactar pods já agendados.

  • NoExecute: Pods que não toleram o taint são removidos após a adição deste taint ao nó.

  • PreferNoSchedule: Versão preferencial ou suave do NoSchedule. Esta política não afeta os pods existentes no nó.

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:

  • edge

  • ess

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 aliyun, acs:, https:// ou http://.

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 aliyun, acs:, https:// ou http://.

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:

  • cloud: basic disk

  • cloud_ssd: standard SSD

  • cloud_efficiency (padrão): ultra disk

  • cloud_essd: ESSD

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:

  • true

  • false

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:

  • containerd

  • docker (padrão)

  • Sandboxed-Container.runv

Version

String

Não

Não

A versão do runtime de contêiner.

  • Valor válido quando Name é containerd: 1.4.4.

  • Valor válido quando Name é docker: 19.03.5.

  • Valor válido quando Name é Sandboxed-Container.runv: 3.4.1.

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:

  • delete: exclui o tipo de recurso especificado.

  • retain: retém o tipo de recurso especificado.

ResourceType

String

Não

Sim

O tipo dos recursos.

Valores válidos:

  • SLB: Recursos SLB criados para Services. Por padrão, os recursos SLB são excluídos.

  • ALB: Recursos do Application Load Balancer (ALB) criados pelo controlador ALB Ingress. Por padrão, os recursos ALB são retidos.

  • SLS_Data: Projetos SLS usados pelo recurso de logs do cluster. Por padrão, os projetos SLS são retidos.

  • SLS_ControlPlane: Projetos SLS usados pelos logs do plano de controle de clusters gerenciados pelo ACK. Por padrão, os projetos SLS são retidos.

  • PrivateZone: Recursos do Alibaba Cloud DNS PrivateZone criados por clusters ACK Serverless. Por padrão, os recursos do Alibaba Cloud DNS PrivateZone são retidos.

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"
        ]
      }
    }
  }
}