Chame a operação ModifyClusterNodePool para modificar a configuração de um node pool.
Depuração
Cabeçalho da requisição
Esta operação utiliza apenas cabeçalhos de requisição comuns. Para mais informações, consulte Parâmetros de requisição comuns.
Sintaxe da requisição
PUT /clusters/{ClusterId}/nodepools/{NodepoolId} HTTP/1.1
Parâmetros da requisição
Parâmetro | Tipo | Posição | Obrigatório | Exemplo | Descrição |
ClusterId | String | Path | Yes | c23421cfa74454bc8b37163fd19af**** | O ID do cluster. |
NodepoolId | String | Path | Yes | p31da1b38983f4511b490fc62108a**** | O ID do node pool. |
Object | Body | No | Os parâmetros da requisição. | ||
auto_scaling | Object | Body | No | As configurações de auto scaling. | |
eip_bandwidth | Long | Body | No | 5 | A largura de banda máxima do elastic IP address (EIP) associado ao node pool. |
eip_internet_charge_type | String | Body | No | PayByBandwidth | O método de faturamento do EIP. Valores válidos:
Valor padrão: |
enable | Boolean | Body | No | true | Define se o auto scaling deve ser ativado.
Valor padrão: |
is_bond_eip | Boolean | Body | No | true | Define se um EIP deve ser associado a um node pool. Valores válidos:
Valor padrão: |
max_instances | Long | Body | No | 10 | O número máximo de instâncias Elastic Compute Service (ECS) que podem ser criadas no node pool. |
min_instances | Long | Body | No | 2 | O número mínimo de instâncias ECS que devem ser mantidas no node pool. |
type | String | Body | No | cpu | Os tipos de instância que podem ser usados para o auto scaling de um node pool. Valores válidos:
Valor padrão: |
kubernetes_config | Object | Body | No | A configuração do cluster. | |
cms_enabled | Boolean | Body | No | true | Define se o agente do CloudMonitor deve ser instalado nos nós ECS. Após instalar o agente do CloudMonitor nos nós ECS, você pode visualizar informações de monitoramento sobre as instâncias no console do CloudMonitor. Recomendamos a instalação do agente do CloudMonitor. Valores válidos:
Valor padrão: |
cpu_policy | String | Body | No | none | A política de gerenciamento de CPU dos nós em um node pool. As seguintes políticas são suportadas se a versão do Kubernetes do cluster for 1.12.6 ou posterior.
Valor padrão: |
labels | Array of tag | Body | No | Os rótulos dos nós no node pool. Você pode adicionar rótulos aos nós no cluster. A adição de rótulos deve seguir as regras abaixo:
| |
runtime | String | Body | No | docker | O nome do runtime de contêiner. |
runtime_version | String | Body | No | 19.03.5 | A versão do runtime de contêiner. |
taints | Array of taint | Body | No | As configurações de taints do nó. | |
user_data | String | Body | No | IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi | Os dados definidos pelo usuário do node pool. Para mais informações, consulte Preparar dados do usuário. |
nodepool_info | Object | Body | No | As configurações do node pool. | |
name | String | Body | No | default-nodepool | O nome do node pool. O nome deve ter de 1 a 63 caracteres e pode conter dígitos, letras e hífens (-). Não pode começar com hífen (-). |
resource_group_id | String | Body | No | rg-acfmyvw3wjm**** | O ID do grupo de recursos ao qual o node pool pertence. |
scaling_group | Object | Body | No | As configurações do grupo de dimensionamento. | |
data_disks | Array of data_disk | Body | No | As configurações dos discos de dados montados nos nós do node pool. É possível montar de 0 a 10 discos de dados. O limite máximo é de 10 discos de dados por nó no node pool. | |
instance_charge_type | String | Body | No | PostPaid | O método de faturamento dos nós em um node pool. Valores válidos:
Valor padrão: |
period | Long | Body | No | 1 | A duração da assinatura dos nós no node pool. Este parâmetro entra em vigor e é obrigatório apenas quando você define Se você especificar |
period_unit | String | Body | No | Month | O ciclo de faturamento dos nós. Este parâmetro é obrigatório se O ciclo de faturamento é medido apenas em meses. Valor padrão: |
auto_renew | Boolean | Body | No | true | Define se a renovação automática deve ser ativada para os nós no node pool. Este parâmetro entra em vigor apenas quando você define
Valor padrão: |
auto_renew_period | Long | Body | No | 1 | A duração da renovação automática. Este parâmetro entra em vigor e é obrigatório apenas quando você define Se você especificar |
platform | String | Body | No | AliyunLinux | A plataforma do sistema operacional. Valores válidos:
|
image_id | String | Body | No | aliyun_2_1903_x64_20G_alibase_20200904.vhd | O ID da imagem personalizada. Chame a operação |
spot_strategy | String | Body | No | SpotWithPriceLimit | A política de lance para instâncias preemptíveis. Valores válidos:
Para mais informações, consulte Instâncias preemptíveis. |
spot_price_limit | Array | Body | No | As configurações de lance das instâncias preemptíveis. | |
instance_type | String | Body | No | ecs.c6.large | O tipo de instância das instâncias preemptíveis. |
price_limit | String | Body | No | 0.39 | O preço máximo de lance de uma instância preemptível. Unidade: USD/hora. |
instance_types | Array of String | Body | No | ecs.c6.large | O tipo de instância. Para mais informações, consulte Categorias de instâncias. |
key_pair | String | Body | No | pro-nodepool | O nome do par de chaves. Defina este parâmetro ou o parâmetro |
login_password | String | Body | No | Hello1234 | A senha para login SSH. Defina este parâmetro ou o parâmetro |
rds_instances | Array of String | Body | No | rds-xxx | Os IDs das instâncias ApsaraDB RDS. Ao especificar a lista de instâncias RDS, as instâncias ECS no cluster são adicionadas automaticamente à lista de permissões das instâncias RDS. |
scaling_policy | String | Body | No | release | O modo de dimensionamento do grupo de dimensionamento. Valores válidos:
|
system_disk_category | String | Body | No | cloud_efficiency | O tipo de disco do sistema. Valores válidos:
Valor padrão: |
system_disk_size | Long | Body | No | 120 | O tamanho do disco do sistema de um nó. Unidade: GiB. Valores válidos: 20 a 500. O valor deste parâmetro deve ser pelo menos 20 e maior ou igual ao tamanho da imagem especificada. O valor padrão é o maior entre 40 e o tamanho da imagem. |
system_disk_performance_level | String | Body | No | PL1 | O nível de desempenho (PL) do disco do sistema que você deseja usar para o nó. Este parâmetro tem efeito apenas para SSDs aprimorados (ESSDs). É possível especificar um PL mais alto se você aumentar o tamanho do disco do sistema. Para mais informações, consulte SSDs Aprimorados. |
tags | Array of tag | Body | No | Os rótulos que você deseja adicionar às instâncias ECS. Uma chave deve ser única e não pode exceder 128 caracteres. Nem chaves nem valores podem começar com aliyun ou acs:. Nem chaves nem valores podem conter https:// ou http://. | |
vswitch_ids | Array of String | Body | No | vsw-wz9uwxhawmtzg7u9h**** | Os IDs dos vSwitches. |
multi_az_policy | String | Body | No | BALANCE | A política de dimensionamento de instâncias ECS para um grupo de dimensionamento multizona. Valores válidos:
Valor padrão: |
on_demand_base_capacity | Long | Body | No | 0 | O número mínimo de instâncias de pagamento conforme o uso que devem ser mantidas no grupo de dimensionamento. Valores válidos: 0 a 1000. Se o número de instâncias de pagamento conforme o uso for menor que o valor deste parâmetro, o Auto Scaling cria preferencialmente instâncias de pagamento conforme o uso. |
on_demand_percentage_above_base_capacity | Long | Body | No | 20 | A porcentagem de instâncias de pagamento conforme o uso entre as instâncias extras que excedem o número especificado por |
spot_instance_pools | Long | Body | No | 5 | O número de tipos de instância disponíveis. O Auto Scaling cria instâncias preemptíveis de múltiplos tipos de instância disponíveis com o menor custo. Valores válidos: 1 a 10. |
spot_instance_remedy | Boolean | Body | No | false | Define se instâncias preemptíveis devem ser suplementadas quando o número de instâncias preemptíveis cair abaixo do mínimo especificado. Se este parâmetro for definido como true, quando o grupo de dimensionamento receber uma mensagem do sistema informando que uma instância preemptível será recuperada, o grupo tentará criar uma nova instância para substituir esta instância. Valores válidos:
|
compensate_with_on_demand | Boolean | Body | No | true | Define se instâncias de pagamento conforme o uso devem ser criadas automaticamente para atender ao número necessário de instâncias ECS caso instâncias preemptíveis não possam ser criadas devido a motivos como custo ou estoque insuficiente. Este parâmetro tem efeito apenas quando
|
internet_charge_type | String | Body | No | PayByBandwidth | O método de medição do endereço IP público. Valores válidos:
|
internet_max_bandwidth_out | Long | Body | No | 5 | 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. |
desired_size | Long | Body | No | 2 | O número esperado de nós no node pool. |
private_pool_options | Object | Body | No | As configurações do node pool privado. | |
id | String | Body | No | eap-bp67acfmxazb4**** | O ID do node pool privado. |
match_criteria | String | Body | No | Open | O tipo de node pool privado. Este parâmetro especifica o tipo de pool privado que você deseja usar para criar instâncias. Um node pool privado é gerado quando uma garantia de elasticidade ou um serviço de reserva de capacidade entra em vigor. O sistema seleciona um node pool privado para iniciar instâncias. Valores válidos:
|
tee_config | Object | Body | No | As configurações de computação confidencial para o cluster. | |
tee_enable | Boolean | Body | No | false | Define se a computação confidencial deve ser ativada para o cluster. Valores válidos:
Valor padrão: |
management | Object | Body | No | As configurações do recurso de node pool gerenciado. | |
enable | Boolean | Body | No | true | Define se o recurso de node pool gerenciado deve ser ativado. Valores válidos:
Valor padrão: |
auto_repair | Boolean | Body | No | true | Define se o reparo automático deve ser ativado. Este parâmetro tem efeito apenas quando você especifica
Valor padrão: |
upgrade_config | Object | Body | No | As configurações de atualização automática. As configurações têm efeito apenas quando você especifica | |
auto_upgrade | Boolean | Body | No | true | Define se a atualização automática deve ser ativada. Valores válidos:
Valor padrão: |
surge | Long | Body | No | 5 | O número de nós que são temporariamente adicionados ao node pool durante uma atualização automática. Nós adicionais são usados para hospedar as cargas de trabalho dos nós que estão sendo atualizados. Nota Recomendamos especificar o número de nós adicionais com um valor menor que o número de nós existentes no node pool. |
surge_percentage | Long | Body | No | 0 | A porcentagem de nós temporários em relação aos nós no node pool. Defina este parâmetro ou |
max_unavailable | Long | Body | No | 1 | O 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 | No | A política de reparo automático de nós. | |
restart_node | Boolean | Body | No | true | Define se o ACK tem permissão para reiniciar nós automaticamente após repará-los. Valores válidos:
|
auto_vul_fix | Boolean | Body | No | true | Define se o ACK tem permissão para corrigir vulnerabilidades CVE automaticamente. Valores válidos:
|
auto_vul_fix_policy | Object | Body | No | A política de correção automática de CVE. | |
restart_node | Boolean | Body | No | true | Define se o ACK tem permissão para reiniciar nós automaticamente após corrigir vulnerabilidades CVE. Valores válidos:
|
vul_level | String | Body | No | asap,nntf | Os níveis de gravidade das vulnerabilidades que o ACK tem permissão para corrigir automaticamente. Vários níveis de gravidade são separados por vírgulas (,). |
auto_upgrade | Boolean | Body | No | true | Define se a atualização automática deve ser ativada. Valores válidos:
|
auto_upgrade_policy | Object | Body | No | A política de atualização automática. | |
auto_upgrade_kubelet | Boolean | Body | No | true | Define se o ACK tem permissão para atualizar o kubelet automaticamente. Valores válidos:
|
update_nodes | Boolean | Body | No | true | Define se as informações do nó, como rótulos e taints, devem ser atualizadas. |
Parâmetros de resposta
|
Parâmetro |
Tipo |
Exemplo |
Descrição |
|
task_id |
String |
T-5fd211e924e1d00787000293 |
O ID da tarefa. |
|
nodepool_id |
String |
np737c3ac1ac684703b9e10673aa2c**** |
O ID do node pool. |
Exemplos
Exemplos de requisições
PUT /clusters/c23421cfa74454bc8b37163fd19af****/nodepools/p31da1b38983f4511b490fc62108a**** HTTP/1.1
Host:cs.aliyuncs.com
Content-Type:application/json
{
"auto_scaling" : {
"eip_bandwidth" : 5,
"eip_internet_charge_type" : "PayByBandwidth",
"enable" : true,
"is_bond_eip" : true,
"max_instances" : 10,
"min_instances" : 2,
"type" : "cpu"
},
"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" : "IyEvdXNyL2Jpbi9iYXNoCmVjaG8gIkhlbGxvIEFDSyEi"
},
"nodepool_info" : {
"name" : "default-nodepool",
"resource_group_id" : "rg-acfmyvw3wjm****"
},
"scaling_group" : {
"data_disks" : [ {
"category" : "cloud_ssd",
"size" : 40,
"encrypted" : "true",
"auto_snapshot_policy_id" : "sp-2zej1nogjvovnz4z****",
"performance_level" : "PL1"
} ],
"instance_charge_type" : "PostPaid",
"period" : 1,
"period_unit" : "Month",
"auto_renew" : true,
"auto_renew_period" : 1,
"platform" : "AliyunLinux",
"image_id" : "aliyun_2_1903_x64_20G_alibase_20200904.vhd",
"spot_strategy" : "SpotWithPriceLimit",
"spot_price_limit" : [ {
"instance_type" : "ecs.c6.large",
"price_limit" : "0.39"
} ],
"instance_types" : [ "ecs.c6.large" ],
"key_pair" : "pro-nodepool",
"login_password" : "Hello1234",
"rds_instances" : [ "rds-xxx" ],
"scaling_policy" : "release",
"system_disk_category" : "cloud_efficiency",
"system_disk_size" : 120,
"system_disk_performance_level" : "PL1",
"tags" : [ {
"key" : "env",
"value" : "prod"
} ],
"vswitch_ids" : [ "vsw-wz9uwxhawmtzg7u9h****" ],
"multi_az_policy" : "BALANCE",
"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" : "PayByBandwidth",
"internet_max_bandwidth_out" : 5,
"desired_size" : 2,
"private_pool_options" : {
"id" : "eap-bp67acfmxazb4****",
"match_criteria" : "Open"
}
},
"tee_config" : {
"tee_enable" : false
},
"management" : {
"enable" : true,
"auto_repair" : true,
"upgrade_config" : {
"auto_upgrade" : true,
"surge" : 5,
"surge_percentage" : 0,
"max_unavailable" : 1
}
},
"update_nodes" : true
}
Exemplos de respostas de sucesso
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<ModifyClusterNodePoolResponse>
<task_id>T-5fd211e924e1d00787000293</task_id>
<nodepool_id>np737c3ac1ac684703b9e10673aa2c****</nodepool_id>
</ModifyClusterNodePoolResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"task_id" : "T-5fd211e924e1d00787000293",
"nodepool_id" : "np737c3ac1ac684703b9e10673aa2c****"
}
Códigos de erro
Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.