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