O que é HPA em Kubernetes?
O HPA significa Autoscaler Horizontal em Kubernetes, e modifica a estrutura da carga de trabalho de tráfego de Kubernetes aumentando ou diminuindo automaticamente o número de pods de acordo com a capacidade de utilização da CPU. Em contraste com a modificação dos recursos que são atribuídos a um único recipiente, essa escala é realizada horizontalmente porque afeta o número total de instâncias da CPU.
Como o HPA funciona em Kubernetes?
Todos estamos cientes de que a CPU lida com processos. Assim que implantarmos e definirmos as réplicas, os demônios estão todos definidos e podemos adicionar manualmente mais pods ao conjunto de implantação ou réplica. Kubernetes fornece auto -cóguras horizontais para automatizar este processo. HPA é o controlador usado para controlar a utilização da CPU através da automação. Um aplicativo Kubernetes escalas automaticamente com base em cargas de trabalho. Se o número de tráfego cair e a utilização da CPU diminuir, ele diminui. O aplicativo Kubernetes escala quando as cargas de trabalho aumentam criando mais réplicas do aplicativo Kubernetes.
Pré -requisitos:
Os seguintes são obrigados a executar o HPA em seu aplicativo Kubernetes:
Neste artigo, aprenderemos todos os detalhes de passo com exemplos úteis. Se você é iniciante, este é o lugar certo para você aprender sobre os métodos Kubernetes. Explicaremos sobre o processo de configuração da HPA em diferentes etapas. Vamos começar!
Etapa 1: Kubernetes Startup de contêineres
Nesta etapa, começamos com o contêiner Kubernetes, que é um minikube. Executamos o seguinte comando para iniciar o Minikube:
> Minikube StartMinikube começa após a execução do comando. O Minikube nos fornece um recipiente local de Kubernetes no qual realizamos ações diferentes.
Etapa 2: Execute o servidor Php-Apache no arquivo YAML
Nesta etapa, criamos um arquivo de configuração depois que um contêiner é criado para iniciar uma implantação. Executamos o seguinte comando para criar um arquivo YAML:
> nano php.YamlA seguir, é a execução do comando mencionado na captura de tela em anexo.
O arquivo de configuração contém diferentes tipos de dados, como o nome do arquivo, a especificação de contêineres e a especificação do seletor. Este contêiner é executado com a ajuda de “Registro.K8S.Imagem de io/hpa-exemplo ”, como podemos ver na captura de tela a seguir:
Esta também é a parte do arquivo YAML:
Etapa 3: Crie uma implantação e serviços em Kubernetes
Nesta etapa, criamos uma implantação e a declaramos como um serviço usando a captura de tela anexada. Executamos o seguinte comando no terminal:
> kubectl Aplicar -f php.YamlApós essa execução do comando, o servidor de implantação Php-Apache é criado. Junto com isso, o serviço é criado com sucesso.
Etapa 4: Crie um Autoscaler Horizontal em Kubernetes
Nesta etapa, criamos um Autoscaler horizontal usando Kubectl no servidor de implantação. Para esse fim, executamos o seguinte comando:
> implantação automática de Kubectl php -apache -cpu -percent = 50 -min = 1 -max = 10Quando executamos este comando, o Autoscaler horizontal é criado com sucesso. No comando anterior, também inicializamos os valores MIN e Max. Isso significa que o Autoscaler horizontal é mantido entre 1 a 10 réplicas da vagem. Tudo isso é controlado pelo servidor de implantação php-apache.
Etapa 5: verifique o status de autoscaler horizontal em Kubernetes
Nesta etapa, queremos obter ou verificar o status da HPA - se house hpa estiver presente em Kubernetes ou não. Executamos o comando anexado para esse fim:
> Kubectl Obtenha HPAComo vimos na captura de tela previamente ligada, um HPA está presente em nosso contêiner e seu nome é "php-apache". A referência deste pod é "implantação/php-apache". As metas nos mostram que o consumo da CPU deste pod é desconhecido de 50%, o que significa que nenhuma solicitação de cliente é recebida. O número mínimo do pod é 1 e o número máximo de vagens é 10. As réplicas são "0" e a idade deste pod é "7s".
Etapa 6: Aumente uma carga de trabalho ou tráfego no servidor
Nesta etapa, nos conectamos à implantação criada anteriormente para criar um pod e verificar o HPA no ambiente real para ver se o HPA pode gerenciar os recursos ou não. Também aumentamos a carga no cluster executando o seguinte comando subsequente:
> kubectl run -i -tty load -generator -rm -Image = BusyBox: 1.28 -restart = nunca - /bin /sh -c “enquanto durma 0.01; do wget -q -o- http: // php -apache; feito"Etapa 7: Assista ao HPA após a execução
Podemos assistir facilmente a lista de HPA executando o seguinte comando:
> kubectl Obtenha hpa php-apache-watchDepois de executar o comando mencionado anteriormente, o resultado parece o mesmo da Etapa 6 deste artigo.
Etapa 8: mostre a implantação de Kubernetes
Nesta etapa, buscamos a lista de implantações de Kubernetes apenas executando o seguinte comando:
> Kubectl Obtenha implantação php-apacheEtapa 9: Crie mais réplicas
Nesta etapa, criamos a réplica do mesmo pod em Kubernetes com o mesmo comando:
> kubectl Obtenha hpa php -apache -watchEste comando observa os detalhes do pod após a execução. Podemos ver esse capo detalhes na captura de tela anteriormente mencionada.
Etapa 10: Alistar a implantação novamente
Nesta etapa, executamos o mesmo comando para mostrar a implantação. O comando é o seguinte:
> Kubectl Obtenha implantação php-apacheConclusão
Este artigo é sobre HPA. O HPA fornece uma instalação para automação que está relacionada à utilização da CPU. Aprendemos todos os detalhes de passo para a configuração de HPA. Esperamos que você também entenda o funcionamento do HPA e possa fazer essa prática em seu ambiente.