Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-11-28 GMT+08:00

Visão geral

Auto scaling é um serviço que ajusta automaticamente e economicamente os recursos de serviço com base em seus requisitos de serviço e políticas configuradas.

Contexto

Cada vez mais aplicações são desenvolvidas com base no Kubernetes. Torna-se cada vez mais importante expandir rapidamente aplicações no Kubernetes para lidar com picos de serviço e reduzir aplicações fora do horário de pico para economizar recursos e reduzir custos.

Em um cluster do Kubernetes, o dimensionamento automático envolve pods e nós. Um pod é uma instância de aplicação. Cada pod contém um ou mais contêineres e é executado em um nó (servidor VM ou bare-metal). Se um cluster não tiver nós suficientes para executar novos pods, adicione nós ao cluster para garantir a execução do serviço.

No CCE, o dimensionamento automático é usado para serviços on-line, computação e treinamento em larga escala, treinamento e inferência de GPU de aprendizado profundo ou GPU compartilhada, mudanças periódicas de carga e muitos outros cenários.

Dimensionamento automático em CCE

O CCE oferece suporte ao dimensionamento automático para cargas de trabalho e nós.

  • Workload scaling: dimensionamento automático na camada de agendamento para alterar a capacidade de agendamento das cargas de trabalho. Por exemplo, você pode usar o HPA, um componente de escala na camada de agendamento, para ajustar o número de réplicas de uma aplicação. Ajustar o número de réplicas altera a capacidade de agendamento ocupada pela carga de trabalho atual, permitindo assim o dimensionamento na camada de agendamento.
  • Node scaling: dimensionamento automático na camada de recurso. Quando os nós de cluster planejados não podem permitir o agendamento da carga de trabalho, os recursos ECS são fornecidos para dar suporte ao agendamento.

O dimensionamento de carga de trabalho e o dimensionamento de nós podem funcionar separadamente ou em conjunto. Para mais detalhes, consulte Uso de HPA e CA para dimensionamento automático de cargas de trabalho e nós.

Componentes

Os componentes de dimensionamento da carga de trabalho são descritos a seguir:

Tabela 1 Componentes de dimensionamento da carga de trabalho

Tipo

Nome do componente

Descrição do componente

Referência

HPA

Kubernetes Metrics Server

Um componente interno do Kubernetes, que permite o dimensionamento horizontal de pods. Ele adiciona a janela de tempo de resfriamento em nível de aplicação e as funções de limite de dimensionamento com base no HPA.

Criação de uma política HPA para dimensionamento automático da carga de trabalho

CustomedHPA

HPA de CCE avançado

Um recurso de escalonamento automático aprimorado, usado para escalonamento automático de implantações com base em métricas (uso da CPU e uso da memória) ou em intervalos periódicos (um ponto de tempo específico todos os dias, todas as semanas, todos os meses ou todos os anos).

Criação de uma política CustomedHPA para o dimensionamento automático da carga de trabalho

Prometheus (EOM)

Monitoramento de cluster da nuvem nativa

Uma estrutura de monitoramento e alarme de sistema de código aberto, que coleta métricas públicas (uso de CPU e uso de memória) do kubelet no cluster do Kubernetes.

CronHPA

HPA de CCE avançado

CronHPA pode escalar dentro ou fora de um cluster em um tempo fixo. Ele pode trabalhar com políticas HPA para ajustar periodicamente o escopo de dimensionamento HPA, implementando o dimensionamento de carga de trabalho em cenários complexos.

Políticas CronHPA

Os componentes de dimensionamento de nó são descritos a seguir:

Tabela 2 Componentes de dimensionamento de nó

Nome do componente

Descrição do componente

Cenário de aplicação

Referência

Autoscaler de cluster do CCE

Um componente Kubernetes de código aberto para dimensionamento horizontal de nós, que é otimizado em termos de recursos de agendamento e dimensionamento automático.

Serviços on-line, aprendizagem profunda e computação em larga escala com orçamentos de recursos limitados

Criação de uma política de dimensionamento de nós