Sondas de Lividade de Kubernetes

Sondas de Lividade de Kubernetes

Kubernetes usa as sondas de luxo para decidir quando reiniciar um contêiner. Existem três tipos de probs de configurações para os contêineres, startup, prontidão e livele. A sonda de inicialização é definida no ambiente Kubernetes para informar ao cluster quando iniciar um aplicativo de contêiner. A sonda de prontidão é usada pelo contêiner Kubernetes para verificar quando pode começar a aceitar o tráfego. Para determinar quando reiniciar um contêiner, no entanto, as sondas de lactos são empregadas. Neste guia, exploraremos a investigação de LIVRE e aprenderemos como e quando usá-lo no ambiente Kubernetes.

O que é uma sonda de lactividade em Kubernetes?

Um cluster em Kubernetes passa por diferentes estágios em seu ciclo de vida completo com estados diferentes. Esses estados podem ser verificados pelas sondas que são o processo automatizado para verificar o estado atual do cluster. Em palavras simples, as sondas de lactive são o verificador de saúde dos clusters. É um mecanismo fornecido por Kubernetes que é usado para verificar se os aplicativos estão em execução corretamente no contêiner ou não.

A sonda de lactive é usada para garantir que um aplicativo esteja em execução corretamente em um contêiner e que esteja ao vivo. Essas sondas são usadas para saber quando reiniciar os contêineres se não estiverem funcionando ou não estiverem no modo ativo. Qualquer aplicação quebrada, interrompida por um erro ou fez a transição para um estado quebrado, é escolhida e pode ser consertada reiniciando o cluster. Nada mais é feito se a sonda de lactive for bem -sucedida em corrigir o aplicativo. No entanto, se falhar, o registro de eventos será mantido e os comandos Kubectl serão usados ​​para matar o contêiner de acordo com a configuração RESTARTPOLICY.

Como uma sonda de lactive funciona em um cluster de Kubernetes?

Uma investigação de LIVRE é um processo automatizado usado para verificar o estado do cluster no ambiente Kubernetes. A investigação de LIVRE envia periodicamente uma solicitação HTTP ou executa um comando para um terminal em um contêiner e aguarda a resposta. Caso o contêiner não responda, retorna uma falha; ou se nenhuma resposta chegar dentro de um prazo específico, a sonda de LIVRE reiniciará o contêiner.

As sondas de vida fornecem detalhes de nível granular sobre se um aplicativo está em execução corretamente em um cluster ou não. Por padrão, o controlador Kubernetes determina se uma vagem está funcionando ou não. Se o pod não estiver em execução, as sondas de LIVREGIGE. Em alguns casos, os pods estão funcionando corretamente, mas o aplicativo pode ter funcionado mal com funcionamento. Todos esses detalhes granulares podem ser verificados com as sondas de LIVRE.

Vamos aprender a definir a investigação de LIVRE para o cluster no ambiente de Kubernetes, seguindo o guia passo a passo dado abaixo.

Pré -requisitos:

Antes de aprender a definir a sonda de LIVRE no ambiente Kubernetes, verifique se você tem um sistema adequado. Algumas ferramentas devem ser instaladas e configuradas corretamente em seu ambiente de Kubernetes para definir a sonda de LIVRE. Veja a lista de ferramentas mencionadas aqui:

    • Ubuntu 22.024 ou qualquer outra versão mais recente
    • Ferramenta de linha de comando kubectl
    • Cluster de Kubernetes
    • Cluster Minikube
    • Mínimo de dois nós que não estão funcionando como host de avião de controle

Depois de configurar essas ferramentas em seu sistema, você estará pronto para definir uma sonda de lactividade para o seu cluster de Kubernetes. Supondo que seu sistema esteja preparado e pronto para trabalhar, estamos nos mudando para a próxima seção.

Como definir uma sonda de lactividade para o cluster de Kubernetes?

Algumas das aplicações são executadas no cluster de Kubernetes por um longo período e, eventualmente, passam para um estado quebrado ou fracassado. Esses estados são teimosos o suficiente para que não possam ser resolvidos sem reiniciar o recipiente em que estão executando. As sondas de luxo são definidas para detectar esses estados e agendar uma reinicialização para o cluster sempre que necessário. Então, aqui, vamos te ensinar como definir uma sonda de lactividade para o cluster de Kubernetes.

Etapa 1: Inicie o cluster Minikube

Primeiro, você precisa iniciar seu cluster Minikube para garantir que esteja em funcionamento corretamente. O cluster pode ser iniciado usando o comando dado abaixo:

> Minikube Start


Etapa 2: Crie uma vagem

Temos um arquivo de configuração da YAML que usaremos para criar uma vagem no contêiner. O arquivo de configuração contém a definição de implantação para o pod. Use sua ferramenta de linha de comando para executar o seguinte comando para implantar o pod no cluster Kubernetes:

> kubectl Aplicar -f https: // k8s.io/exemplos/pods/sonda/execução.Yaml



A partir da saída acima, você pode notar que o pod denominado 'LIVRE-EXEC' foi criado a partir do arquivo de configuração da YAML. Agora, aplicaremos as sondas de luxo na vagem para que, sempre que as vagens entrarem no modo inativo, elas sejam reiniciadas com a sonda de lactividade.

Etapa 3: Veja os eventos de pod

Agora, vamos verificar o log de eventos da vagem que criamos na etapa anterior para verificar como uma sonda de lactive está funcionando nesta vagem. Para verificar os eventos do pod, usaremos o seguinte comando:

> Kubectl Descreva a vagem de pod-exex



A partir da saída fornecida acima, você pode ver que a sonda de lactive é executada na vagem após a cada 5 segundos para verificar se ainda está ativo ou não. Você também pode observar que a sonda de lactive é bem -sucedida uma vez e falhou três vezes. Se a sonda de lactive continuar fracassando, o contêiner será morto e recriado.

Etapa 4: Verifique se o contêiner é reiniciado

Como a investigação da lutividade falhou três vezes, vamos verificar se a vagem foi reiniciada novamente pelo Probil. Usando o comando a seguir, podemos determinar o status do pod:

> Kubectl Obtenha vagem de pods


Conclusão

Exploramos as sondas Kubernetes definidas para contêineres. Existem três tipos de sondas definidas para os recipientes no ambiente de Kubernetes: LIVRE, Startup e prontidão. Este documento foi focado na sonda de lactive que é usada para reiniciar o cluster sempre que necessário. A sonda de LIVRE é um verificador de saúde que garante que um cluster esteja em funcionamento corretamente.