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.