Como configurar um orçamento de interrupção em POD em Kubernetes

Como configurar um orçamento de interrupção em POD em Kubernetes
Nós vamos mostrar como você pode configurar um orçamento de interrupção de pod em Kubernetes. Este artigo é para quem deseja aprender a minimizar as interrupções experimentadas por diferentes aplicações, para que o administrador do cluster possa ter o maior acesso para gerenciar os nós do cluster. Neste guia, demonstraremos o que é o orçamento de interrupção do pod e como ele pode ser criado e validado para um aplicativo Kubernetes.

O que é um orçamento de interrupção da POD Kubernetes (PDB)?

Em Kubernetes, quando qualquer coisa cria uma interrupção na operação de uma vagem, essa interrupção é considerada uma interrupção. A interrupção pode ser de qualquer tipo, como acidentalmente, usando o comando "Kubectl delete", em vez do comando "kubectl get" ou um nó que requer reinicialização devido a uma falha no sistema, etc. No entanto, interrupções voluntárias também podem ocorrer caso a interrupção seja causada por um operador como um nó sendo drenado ou a implantação sendo excluída.

Quando o pod de um aplicativo precisa ser remarcado por um motivo específico, como manutenção de rotina, atualização ou qualquer outra coisa, o aplicativo enfrenta muitas interrupções ao longo do processo de reagendamento. O orçamento de interrupção da POD (PDB) é um método em Kubernetes que é usado para limitar essas interrupções, para que um aplicativo possa executar o processo de reagendamento suavemente. O PDB permite que o proprietário do aplicativo defina os requisitos para a implantação, para que o aplicativo seja menos interrompido por qualquer tipo de interrupção. Em outras palavras, o PDB permite que o proprietário do aplicativo especifique os requisitos operacionais que podem ser tolerados por uma implantação para que possa permanecer estável quando ocorrer uma interrupção.

Vamos aprender a configurar um orçamento de interrupção de pod para um aplicativo Kubernetes com a ajuda do seguinte guia passo a passo.

Pré -requisitos:

Antes de começar, verifique se o seu sistema atende a todos os pré -requisitos necessários. Você deve ter ubuntu 20.02 ou qualquer outra versão mais recente instalada em seu sistema. Além disso, você precisa ter uma máquina virtual ativada para que o terminal Kubernetes possa ser usado. Além disso, você deve ser o proprietário do aplicativo Kubernetes, que é executado no cluster Kubernetes. A última coisa que você precisa é garantir que o cluster de Kubernetes permita que você defina o orçamento de interrupção da vagem.

Agora, vamos configurar o orçamento de interrupção do pod em Kubernetes. Siga as etapas a seguir para a configuração:

Etapa 1: Inicie os Kubernetes

Quando você precisa trabalhar com Kubernetes, o primeiro passo é iniciar o Kubernetes para que você possa ter acesso completo à máquina virtual do Ubuntu. O Minikube é um ambiente de Kubernetes ou, em palavras simples, é um terminal de painel que é usado para executar os aplicativos e comandos. Para iniciar o Minikube, o comando "start" é usado da seguinte forma:

> Minikube Start

Digite este comando no terminal Kubernetes e pressione Enter. Na execução do comando, você receberá a seguinte resposta:

Depois de ter o terminal Kubernetes em funcionamento com sucesso, você precisa decidir como seu aplicativo Kubernetes deve reagir às interrupções. As duas principais coisas que você precisa especificar são o limite mínimo de parâmetro disponível e o limite máximo de parâmetro indisponível. O parâmetro minavailable especifica quantos pods sempre devem estar disponíveis, mesmo que ocorra uma interrupção. O parâmetro maxunava disponível especifica quantos pods podem estar indisponíveis em um momento em caso de interrupção. O valor para minavailable e maxunavailable pode ser definido como um número inteiro ou pode ser uma porcentagem. Agora, vamos ver como criar um objeto PDB como um arquivo YAML usando os parâmetros minanavailable e maxunavailable.

Etapa 2: Crie um arquivo YAML para a definição de orçamento de interrupção da POD

Agora que nosso painel Kubernetes está em funcionamento com sucesso, como visto na captura de tela anterior, estamos prontos para iniciar a configuração do orçamento de interrupção do POD (PDB) para um aplicativo Kubernetes. Para abrir ou criar um novo arquivo, Kubernetes fornece um comando "nano". Aqui, criaremos um arquivo YAML para a definição de orçamento de interrupção (PDB) da POD (PDB) usando o seguinte comando:

> nano pdbmin.Yaml

O "nano" é o comando Kubernetes que cria um arquivo. O "pdbmin" é o nome do arquivo que é especificado pelo usuário. E ".yaml ”é a extensão do arquivo que está prestes a ser criado. Escreva este comando no terminal Kubernetes e pressione Enter do teclado.

Aqui, usamos o parâmetro Minavilable para definir os requisitos operacionais toleráveis ​​do PDB. Como você pode ver na captura de tela a seguir, o valor do parâmetro minavailável é 2, o que significa que 2 pods devem estar disponíveis o tempo todo, mesmo que a interrupção ocorra no aplicativo.

Vamos criar outra definição do PDB como um arquivo YAML usando o parâmetro maxunavailable. Use o mesmo comando "nano" para criar a definição do PDB como um arquivo YAML:

> nano pdmax.Yaml

Como você pode ver na captura de tela a seguir, o valor para o parâmetro maxunavalável é 1, o que significa que apenas 1 pod pode estar indisponível em caso de interrupção.

Etapa 3: Crie um objeto de orçamento de interrupção de pod (PDB)

O próximo passo é criar o objeto do PDB a partir das definições YAML que foram criadas anteriormente. Use a instrução "Kubectl Aplicar" para criar o objeto PDB:

> kubectl Aplicar -f pdmax.Yaml

Como você pode ver na saída, o objeto foi criado com sucesso.

Etapa 4: Verifique o status do objeto Orçamento de Disruption (PDB) da POD (PDB)

Agora, vamos verificar o status do objeto PDB criado recentemente. Use a instrução "Kubectl Get" para verificar o status do objeto PDB. Digite o comando "Kubectl get" no terminal e veja o status do objeto PDB:

> kubectl Obtenha poddisruptionbudgets

Lembre -se de que definimos o valor maxunavailable como 1, que é mostrado na saída anterior.

Se você quiser ver o status detalhado do objeto Orçamento de Disrupção de Pod (PDB), você pode usar o comando "Kubectl Get" da seguinte forma:

> kubectl Obtenha poddisruptionbudgets zk -pdb -o yaml

Conclusão

Este artigo apresentou como criar uma definição de orçamento de distribuição de POD (PDB) usando os parâmetros minavailable e maxunavailable para o aplicativo Kubernetes. Em seguida, aprendemos a criar o objeto PDB a partir das definições de YAML definidas e verificamos o status do objeto criado usando o comando kubectl. Seguindo as etapas fornecidas, você aprenderá a criar e configurar os objetos do PDB e validar se o objeto está funcionando corretamente.