O que é escala automática Kubectl?
O dimensionamento automático é o principal recurso do cluster Kubernetes que faz com que os recursos sejam atualizados automaticamente sem o incômodo de fazê-lo manualmente. É um processo que consome muito tempo e recursos para atualizar os recursos exigentes manualmente. O escalonamento automático do Kubernetes fornece uma facilidade automática para otimizar os recursos.
O dimensionador automático pode criar e destruir o número de nós conforme o requisito. O dimensionamento automático reduz o desperdício de recursos. O dimensionamento automático do Kubectl escolhe automaticamente os pods que estão sendo executados no momento dentro do cluster Kubernetes.
Existem dois tipos de dimensionamento: (1) HorizontalPodScaler e (2) dimensionador vertical. O dimensionador horizontal é diferente do dimensionador vertical. O HorizontalPodScaler auxilia na diminuição ou aumento de pods quando necessário. Por outro lado, o scaler vertical utiliza recursos como CPU e memória.
Aqui estão todos os passos que você pode seguir em seu sistema e veja a saída para um melhor entendimento.
Etapa 1: Iniciando um Cluster Minikube
Na primeira etapa, inicie a ferramenta minikube para executar o cluster Kubernetes para que possamos executar o comando “kubectl autoscale”. Você pode configurar seus nós, pods e até mesmo um cluster no ambiente Kubernetes usando o cluster minikube. Para isso, use o seguinte comando para manter o minikube no modo ativo:
~$ iniciar minikube
Como você pode ver na captura de tela de saída a seguir, esse comando habilita o cluster minikube e torna o ambiente do Kubernetes utilizável:
Etapa 2: obtenha os detalhes do pod
Nesta etapa, o cluster Kubernetes está sendo executado com êxito. Agora, obtemos os detalhes do pod no cluster. O pod no Kubernetes é a coleção de unidades que compartilham recursos. O script a seguir é executado executando o seguinte comando em seu cluster minikube:
~$ kubectl obter podsUsando o comando anterior que é “kubectl get pods”, podemos obter a lista de todos os pods que rodam no cluster Kubernetes.
Depois de executar o comando “get pods”, obtemos a seguinte saída:
Etapa 3: obtenha as implantações do pod
No comando anterior “kubectl get pods”, obtemos os detalhes dos pods. Agora, usamos o comando “get deploy” para obter a lista dos deploys criados. O seguinte script é executado para esta finalidade:
~$ kubectl obter implantaçõesDepois de executar o comando, a captura de tela a seguir mostra a saída:
Etapa 4: implantação de dimensionamento automático
O comando autoscale é utilizado para fazer a seleção de automação dos pods que rodam no cluster. Ao implantar o dimensionamento automático no cluster, inserimos e encerramos automaticamente o número de nós. O script a seguir é executado no cluster minikube e mostra o nome do arquivo, pods mínimos e pods máximos onde os pods devem estar entre 2 a 10:
~$ implantação de escala automática kubectl nginx1-deployment1 --min = 2 --max = 10Depois de executar o comando, a seguinte saída é gerada:
Etapa 5: criar um arquivo YAML do Kubernetes
Nesta etapa, você aprenderá a criar o arquivo YAML no cluster. O arquivo YAML é útil para implantação e teste de aplicativos. Existem vários tipos no Kubernetes para criar e editar o arquivo.
Neste artigo, usamos o comando “nano” para criar o arquivo YAML porque é a maneira mais fácil e a melhor escolha para iniciantes.
Siga as etapas fornecidas aqui para criar um arquivo YAML usando o nano:
- Para criar um novo arquivo ou alterar um existente, navegue até o local do diretório desejado.
- Digite 'nano'. Depois disso, escreva o nome do arquivo. Por exemplo, se você deseja criar um novo nome de arquivo, escreva o nome – “deploo.yaml”.
Execute o seguinte script e crie um arquivo YAML no diretório do projeto:
~$ nano deploo.yamlApós criar o arquivo “deploo.yaml”, o próximo passo é configurar o arquivo YAML. Nós explicamos isso na próxima etapa.
Etapa 6: conteúdo do arquivo YAML
Nesta etapa, podemos configurar facilmente o servidor Apache e os arquivos PHP. Antes de utilizarmos o HorizontalPodScaler, devemos configurar o monitor de carga de trabalho. Como o trecho de código a seguir mostra o tipo: implantação, a porta do navegador da Web é 90 e o limite da CPU é 200m.
Você pode ver as informações completas do arquivo “deploo.yaml” aqui:
apiVersion : aplicativos/v1tipo : Implantação
metadados :
nome : php
especificação :
seletor :
matchLabels :
correr : php-apache
modelo :
metadados :
rótulos :
correr : php-apache
especificação :
containers :
- nome : php
imagem : Registry.k8s.io/hpa-example
portas :
- containerPort : 90
recursos :
limites :
CPU : 200m
solicitações de :
CPU : 100m
---
apiVersion : v1
tipo : Serviço
metadados :
nome : php
rótulos :
correr : php-apache
especificação :
portas :
- porto : 70
seletor :
correr : php-apache
Etapa 7: criar a implantação
Nesta etapa, vamos criar o arquivo YAML chamado “deploo.yaml”. O seguinte script é executado no cluster minikube:
~$ kubectl create -f deploo.yamlA saída do comando acima mencionado que executamos pode ser vista na captura de tela a seguir. A saída indica que o arquivo YAML foi criado:
Etapa 8: criar o HorizontalPodScaler
Nesta etapa, mostraremos o comando para criar o HorizontalPodAutoscaler. Os pods são inseridos e encerrados automaticamente dependendo da demanda. É diferente do dimensionamento vertical, em que os recursos de CPU e memória são atribuídos por dimensionamento automático. O seguinte script é executado no cluster minikube:
~$ kubectl implantação de dimensionamento automático php -- CPU - por cento = cinquenta -- min = 10 –max = vinteAqui, você pode ver que definimos os valores mínimo e máximo para 10 e 20.
Em anexo está a saída do comando anterior:
Etapa 9: verifique o HorizontalPodScaler
Nesta etapa, verificamos o status atual do HorizontalPodAutoscaler que foi criado recentemente. O seguinte comando é executado:
~$ kubectl obter hpaConclusão
Um dos recursos mais úteis do Kubernetes é o “kubectl autoscale”, que fornece atualizações automáticas de recursos no cluster do Kubernetes. O dimensionador automático ajuda quando um cluster precisa aumentar ou diminuir os pods. Neste artigo, aprendemos os dois métodos de dimensionamento automático – um é o dimensionador automático padrão e o outro é o HorizontalPodScaler.
Primeiro, implantamos os pods e os declaramos. Em seguida, criamos o autoescalador e configuramos o servidor Apache para implantar o monitor de carga de trabalho antes do HorizontalPodScaler. Depois disso, criamos um arquivo YAML e o HorizontalPodScaler. Este artigo se concentrou nas etapas detalhadas de criação, configuração e implantação do Kubernetes de dimensionamento automático.