Conceito e mecanismo
Um Service oferece um ponto de acesso lógico a destinos que podem mudar. No caso habitual com selector, os labels dos Pods determinam os candidatos, e EndpointSlices representam os destinos observados. A porta do Service e targetPort têm funções diferentes: a primeira recebe a ligação ao serviço e a segunda identifica o listener de destino. Um nome DNS resolvido não comprova que existem endpoints prontos nem que a aplicação aceita a porta configurada. Segue o caminho por camadas: resolução, Service, seleção, prontidão, porta e função da aplicação. Mantém o namespace explícito para não comparar objetos homónimos de ambientes diferentes ou alterar um Service que não participa no incidente.
Aplicação guiada
As probes devem representar decisões distintas. Readiness indica se o contentor está pronto para receber tráfego através do Service habitual; falhar não significa, por si só, reiniciar. Liveness deve detetar uma condição em que reiniciar ajuda, evitando transformar indisponibilidade de uma base partilhada em reinícios de todas as APIs. Startup protege uma inicialização lenta antes de ativar as outras verificações. Num exercício original, uma aplicação demora cerca de 110 segundos a carregar dados, mas a liveness começa cedo e mata-a repetidamente. Mede o arranque e define uma startup probe com margem adequada, conservando readiness e deteção de falhas posteriores. O orçamento nominal resulta do período e limiar configurados; não é uma promessa de tempo de recuperação do negócio.
DNS funciona, mas o selector app=ledger não corresponde a app=ledger-api: examina endpoints antes de alterar DNS.
Armadilhas comuns
Readiness como reinício; liveness dependente de toda a infraestrutura; DNS como prova de serviço.
Tópicos relacionados: Workloads e estado desejado · Recursos e agendamento · Configuração e dados
Cada probe e cada porta devem ter uma finalidade verificável.
Referência: Liveness readiness and startup probes · Kubernetes v1.37 concepts; current official documentation consulted 2026-09-30; cluster versions and plugin capabilities must be confirmed