Escalonamento automático

O Kf usa o escalonador automático de pod horizontal (HPA, na sigla em inglês) para escalonar automaticamente o número de pods em um aplicativo. Quando o escalonamento automático está ativado para um aplicativo, um objeto HPA é criado e vinculado ao objeto do aplicativo. Em seguida, ele calcula dinamicamente a escala de destino e a define para o aplicativo.

Como funciona o escalonamento do Kf

O número de pods implantados para um aplicativo Kf é controlado pelo campo replica do objeto de implantação subjacente. O número de destino das réplicas de implantação é definido por meio do campo replicas do aplicativo.

O escalonamento pode ser feito manualmente com o comando kf scale. Este comando é desativado quando o escalonamento automático está ativado para evitar destinos conflitantes.

Como funciona o escalonador automático de pod horizontal do Kubernetes

O escalonador automático de pod horizontal (HPA) é implementado como um recurso da API Kubernetes (o objeto HPA) e um loop de controle (controlador HPA), que calcula periodicamente o número de réplicas desejadas com base na utilização atual de recursos. O controlador HPA passa então o número para o objeto de destino que implementa o sub-recurso Scale. O escalonamento real é delegado ao objeto subjacente e ao respectivo controlador. Você encontra mais informações na documentação do Kubernetes.

Como o escalonador automático determina quando escalonar

Periodicamente, o controlador do HPA consulta a utilização de recursos com as métricas especificadas em cada definição de HorizontalPodAutoscaler. O controlador recebe as métricas da API de métricas de recursos para cada pod. Em seguida, o controlador calcula o valor de utilização como uma porcentagem da solicitação de recurso equivalente. O número pretendido de réplicas é calculado com base na proporção entre a porcentagem atual e a porcentagem pretendida. Leia mais sobre o algoritmo de escalonamento automático na documentação do Kubernetes.

Métrica

O Kafka usa o HPA v1 que é compatível apenas com a CPU como a métrica de destino.

Como funciona o escalonador automático horizontal do Kubernetes com o Kf

Quando o escalonamento automático está ativado para um aplicativo Kf, o controlador do Kf cria um objeto HPA com base nos limites de escalonamento e nas regras especificadas no aplicativo. Em seguida, o controlador HPA busca as especificações do objeto HPA e escalona o aplicativo de acordo.

O objeto HPA será excluído se o escalonamento automático for desativado ou se o aplicativo correspondente for excluído.