Configurar HPA em Kubernetes

Configurar HPA em Kubernetes
Neste artigo, discutiremos a configuração da vagem horizontal automática em Kubernetes. Este tópico é muito interessante e informativo em Kubernetes. Há muita confusão sobre como os contêineres são escalados horizontalmente em Kubernetes. Neste editorial, falaremos sobre todos os detalhes de passo com capturas de tela relevantes. Se você não tem idéia sobre Kubernetes, passe por nossos artigos anteriores relacionados a Kubernetes. HPA é a escala automática de vagens, horizontalmente. Vamos dar uma olhada nas seguintes seções para mais compreensão.

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:

  • A versão mais recente instalada do Ubuntu em seu sistema.
  • Se você é um usuário do Windows, instale a caixa virtual primeiro e execute o Ubuntu ou o Linux virtualmente em seu sistema.
  • A versão mais recente instalada do Kubernetes em seu sistema com a versão 1.23.
  • Você deve ter uma idéia sobre o cluster de Kubernetes e a ferramenta de linha de comando kubectl na qual executamos os comandos. Você deve conhecer a configuração deles.

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 Start

Minikube 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.Yaml

A 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.Yaml

Apó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 = 10

Quando 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 HPA

Como 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-watch

Depois 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-apache

Etapa 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 -watch

Este 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-apache

Conclusã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.