Escalonamento automático

O Kf usa o Escalonador Automático Horizontal de Pods do Kubernetes (HPA) para escalonar automaticamente os pods em um aplicativo. Quando o escalonamento automático está ativado para um app, um objeto HPA é criado e vinculado ao objeto do aplicativo. Em seguida, ele calcula a escala de destino de forma dinâmica e a define para o aplicativo.

Como funciona o escalonamento do Kf

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

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

Como o Escalonador Automático Horizontal de Pods do Kubernetes funciona

O Escalonador Automático Horizontal de Pods (HPA) é implementado como um recurso da API do Kubernetes (o objeto HPA) e um loop de controle (o controlador HPA), que calcula periodicamente o número de réplicas com base na utilização atual de recursos. O controlador HPA passa o número para o objeto de destino que implementa o sub-recurso Scale. O escalonamento real é delegado ao objeto e ao respectivo controlador. Encontre mais informações na documentação do Kubernetes.

Como o Escalonador Automático determina quando escalonar

Periodicamente, o controlador HPA consulta a utilização de recursos nas métricas especificadas em cada definição HorizontalPodAutoscaler. O controlador recebe as métricas de cada pod da API de métricas de recursos. Depois, o controlador calcula o valor de utilização como uma porcentagem da solicitação equivalente de recursos. O número 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étricas

O Kf usa o HPA v1, que só oferece suporte à CPU como métrica de destino.

Como o Escalonador Automático Horizontal do Kubernetes funciona com o Kf

Quando o escalonamento automático está ativado para um aplicativo do Kf, o controlador 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 do HPA e escalona o aplicativo de acordo com elas.

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