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.