Crie um cluster do Container Service for Kubernetes (ACK).
Sintaxe
{
"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,
"IsEnterpriseSecurityGroup": Boolean,
"SlsProjectName": String,
"ServiceCidr": String,
"SnatEntry": Boolean,
"TimeZone": String,
"ComputeClass": String,
"Tags": List,
"VSwitchIds": List,
"VpcId": String,
"PodPostpaidSpec": Map,
"DeleteOptions": List
}
}
Propriedades
|
Propriedade |
Tipo |
Obrigatório |
Permite atualizações |
Descrição |
Restrição |
|
Name |
String |
Sim |
Não |
Nome do cluster. |
O nome do cluster pode conter letras maiúsculas, minúsculas, caracteres chineses, dígitos e hifens. |
|
Addons |
List |
Não |
Não |
Componentes a instalar no cluster. |
Para mais informações, consulte Propriedades de Addons. |
|
ClusterSpec |
String |
Não |
Não |
Especificação do cluster gerenciado ACK. |
Valores válidos:
Valor padrão: ack.pro.small. |
|
DeletionProtection |
Boolean |
Não |
Sim |
Indica se deve ativar a proteção contra exclusão para o cluster. |
Após ativar a proteção contra exclusão, não é possível excluir o cluster no console do ACK ou por chamadas de API. Valores válidos:
|
|
EndpointPublicAccess |
Boolean |
Não |
Não |
Indica se deve ativar o acesso público ao servidor de API. |
Valores válidos:
|
|
IpStack |
String |
Não |
Não |
Pilha de IP do cluster. |
Nenhuma. |
|
KubernetesVersion |
String |
Não |
Não |
Versão do Kubernetes do cluster. |
Nenhuma. |
|
LoggingType |
String |
Não |
Não |
Tipo de log do cluster. |
Por padrão, o Simple Log Service não é utilizado. |
|
LoadBalancerSpec |
String |
Não |
Não |
Especificação da instância do Server Load Balancer. |
Valores válidos:
|
|
MaintenanceWindow |
Map |
Não |
Não |
Janela de manutenção do cluster. |
Para mais informações, consulte Propriedades de MaintenanceWindow. |
|
PodVSwitchIds |
List |
Não |
Não |
vSwitches destinados aos pods. |
Especifique o parâmetro PodVSwitchIds ao selecionar o plug-in de rede Terway para o cluster. Observação:
|
|
ResourceGroupId |
String |
Não |
Sim |
ID do grupo de recursos. |
Nenhuma. |
|
ServiceDiscoveryTypes |
List |
Não |
Não |
Tipos de descoberta de serviço no cluster. |
Método de descoberta de serviço para o cluster serverless Kubernetes (ASK). CoreDNS: plug-in padrão de descoberta de serviço fornecido pelo Kubernetes open source. Implante um conjunto de containers no cluster para resolução de DNS. Por padrão, duas instâncias ECI são provisionadas, cada uma com 0,25 núcleos de cpu e 512 MiB de memória. PrivateZone: para usar o Alibaba Cloud PrivateZone na descoberta de serviço, ative o serviço PrivateZone. Valor padrão: Desativado. |
|
SlsProjectName |
String |
Não |
Não |
Nome do projeto SLS. |
Se você definir LoggingType como SLS e deixar SlsProjectName vazio, um novo projeto será criado. |
|
ServiceCidr |
String |
Não |
Não |
Bloco CIDR de serviço. Não deve entrar em conflito com o bloco CIDR da VPC ou com o bloco CIDR do container. |
Quando o sistema cria automaticamente uma VPC, o bloco CIDR 172.19.0.0/20 é usado por padrão. |
|
SnatEntry |
Boolean |
Não |
Não |
Indica se deve configurar SNAT para a rede. |
Se a VPC tiver acesso à Internet, defina este parâmetro como false. Se a VPC existente não tiver acesso à Internet: Ao definir este parâmetro como true, o SNAT é configurado e a VPC passa a ter acesso à Internet. Ao definir este parâmetro como false, o SNAT não é configurado e a VPC permanece sem acesso à Internet. Valor padrão: true. |
|
IsEnterpriseSecurityGroup |
Boolean |
Não |
Não |
Indica se deve criar um grupo de segurança empresarial. |
Valores válidos:
|
|
ComputeClass |
String |
Não |
Não |
Classe de computação do cluster. |
Usado apenas para consultar ZoneIds disponíveis, não durante a criação real do cluster. |
|
TimeZone |
String |
Não |
Não |
Fuso horário do cluster. |
Nenhuma. |
|
Tags |
List |
Não |
Sim |
Tags a adicionar ao cluster. |
Para mais informações, consulte Propriedades de Tags. |
|
VSwitchIds |
List |
Não |
Não |
IDs dos vSwitches. |
Se esta propriedade for deixada vazia, o sistema cria automaticamente um vSwitch. Observação: especifique ambas as propriedades VpcId e VSwitchIds ou deixe ambas vazias. |
|
VpcId |
String |
Não |
Não |
ID da VPC. |
Nenhuma. |
|
ZoneIds |
List |
Não |
Não |
Lista de IDs de zona. |
Nenhuma. |
|
PodPostpaidSpec |
Map |
Não |
Sim |
Detalhes da especificação de pod com pagamento conforme o uso. |
Para mais informações, consulte Propriedades de PodPostpaidSpec. |
|
DeleteOptions |
List |
Não |
Sim |
Opções de exclusão de recursos. Aplicável apenas ao excluir recursos. |
Para mais informações, consulte Propriedades de DeleteOptions. |
Sintaxe de Addons
"Addons": [
{
"Config": String,
"Disabled": Boolean,
"Name": String,
"Version": String
}
]
Propriedades de Addons
|
Propriedade |
Tipo |
Obrigatório |
Permite atualizações |
Descrição |
Restrição |
|
Name |
String |
Sim |
Não |
Nome do componente. |
Nenhuma. |
|
Config |
String |
Não |
Não |
Configuração do componente. |
Se este parâmetro for deixado vazio, nenhuma configuração será necessária. |
|
Disabled |
Boolean |
Não |
Não |
Indica se deve desativar a instalação padrão. |
Nenhuma. |
|
Version |
String |
Não |
Não |
Versão do componente. |
Se este parâmetro for deixado vazio, a versão mais recente será selecionada por padrão. |
Sintaxe de MaintenanceWindow
"MaintenanceWindow": {
"MaintenanceTime": String,
"WeeklyPeriod": String,
"Enable": Boolean,
"Duration": String
}
Propriedades de MaintenanceWindow
|
Propriedade |
Tipo |
Obrigatório |
Permite atualizações |
Descrição |
Restrição |
|
Duration |
String |
Não |
Não |
Duração da janela de manutenção. |
Nenhuma. |
|
Enable |
Boolean |
Não |
Não |
Indica se deve ativar a janela de manutenção. |
Nenhuma. |
|
MaintenanceTime |
String |
Não |
Não |
Horário de manutenção da janela de manutenção. |
Nenhuma. |
|
WeeklyPeriod |
String |
Não |
Não |
Ciclo semanal da janela de manutenção. |
Valores válidos:
|
Sintaxe de PodPostpaidSpec
"PodPostpaidSpec":
{
"CpuCore": Integer,
"Replicas": Integer,
"MemGib": Integer,
"GpuQuantityConfigs": Map
}
Propriedades de PodPostpaidSpec
|
Propriedade |
Tipo |
Obrigatório |
Permite atualizações |
Descrição |
Restrição |
|
CpuCore |
Integer |
Não |
Sim |
Número de núcleos de cpu. |
Nenhuma. |
|
Replicas |
Integer |
Não |
Sim |
Número de réplicas. |
Nenhuma. |
|
MemGib |
Integer |
Não |
Sim |
Tamanho da memória da gpu. |
Nenhuma. |
|
GpuQuantityConfigs |
Map |
Não |
Sim |
Módulo de especificação da gpu. |
Para mais informações, consulte Propriedades de GpuQuantityConfigs. |
Sintaxe de GpuQuantityConfigs
"GpuQuantityConfigs":
{
"GpuQuantity": Integer,
"GpuModel": String,
"Arch": String,
"ComputeQos": String
}
Propriedades de GpuQuantityConfigs
|
Propriedade |
Tipo |
Obrigatório |
Permite atualizações |
Descrição |
Restrição |
|
GpuQuantity |
Integer |
Não |
Sim |
Quantidade de GPUs. |
Nenhuma. |
|
GpuModel |
String |
Não |
Sim |
Modelo da gpu. |
Nenhuma. |
|
Arch |
String |
Não |
Sim |
Arquitetura da gpu. |
Nenhuma. |
|
ComputeQos |
String |
Não |
Sim |
Qualidade de Serviço (QoS) da computação da gpu. |
Nenhuma. |
Sintaxe de DeleteOptions
"DeleteOptions": [
{
"DeleteMode": String,
"ResourceType": String
}
]
Propriedades de DeleteOptions
|
Propriedade |
Tipo |
Obrigatório |
Permite atualizações |
Descrição |
Restrição |
|
DeleteMode |
String |
Não |
Sim |
Política de exclusão para este tipo de recurso. |
Valores válidos:
|
|
ResourceType |
String |
Não |
Sim |
Tipo de recurso. |
Valores válidos:
|
Sintaxe de Tags
"Tags": [
{
"Value": String,
"Key": String
}
]
Propriedades de Tags
|
Propriedade |
Tipo |
Obrigatório |
Permite atualizações |
Descrição |
Restrição |
|
Key |
String |
Sim |
Não |
Chave da tag. |
Nenhuma. |
|
Value |
String |
Não |
Não |
Valor da tag. |
Nenhuma. |
Valores de retorno
Fn::GetAtt
TaskId: ID da tarefa. O sistema atribui esse ID automaticamente, permitindo consultar o status da tarefa.
ClusterId: ID da instância do cluster.
APIServerSLBId: ID da instância SLB do servidor de API.
ScalingGroupId: ID do grupo de dimensionamento.
IngressSLBId: ID da instância SLB de Ingress.
ScalingRuleId: ID da regra de dimensionamento.
DefaultUserKubeConfig: configuração padrão de usuário do Kubernetes usada para configurar credenciais do cluster.
WorkerRamRoleName: nome da função RAM do worker.
ScalingConfigurationId: ID da configuração de dimensionamento.
PrivateUserKubConfig: configuração privada de usuário do Kubernetes usada para configurar credenciais do cluster.
Nodes: lista de nós no cluster.
Exemplos
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": {
}
}