Chame a operação CreateCluster para criar uma instância de cluster ACK Serverless.
Sintaxe da requisição
POST /clusters HTTP/1.1
Content-Type: application/json
{
"cluster_type": "String",
"profile": "String",
"cluster_spec": "String",
"name": "String",
"kubernetes_version": "String",
"private_zone": Boolean,
"region_id": "String",
"endpoint_public_access": Boolean,
"service_discovery_types": ["String"],
"zoneid": "String",
"logging_type": "String",
"tags": [
{
"key": "String",
"value": "String"
}
],
"deletion_protection": Boolean,
"service_cidr": "String",
"timezone": "String",
"addons": [
{
"name": "String",
"config": "String",
"disabled": Boolean
}
],
"snat_entry": Boolean,
"vpcid": "String",
"vswitch_ids": ["String"],
"security_group_id": "String"
}
Parâmetros da requisição
| Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
|---|---|---|---|---|
cluster_type |
String | Sim | ManagedKubernetes |
Tipo do cluster. Defina como ManagedKubernetes com profile: Serverless para criar um cluster ACK Serverless. |
profile |
String | Sim | Serverless |
Identificador do cluster. Defina como Serverless com cluster_type: ManagedKubernetes para criar um cluster ACK Serverless. |
cluster_spec |
String | Não | ack.pro.small |
Edição do cluster ACK Serverless. Valores válidos: ack.pro.small (profissional) e ack.standard (padrão). Padrão: ack.standard. Consulte Visão geral do cluster. |
name |
String | Sim | cluster-demo |
Nome do cluster. Deve conter de 1 a 63 caracteres, incluindo dígitos, letras e hifens (-). Não pode começar com hífen. |
kubernetes_version |
String | Não | 1.32.1-aliyun.1 |
Versão do Kubernetes. O padrão é a versão estável mais recente. Consulte as versões suportadas do Kubernetes. |
private_zone |
Boolean | Não | false |
Define se o Alibaba Cloud DNS PrivateZone deve ser ativado para descoberta de serviços. Valores válidos: true (ativado) e false (desativado). Consulte Ativar descoberta de serviços com base no Alibaba Cloud DNS PrivateZone. |
region_id |
String | Sim | cn-beijing |
Região do cluster. |
endpoint_public_access |
Boolean | Não | true |
Define se o servidor de API ficará exposto à Internet. Valores válidos: true (acessível pela Internet) e false (acessível apenas na Virtual Private Cloud (VPC)). Padrão: true. |
service_discovery_types |
Array of String | Não | PrivateZone |
Método de descoberta de serviços. Valores válidos: CoreDNS (DNS nativo do Kubernetes; implanta duas instâncias de contêiner elásticas com 0,25 núcleo de CPU e 512 MiB de memória cada) e PrivateZone (Alibaba Cloud DNS PrivateZone; ative antes de usar). Padrão: não definido. |
zoneid |
String | Não | cn-beiji**** |
ID da zona.
Importante
Obrigatório quando nem |
logging_type |
String | Não | SLS |
Define se o Simple Log Service (SLS) deve ser ativado. Defina como SLS para ativar. Aplicável apenas a clusters ACK Serverless. |
tags |
Array of tag | Não | [{"key": "env", "value": "prod"}] |
Tags do cluster. Cada tag possui uma key e um value. |
deletion_protection |
Boolean | Não | true |
Define se a proteção contra exclusão deve ser ativada. Quando ativada, impede a exclusão do cluster pelo console ou via API. Valores válidos: true (ativado) e false (desativado). Padrão: false. |
service_cidr |
String | Não | 172.21.0.0/20 |
Bloco CIDR de serviço. Intervalos válidos: 10.0.0.0/16–24, 172.16–31.0.0/16–24 e 192.168.0.0/16–24. Não deve sobrepor o bloco CIDR da VPC nem blocos CIDR de clusters existentes na VPC. Não pode ser alterado após a criação do cluster. Padrão: 172.19.0.0/20. |
timezone |
String | Não | Asia/Shanghai |
Fuso horário do cluster. Consulte Fusos horários suportados. |
addons |
Array of addon | Não | [{"name":"logtail-ds","config":"{\"sls_project_name\":\"your_sls_project_name\"}"}] |
Addons a instalar. Cada entrada possui três campos: name (obrigatório), config (opcional; deixe em branco se desnecessário) e disabled (opcional; defina como true para pular a instalação). Consulte Configuração de addons. |
snat_entry |
Boolean | Não | true |
Define se um gateway NAT e regras SNAT devem ser criados. Valores válidos: true (cria gateway NAT e regras SNAT para acesso à Internet via VPC) e false (nenhum gateway NAT ou regra SNAT). Padrão: false. |
vpcid |
String | Não | vpc-2zeik9h3ahvv2zz95**** |
ID da VPC. Se especificado, vswitch_ids também é obrigatório. |
vswitch_ids |
Array of String | Não | ["vsw-2ze97jwri7cei0mpw****"] |
IDs dos vSwitches. Especifique de 1 a 3 vSwitches. |
security_group_id |
String | Não | sg-bp1bdue0qc1g7k**** |
ID do grupo de segurança. Os nós são adicionados automaticamente a este grupo. Especifique este parâmetro ou is_enterprise_security_group. |
resource_group_id |
String | Não | rg-acfm3mkrure**** |
ID do grupo de recursos para isolamento do cluster. |
Configuração de addons
Addon do Log Service (logtail-ds): Opcional. Sem o SLS, a auditoria do cluster fica indisponível.
-
Para usar um projeto SLS existente:
[{"name": "logtail-ds", "config": "{\"IngressDashboardEnabled\":\"true\",\"sls_project_name\":\"your_sls_project_name\"}"}] -
Para criar um novo projeto SLS:
[{"name": "logtail-ds", "config": "{\"IngressDashboardEnabled\":\"true\"}"}]
Controlador de Ingress (nginx-ingress-controller): Opcional. Instalado por padrão em clusters dedicados ACK.
-
Para instalar com acesso à Internet ativado:
[{"name": "nginx-ingress-controller", "config": "{\"IngressSlbNetworkType\":\"internet\"}"}] -
Para pular a instalação:
[{"name": "nginx-ingress-controller", "config": "", "disabled": true}]
Elementos da resposta
HTTP/1.1 200
Content-Type: application/json
{
"cluster_id": "String",
"request_id": "String",
"task_id": "String"
}
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
|
String |
|
ID do cluster. |
|
|
String |
|
ID da requisição. |
|
|
String |
|
ID da tarefa. |
Exemplos
Exemplo 1: Criar um cluster com VPC criada automaticamente
Cria um cluster ACK Serverless padrão em cn-hangzhou com VPC, gateway NAT e SLS criados automaticamente.
Requisição:
POST /clusters HTTP/1.1
<Common request headers>
{
"cluster_type": "ManagedKubernetes",
"profile": "Serverless",
"cluster_spec": "ack.standard",
"name": "test-ask",
"region_id": "cn-hangzhou",
"endpoint_public_access": false,
"logging_type": "SLS",
"private_zone": false,
"snat_entry": true,
"tags": [
{
"key": "k-aa",
"value": "v-aa"
}
],
"deletion_protection": false,
"addons": [
{
"name": "logtail-ds"
}
],
"zoneid": "cn-hangzhou-i"
}
Resposta:
{
"cluster_id": "cb95aa626a47740afbf6aa099b650****",
"RequestId": "687C5BAA-D103-4993-884B-C35E4314A1E1",
"task_id": "T-5a54309c80282e39ea00002f"
}
Exemplo 2: Criar um cluster em uma VPC existente
Cria um cluster ACK Serverless profissional em uma VPC existente em cn-shenzhen com servidor de API acessível pela Internet, proteção contra exclusão e descoberta de serviços via PrivateZone.
Requisição:
POST /clusters HTTP/1.1
<Common request headers>
{
"cluster_type": "ManagedKubernetes",
"profile": "Serverless",
"cluster_spec": "ack.pro.small",
"name": "ask-cluster",
"region_id": "cn-shenzhen",
"endpoint_public_access": true,
"logging_type": "SLS",
"private_zone": true,
"tags": [
{
"key": "tier",
"value": "frontend"
}
],
"deletion_protection": true,
"addons": [
{
"name": "logtail-ds"
}
],
"vpcid": "vpc-wz984yvbd6lck22z3****",
"vswitch_ids": [
"vsw-wz9uwxhawmtzg7u9h****"
],
"security_group_id": "sg-wz9b86l4s7nthi1k****"
}
Resposta:
{
"cluster_id": "cb95aa626a47740afbf6aa099b650****",
"RequestId": "687C5BAA-D103-4993-884B-C35E4314A1E1",
"task_id": "T-5a54309c80282e39ea00002f"
}
Códigos de erro
Consulte o Error Center.