Use a operação CreateClusterNodePool para criar um pool de nós em um cluster do Container Service for Kubernetes (ACK).
Depuração
Cabeçalho da requisição
Esta operação não possui cabeçalhos específicos e utiliza apenas os cabeçalhos comuns. Para mais informações, consulte a documentação dos parâmetros de requisição comuns.
Sintaxe da requisição
POST /clusters/{ClusterId}/nodepools HTTP/1.1
Parâmetros da requisição
|
Parâmetro |
Tipo |
Posição |
Obrigatório |
Exemplo |
Descrição |
| ClusterId | String | Path | Sim | c61da77e8bfbc4c4c999af2b51b65**** | ID do cluster. |
| Object | Body | Não | Parâmetros da requisição. |
||
| auto_scaling | Object | Body | Não | Configurações de auto scaling. |
|
| enable | Boolean | Body | Não | true | Define se o auto scaling deve ser ativado para o pool de nós. Valores válidos:
Valor padrão: |
| max_instances | Long | Body | Não | 10 | Número máximo de instâncias do Elastic Compute Service (ECS) permitidas no pool de nós. |
| min_instances | Long | Body | Não | 1 | Número mínimo de instâncias ECS mantidas no pool de nós. |
| type | String | Body | Não | cpu | Tipos de instância usados para o auto scaling do pool de nós. Valores válidos:
Valor padrão: |
| is_bond_eip | Boolean | Body | Não | true | Este parâmetro está obsoleto. Define se um elastic IP address (EIP) deve ser associado ao pool de nós. Valores válidos:
Valor padrão: |
| eip_internet_charge_type | String | Body | Não | PayByBandwidth | Este parâmetro está obsoleto. Método de medição do EIP. Valores válidos:
Valor padrão: |
| eip_bandwidth | Long | Body | Não | 5 | Este parâmetro está obsoleto. Largura de banda máxima do EIP. Unidade: Mbit/s. |
| kubernetes_config | Object | Body | Não | Configurações do cluster. |
|
| cms_enabled | Boolean | Body | Não | true | Indica se o agente do CloudMonitor está instalado nos nós ECS do cluster. Após a instalação, é possível visualizar informações de monitoramento das instâncias ECS no console do CloudMonitor. Recomenda-se a instalação. Valores válidos:
Valor padrão: |
| cpu_policy | String | Body | Não | none | Política de gerenciamento de CPU dos nós no cluster. As políticas a seguir são suportadas se a versão do Kubernetes do cluster for 1.12.6 ou posterior:
Valor padrão: |
| labels | Array de tag | Body | Não | Rótulos dos nós no pool de nós. É possível adicionar rótulos aos nós do cluster. |
|
| runtime | String | Body | Não | docker | Runtime de contêiner. |
| runtime_version | String | Body | Não | 19.03.5 | Versão do runtime de contêiner. |
| taints | Array de taint | Body | Não | Taints a serem adicionados aos nós. |
|
| user_data | String | Body | Não | dGhpcyBpcyBhIGV4YW1wbGU= | Dados definidos pelo usuário no nó. |
| node_name_mode | String | Body | Não | customized,aliyun,ip,com | Um nome de nó personalizado consiste em um prefixo, um endereço IP do nó e um sufixo.
Defina o valor no formato customized,aliyun,ip,com. O valor tem quatro partes separadas por vírgulas (,), onde customized e ip são conteúdos fixos, aliyun é o prefixo e com é o sufixo. Exemplo: aliyun.192.168.xxx.xxx.com. |
| unschedulable | Boolean | Body | Não | true | Define se os nós permanecem agendáveis após uma atividade de scale-out. |
| nodepool_info | Object | Body | Não | Configuração do pool de nós. |
|
| name | String | Body | Sim | cluster-demo | Nome do pool de nós. |
| resource_group_id | String | Body | Não | rg-acfmyvw3wjmb**** | ID do grupo de recursos ao qual o pool de nós pertence. |
| type | String | Body | Não | ess | Tipo do pool de nós. Valores válidos:
|
| scaling_group | Object | Body | Não | Configuração do grupo de dimensionamento usado pelo pool de nós. |
|
| auto_renew | Boolean | Body | Não | true | Define se a renovação automática deve ser ativada para os nós do pool. Este parâmetro só tem efeito quando
Valor padrão: |
| auto_renew_period | Long | Body | Não | 1 | Duração da renovação automática. Esta propriedade só tem efeito e é obrigatória quando instance_charge_type é PrePaid e auto_renew é true. Se Valor padrão: 1. |
| data_disks | Array de data_disk | Body | Não | Configurações dos discos de dados a serem anexados aos nós do pool. |
|
| image_id | String | Body | Não | aliyun_2_1903_x64_20G_alibase_20200529.vhd | ID de uma imagem personalizada. Por padrão, usa-se a imagem fornecida pelo ACK. |
| instance_charge_type | String | Body | Sim | PrePaid | Método de faturamento dos nós no pool. Valores válidos:
Valor padrão: |
| instance_types | Array of String | Body | Sim | ecs.d1ne.2xlarge | Tipo de instância. |
| key_pair | String | Body | Não | np-key-name | Nome do par de chaves usado para fazer login nos nós do pool. Defina este parâmetro ou Nota Defina key_pair se o pool de nós for gerenciado. |
| login_password | String | Body | Não | Hello1234 | Senha para login SSH. Defina este parâmetro ou |
| login_as_non_root | Boolean | Body | Não | true | Define se um usuário não root pode fazer login na instância ECS adicionada ao pool de nós. |
| period | Long | Body | Não | 1 | Duração da assinatura dos nós no pool. Este parâmetro só tem efeito e é obrigatório quando Valor padrão: 1. |
| period_unit | String | Body | Não | Month | Ciclo de faturamento dos nós no pool. Obrigatório se instance_charge_type for |
| platform | String | Body | Não | AliyunLinux | Versão do sistema operacional. Valores válidos:
Valor padrão: |
| rds_instances | Array of String | Body | Não | rds-**** | IDs das instâncias do ApsaraDB RDS. |
| spot_strategy | String | Body | Não | NoSpot | Tipo da instância preemptível. Valores válidos:
Para mais informações, consulte Instâncias preemptíveis. |
| spot_price_limit | Array | Body | Não | Tipo de instância para instâncias preemptíveis e respectivo limite de preço. |
|
| instance_type | String | Body | Não | ecs.c6.large | Tipo das instâncias preemptíveis. |
| price_limit | String | Body | Não | 0.39 | Limite de preço de uma instância preemptível. |
| scaling_policy | String | Body | Não | release | Modo de dimensionamento do grupo. Valores válidos:
Valor padrão: |
| security_group_id | String | Body | Não | sg-wz9a8g2mt6x5llu0**** | ID do grupo de segurança ao qual adicionar o pool de nós. Defina este parâmetro ou |
| security_group_ids | Array of String | Body | Não | sg-wz9a8g2mt6x5llu0**** | IDs dos grupos de segurança aos quais adicionar o pool de nós. Defina este parâmetro ou |
| system_disk_category | String | Body | Não | cloud_efficiency | Tipo de disco do sistema. Valores válidos:
Valor padrão: |
| system_disk_categories | Array of String | Body | Não | cloud_essd | Tipo de disco do sistema. |
| system_disk_size | Long | Body | Não | 120 | Tamanho do disco do sistema do nó. Unidade: GiB. Valores válidos: 40 a 500. |
| system_disk_performance_level | String | Body | Não | PL1 | Nível de desempenho (PL) do disco do sistema do nó. Válido apenas para ESSDs.
|
| system_disk_encrypted | Boolean | Body | Não | false | Define se o disco do sistema deve ser criptografado. Valores válidos: true: criptografa o disco do sistema. false: não criptografa o disco do sistema. |
| system_disk_kms_key_id | String | Body | Não | 0e478b7a-4262-4802-b8cb-00d3fb40**** | ID da chave KMS usada para criptografar o disco do sistema. |
| system_disk_encrypt_algorithm | String | Body | Não | aes-256 | Algoritmo usado para criptografar o disco do sistema. Defina como aes-256. |
| system_disk_provisioned_iops | Long | Body | Não | 1000 | IOPS predefinido do disco do sistema. Valores válidos: 0 a min{50.000, 1.000 × Capacidade - IOPS Base}. IOPS Base = min{1.800 + 50 × Capacidade, 50.000}. Suportado apenas quando |
| system_disk_bursting_enabled | Boolean | Body | Não | true | Define se o recurso de burst deve ser ativado para discos do sistema. Valores válidos:
Suportado apenas quando |
| tags | Array | Body | Não | Rótulos a serem adicionados às instâncias ECS. Cada chave deve ser única e não pode exceder 128 caracteres. Chaves e valores não podem começar com aliyun ou acs:, nem conter https:// ou http://. |
|
| key | String | Body | Não | node-k-1 | Chave de um rótulo. |
| value | String | Body | Não | node-v-1 | Valor de um rótulo. |
| vswitch_ids | Array of String | Body | Sim | vsw-wz9mfnhmssud6eicu**** | IDs dos vSwitches. |
| multi_az_policy | String | Body | Não | COST_OPTIMIZED | Política de dimensionamento de instâncias ECS para grupos multizona. Valores válidos:
Valor padrão: |
| on_demand_base_capacity | Long | Body | Não | 0 | Número mínimo de instâncias conforme o uso mantidas no grupo de dimensionamento. Valores válidos: 0 a 1000. Se a quantidade atual for menor que este valor, o Auto Scaling prioriza a criação de instâncias conforme o uso. |
| on_demand_percentage_above_base_capacity | Long | Body | Não | 20 | Porcentagem de instâncias conforme o uso entre as instâncias excedentes além de |
| spot_instance_pools | Long | Body | Não | 5 | Número de tipos de instância disponíveis. O Auto Scaling cria instâncias preemptíveis de múltiplos tipos disponíveis com o menor custo. Valores válidos: 1 a 10. |
| spot_instance_remedy | Boolean | Body | Não | false | Define se instâncias preemptíveis devem ser repostas quando caírem abaixo do mínimo especificado. Se true, o Auto Scaling tenta criar uma nova instância preemptível ao receber notificação de que uma existente será recuperada. Valores válidos:
|
| compensate_with_on_demand | Boolean | Body | Não | true | Define se instâncias conforme o uso devem ser criadas automaticamente para atingir a quantidade necessária de instâncias ECS caso instâncias preemptíveis não possam ser criadas (por custo ou estoque insuficiente). Válido quando
|
| internet_charge_type | String | Body | Não | PayByTraffic | Método de faturamento do endereço IP público. Valores válidos:
|
| internet_max_bandwidth_out | Long | Body | Não | 5 | 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. |
| image_type | String | Body | Não | AliyunLinux | Tipo de imagem do SO. Defina este parâmetro ou
|
| deploymentset_id | String | Body | Não | ds-bp1d19mmbsv3jf6xxxxx | ID do conjunto de implantação ao qual as instâncias ECS do pool pertencem. |
| desired_size | Long | Body | Não | 0 | Número esperado de nós no pool. |
| private_pool_options | Object | Body | Não | Configurações do pool privado. |
|
| id | String | Body | Não | eap-bp67acfmxazb4**** | ID do pool privado. |
| match_criteria | String | Body | Não | Open | Tipo de pool privado. Especifica o tipo de pool privado usado para criar instâncias. Um pool privado é gerado quando uma garantia de elasticidade ou reserva de capacidade entra em vigor. O sistema seleciona um pool privado para iniciar instâncias. Valores válidos:
|
| cis_enabled | Boolean | Body | Não | false | Define se o Endurecimento de Segurança do Alibaba Cloud Linux deve ser ativado. Ativado apenas para nós com imagem Alibaba Cloud Linux 2 ou 3. |
| soc_enabled | Boolean | Body | Não | false | Define se o endurecimento de segurança do Multi-Level Protection Scheme (MLPS) deve ser ativado. Disponível apenas para imagens Alibaba Cloud Linux 2 ou 3. O Alibaba Cloud fornece linhas de base e verificação de conformidade para ajudar a validar imagens Alibaba Cloud Linux 2 e 3 quanto aos padrões de nível 3 do MLPS 2.0. |
| tee_config | Object | Body | Não | Configuração de computação confidencial do cluster. |
|
| tee_enable | Boolean | Body | Não | true | Define se a computação confidencial deve ser ativada para o cluster. |
| management | Object | Body | Não | Configuração do recurso de pool de nós gerenciado. |
|
| enable | Boolean | Body | Não | false | Define se o recurso de pool de nós gerenciado deve ser ativado. Valores válidos:
|
| auto_repair | Boolean | Body | Não | false | Define se o reparo automático deve ser ativado. Válido apenas quando
|
| upgrade_config | Object | Body | Não | Configurações de atualização automática. Válidas apenas quando |
|
| auto_upgrade | Boolean | Body | Não | false | Define se a atualização automática deve ser ativada. Valores válidos:
|
| surge | Long | Body | Não | 0 | Número de nós adicionais. |
| surge_percentage | Long | Body | Não | 0 | Porcentagem de nós adicionais em relação ao total do pool. Defina este parâmetro ou |
| max_unavailable | Long | Body | Não | 1 | Número máximo de nós que podem estar no estado Unschedulable. Valores válidos: 1 a 1000. Valor padrão: 1. |
| auto_repair_policy | Object | Body | Não | Política de reparo automático de nós. |
|
| restart_node | Boolean | Body | Não | true | Define se o ACK pode reiniciar automaticamente os nós após reparo. Valores válidos:
|
| auto_vul_fix | Boolean | Body | Não | true | Define se o ACK pode corrigir automaticamente vulnerabilidades CVE. Valores válidos:
|
| auto_vul_fix_policy | Object | Body | Não | Política de correção automática de CVE. |
|
| restart_node | Boolean | Body | Não | true | Define se o ACK pode reiniciar automaticamente os nós após reparo. Valores válidos:
|
| vul_level | String | Body | Não | asap,nntf | Níveis de gravidade das vulnerabilidades que o ACK pode corrigir automaticamente. Separe múltiplos níveis por vírgulas (,). |
| auto_upgrade | Boolean | Body | Não | true | Define se a atualização automática deve ser ativada. Valores válidos:
|
| auto_upgrade_policy | Object | Body | Não | Política de atualização automática. |
|
| auto_upgrade_kubelet | Boolean | Body | Não | true | Define se o ACK pode atualizar automaticamente o kubelet. Valores válidos:
|
| count | Long | Body | Não | 1 | Este parâmetro está obsoleto. Use desired_size. Número de nós no pool. |
| interconnect_mode | String | Body | Não | basic | Tipo de rede do pool de nós de borda. Válido apenas quando
|
| interconnect_config | Object | Body | Não | Este parâmetro está obsoleto. Configuração do pool de nós de borda. |
|
| cen_id | String | Body | Não | cen-ey9k9nfhz0f******* | Este parâmetro está obsoleto. ID da instância da Cloud Enterprise Network (CEN) associada ao pool de nós de borda aprimorado. |
| ccn_id | String | Body | Não | ccn-qm5i0i0q9yi******* | Este parâmetro está obsoleto. ID da instância da Cloud Connect Network (CCN) associada ao pool de nós de borda aprimorado. |
| ccn_region_id | String | Body | Não | cn-shanghai | Este parâmetro está obsoleto. Região da instância CCN associada ao pool de nós de borda aprimorado. |
| bandwidth | Long | Body | Não | 10 | Este parâmetro está obsoleto. Largura de banda do pool de nós de borda aprimorado. Unidade: Mbit/s. |
| improved_period | String | Body | Não | 1 | Este parâmetro está obsoleto. Duração da assinatura do pool de nós de borda aprimorado, em meses. |
| max_nodes | Long | Body | Não | 10 | Número máximo de nós criáveis no pool de borda. Especifique um valor >= 0. Zero indica que o limite é apenas a cota de nós do cluster. Geralmente, define-se > 0 para pools de borda. Pools do tipo ess ou pools de borda padrão usam 0. |
| node_config | Object | Body | Não | Configuração do nó. |
|
| kubelet_configuration | kubelet_config | Body | Não | Configuração do kubelet. |
Parâmetros de resposta
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
nodepool_id |
String |
np31da1b38983f4511b490fc62108a**** |
ID do pool de nós criado. |
|
task_id |
String |
T-613b19bbd160ad492800**** |
ID da tarefa. |
Exemplos
Exemplos de requisições
POST /clusters/c61da77e8bfbc4c4c999af2b51b65****/nodepools HTTP/1.1
Host:cs.aliyuncs.com
Content-Type:application/json
{
"auto_scaling" : {
"enable" : true,
"max_instances" : 10,
"min_instances" : 1,
"type" : "cpu",
"is_bond_eip" : true,
"eip_internet_charge_type" : "PayByBandwidth",
"eip_bandwidth" : 5
},
"kubernetes_config" : {
"cms_enabled" : true,
"cpu_policy" : "none",
"labels" : [ {
"key" : "env",
"value" : "prod"
} ],
"runtime" : "docker",
"runtime_version" : "19.03.5",
"taints" : [ {
"key" : "key",
"value" : "value",
"effect" : "NoSchedule"
} ],
"user_data" : "dGhpcyBpcyBhIGV4YW1wbGU=",
"node_name_mode" : "aliyun.com00055test"
},
"nodepool_info" : {
"name" : "cluster-demo",
"resource_group_id" : "rg-acfmyvw3wjmb****",
"type" : "ess"
},
"scaling_group" : {
"auto_renew" : true,
"auto_renew_period" : 1,
"data_disks" : [ {
"category" : "cloud_ssd",
"size" : 40,
"encrypted" : "true",
"auto_snapshot_policy_id" : "sp-2zej1nogjvovnz4z****",
"performance_level" : "PL1"
} ],
"image_id" : "aliyun_2_1903_x64_20G_alibase_20200529.vhd",
"instance_charge_type" : "PrePaid",
"instance_types" : [ "ecs.d1ne.2xlarge" ],
"key_pair" : "np-key-name",
"login_password" : "Hello1234",
"period" : 1,
"period_unit" : "Month",
"platform" : "AliyunLinux",
"rds_instances" : [ "rds-****" ],
"spot_strategy" : "NoSpot",
"spot_price_limit" : [ {
"instance_type" : "ecs.c6.large",
"price_limit" : "0.39"
} ],
"scaling_policy" : "release",
"security_group_id" : "sg-wz9a8g2mt6x5llu0****",
"security_group_ids" : [ "sg-wz9a8g2mt6x5llu0****" ],
"system_disk_category" : "cloud_efficiency",
"system_disk_size" : 120,
"system_disk_performance_level" : "PL1",
"tags" : [ {
"key" : "node-k-1",
"value" : "node-v-1"
} ],
"vswitch_ids" : [ "vsw-wz9mfnhmssud6eicu****" ],
"multi_az_policy" : "COST_OPTIMIZED",
"on_demand_base_capacity" : 0,
"on_demand_percentage_above_base_capacity" : 20,
"spot_instance_pools" : 5,
"spot_instance_remedy" : false,
"compensate_with_on_demand" : true,
"internet_charge_type" : "PayByTraffic",
"internet_max_bandwidth_out" : 5,
"image_type" : "AliyunLinux",
"deploymentset_id" : "ds-bp1d19mmbsv3jf6xxxxx",
"desired_size" : 0
},
"tee_config" : {
"tee_enable" : true
},
"management" : {
"enable" : false,
"auto_repair" : false,
"upgrade_config" : {
"auto_upgrade" : false,
"surge" : 0,
"surge_percentage" : 0,
"max_unavailable" : 1
}
},
"count" : 1,
"interconnect_mode" : "basic",
"interconnect_config" : {
"cen_id" : "cen-ey9k9nfhz0f*******",
"ccn_id" : "ccn-qm5i0i0q9yi*******",
"ccn_region_id" : "cn-shanghai",
"bandwidth" : 10,
"improved_period" : "1"
},
"max_nodes" : 10
}
Descrição dos exemplos de requisições
Create a node pool that has auto scaling enabled:
{
"ClusterId":"c61da77e8bfbc4c4c999af2b51b65****",
"nodepool_info":{
"name":"autoScale-demo",
"resource_group_id":"rg-acfmyvw3wjm****"
},
"scaling_group":{
"vswitch_ids":[
"vsw-wz9mfnhmssud6eic****"
],
"system_disk_category":"cloud_efficiency",
"system_disk_size":120,
"data_disks":[
],
"instance_types":[
"ecs.t6-c1m2.large"
],
"vpc_id":"vpc-wz984yvbd6lck22z3****",
"tags":[
],
"instance_charge_type":"PostPaid",
"login_password":"****",
"platform":"AliyunLinux",
"image_id":"aliyun_2_1903_x64_20G_alibase_20200529.vhd",
"rds_instances":[
],
"scaling_policy":"release"
},
"kubernetes_config":{
"cpu_policy":"none",
"cms_enabled":false,
"labels":[
{
"key":"workload_type",
"value":"cpu"
}
],
"taints":[
],
"user_data":"",
"runtime":"docker",
"runtime_version":"19.03.5"
},
"tee_config":{
"tee_enable":true
},
"auto_scaling":{
"enable":true,
"max_instances":10,
"min_instances":1,
"type":"cpu"
}
}
Exemplos de respostas de sucesso
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateClusterNodePoolResponse>
<nodepool_id>np31da1b38983f4511b490fc62108a****</nodepool_id>
</CreateClusterNodePoolResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"nodepool_id" : "np31da1b38983f4511b490fc62108a****"
}
Códigos de erro
Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.