Cria e gerencia um grupo de escalonamento usando um arquivo de configuração.
Descrição da operação
A operação ApplyScalingGroup suporta o formato de definição de recurso Deployment do Kubernetes para criar rapidamente grupos de escalonamento do Elastic Container Instance (ECI). Também suporta anotações estendidas do ECI para YAML do Kubernetes. Para obter mais informações, consulte a seção "Anotações suportadas".
Mapeamento entre configurações YAML e grupos de escalonamento: O nome de um grupo de escalonamento é mapeado pela tupla namespace, kind e name na definição YAML. Na mesma região, a mesma configuração YAML só pode ser mapeada para o mesmo grupo de escalonamento. Exemplo: Se você usar uma configuração YAML de Deployment com o nome nginx no namespace padrão, ela será mapeada para um grupo de escalonamento chamado k8s_default_Deployment_nginx na mesma região.
Lógica para gerenciar grupos de escalonamento com base em configurações YAML:
Se o grupo de escalonamento mapeado para a configuração YAML existir, o grupo de escalonamento será atualizado com base na configuração YAML.
Se o grupo de escalonamento mapeado para a configuração YAML não existir, um grupo de escalonamento correspondente será criado com base na configuração YAML.
Precauções
Se a configuração YAML não especificar as anotações de VPC, vSwitch e grupo de segurança, o sistema realizará a criação automática de uma VPC padrão, criará um vSwitch padrão na VPC e criará o grupo de segurança padrão do Auto Scaling ess-default-sg. Por padrão, a política do grupo de segurança permite tráfego nas portas TCP 22 e 3389, e no protocolo ICMP (IPv4). Se você tiver outros requisitos de porta e protocolo, poderá modificar a política do grupo de segurança.
Ao usar uma imagem pública, você deve ativar o acesso à rede pública e definir as configurações da anotação de pod k8s.aliyun.com/eci-with-eip para ativar o elastic IP address (EIP).
Depois que a operação ApplyScalingGroup aplica a configuração YAML, o grupo de escalonamento e a configuração de escalonamento entram em vigor imediatamente. Se replicas for definido com um valor maior que 0, a criação automática de recursos será acionada.
Anotações suportadas
As anotações são referenciadas em Anotação de Pod do ECI.
| Parâmetro | Exemplo | Descrição |
| k8s.aliyun.com/ess-scaling-group-min-size | 1 | O número mínimo de instâncias no grupo de escalonamento. Valor padrão: 0. |
| k8s.aliyun.com/ess-scaling-group-max-size | 20 | O número máximo de instâncias no grupo de escalonamento. Valor padrão: max(replicas, 30). |
| k8s.aliyun.com/eci-ntp-server | 100.100.. | O servidor NTP. |
| k8s.aliyun.com/eci-use-specs | 2-4Gi | As especificações da instância, como 2 vCPUs e 4 GiB de memória. Para obter mais informações, consulte Criar um pod usando vários tipos de instância. |
| k8s.aliyun.com/eci-vswitch | vsw-bp1xpiowfm5vo8o3c**** | O ID do vSwitch. Você pode especificar vários vSwitches para implementar o recurso de zona multiativa. |
| k8s.aliyun.com/eci-security-group | sg-bp1dktddjsg5nktv**** | O ID do grupo de segurança. Requisitos:
|
| k8s.aliyun.com/eci-sls-enable | "false" | Especifica se a coleta de logs deve ser desativada. O valor false indica que a coleta de logs está desativada. Ao coletar logs usando CRDs do Simple Log Service, se você não precisar coletar logs para pods específicos, poderá configurar esta anotação para desativar o recurso de coleta de logs. Isso impede que o sistema realize a criação automática do Logtail e desperdice recursos. |
| k8s.aliyun.com/eci-spot-strategy | SpotAsPriceGo | A política de lance para a instância spot. Valores válidos:
|
| k8s.aliyun.com/eci-spot-price-limit | "0.5" | O preço máximo por hora para a instância spot. O valor é preciso até três casas decimais. Este parâmetro entra em vigor apenas quando as configurações de k8s.aliyun.com/eci-spot-strategy são SpotWithPriceLimit. |
| k8s.aliyun.com/eci-with-eip | "true" | Especifica se deve ser realizada a criação automática e anexado um EIP. O valor true indica que um EIP é criado e anexado automaticamente. |
| k8s.aliyun.com/eci-data-cache-bucket | default | O bucket do DataCache. Este parâmetro é obrigatório quando você usa o DataCache para criar um pod. |
| k8s.aliyun.com/eci-data-cache-pl | PL1 | O nível de desempenho (PL) do disco em nuvem criado com base no DataCache. Por padrão, é usado um SSD padrão ESSD, e o PL padrão é PL1. |
| k8s.aliyun.com/eci-data-cache-provisionedIops | "40000" | Os IOPS de leitura e gravação provisionados do disco em nuvem ESSD AutoPL. Valores válidos: 0 a min{50000, 1000 × Capacidade - Desempenho de linha de base}. Desempenho de linha de base = min{1800 + 50 × Capacidade, 50000}. Para obter mais informações, consulte Discos em nuvem ESSD AutoPL. Se esta anotação for adicionada, o disco em nuvem criado com base no DataCache será um disco em nuvem ESSD AutoPL. |
| k8s.aliyun.com/eci-data-cache-burstingEnabled | "true" | Especifica se o recurso de burst deve ser ativado para o disco em nuvem ESSD AutoPL. Para obter mais informações, consulte Discos em nuvem ESSD AutoPL. Se esta anotação for adicionada, o disco em nuvem criado com base no DataCache será um disco em nuvem ESSD AutoPL. |
| k8s.aliyun.com/eci-custom-tags | "env:test,name:alice" | A string de rótulo anexada ao pod. Você pode anexar até três rótulos. Separe a chave do rótulo e o valor do rótulo com um caractere de dois pontos de meia largura e separe vários rótulos com um caractere de vírgula de meia largura. |
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
ess:ApplyScalingGroup |
create |
*Todos os recursos.
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| Content |
string |
Sim |
O conteúdo do arquivo de configuração. |
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx annotations: k8s.aliyun.com/eip-bandwidth: 10 k8s.aliyun.com/eci-with-eip: true spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80 |
| RegionId |
string |
Não |
O ID da região. |
cn-hangzhou |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
Esquema da resposta. |
||
| RequestId |
string |
O ID da solicitação. |
CC107349-57B7-4405-B1BF-9BF5AF7F**** |
| ScalingGroupId |
string |
O ID do grupo de escalonamento aplicado. |
asg-bp1igpak5ft1flyp**** |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "CC107349-57B7-4405-B1BF-9BF5AF7F****",
"ScalingGroupId": "asg-bp1igpak5ft1flyp****"
}
Códigos de erro
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.