Sobes.tech
Junior

Quais são os tipos de testes para verificar o estado dos serviços e aplicações?

sobes.tech IA

Resposta da IA

Existem várias formas comuns de sondas:

  • Sonda de Vida: Determina se a aplicação está a funcionar. Se a sonda falhar, o Kubernetes reinicia o pod. É usada para detectar processos que ficaram presos.

    • Sondas HTTP Get: Envia pedidos HTTP GET para o caminho e porta especificados.
    • Sondas de Socket TCP: Verifica a possibilidade de se conectar à porta especificada.
    • Sondas de Execução: Executa um comando dentro do contêiner e verifica o código de saída.
  • Sonda de Disponibilidade: Determina se o pod está pronto para receber tráfego. Se a sonda falhar, o serviço não envia tráfego para esse pod. É usada para determinar a prontidão da aplicação após o arranque ou durante a atualização.

    • Usa os mesmos mecanismos que as sondas de Vida (HTTP Get, Socket TCP, Execução).
  • Sonda de Arranque: Determina se a inicialização da aplicação terminou. Se a sonda estiver configurada, o Kubernetes não realizará as sondas de Vida e Disponibilidade até que a Sonda de Arranque seja bem-sucedida. Útil para aplicações que demoram a iniciar, para evitar reinícios prematuros.

    • Usa os mesmos mecanismos que as outras sondas.

Exemplo de configuração no Kubernetes:

livenessProbe: # Verificação de vida
  httpGet: # Por HTTP
    path: /healthz # Caminho
    port: 8080 # Porta
  initialDelaySeconds: 15 # Atraso antes da primeira verificação
  timeoutSeconds: 1 # Tempo de espera da resposta
readinessProbe: # Verificação de prontidão
  tcpSocket: # Por TCP
    port: 8080 # Porta
  initialDelaySeconds: 5 # Atraso antes da primeira verificação
  periodSeconds: 10 # Intervalo entre verificações