Do nome ao resultado de negócio
Uma resposta DNS, uma ligação TCP e uma transação correta são evidências diferentes. No serviço fictício custody-api, o processo escuta em 8080 mas targetPort aponta para 9090. O nome pode resolver e os labels estar corretos sem existir comunicação útil. Corrige o mapeamento para o listener esperado e verifica a prontidão antes da transação. Se uma política de egress bloqueou o resolver, autorizar apenas o IP da base de dados não restaura DNS. Desenha o caminho com origem, resolução, destino e dependências, declarando que o CNI aplica as políticas. Depois confirma os fluxos permitidos e os que devem continuar excluídos.
Persistência e permissões não são garantias gerais
Uma PVC de 10Gi não corresponde a um PV de 5Gi apenas porque a classe coincide. Sem provisionador dinâmico, é necessário disponibilizar um volume adequado ou rever justificadamente o requisito. Depois do binding, ReadWriteOnce refere-se a um node e pode permitir vários Pods nesse node; não é um mutex entre escritores. No filesystem, readOnlyRootFilesystem também não impede todas as montagens graváveis. Para usar /tmp, prevê um volume apropriado e confirma UID, grupos e permissões observadas. Estes três exemplos exigem ligar a declaração ao seu âmbito exato, sem transformar um campo numa garantia de consistência ou de autorização completa.
Ler o motivo de uma recusa
O código 403 não é suficiente para escolher uma correção. Compara um pedido de logs recusado por falta de pods/log com a criação de Pod recusada por exceeded quota: requests.memory. O primeiro exige rever a autorização no âmbito certo; o segundo exige quota, uso contabilizado e request. Conceder cluster-admin porque ambos mostram Forbidden confunde causas e amplia acesso sem resolver o desenho. Na passagem a RUN, guarda exemplos de erros sem tokens nem dados de clientes e associa cada um ao responsável adequado. Confirma também se o objeto chegou a existir, porque isso muda as fontes de evidência disponíveis.
Da integração à adoção de uma release
Um pipeline verde demonstra apenas o que os seus passos verificaram. Se a imagem A passou testes mas produção referencia B, ainda falta adoção. Em GitOps, observa revisão, branch e path selecionados, depois compara o estado real. Uma correção aplicada só ao ambiente test não muda environments/prod. Readiness também pode ser insuficiente para aprovação funcional: se aumenta o número de resultados errados, interrompe a promoção e avalia recuperação com responsáveis por dados e dependências. O registo de release deve ligar artefacto, declaração, execução e transação, com critérios de paragem acordados antes de aumentar a exposição.
Calcular indicadores sem perder o denominador
Para combinar grupos de pedidos com o mesmo critério e janela, soma sucessos e totais antes de dividir. Um grupo com 990 sucessos em 1000 e outro com 9000 em 9000 produzem 9990/10000, ou 99,9%. A média simples das percentagens produziria 99,5% e mudaria o peso dos pedidos. Mantém também a vista por grupo: um agregado aceitável pode ocultar experiência desigual. Define que eventos são elegíveis e como foram medidos. Uma métrica apenas no backend pode não observar pedidos que nem chegaram lá. Expõe essa lacuna ao decidir o objetivo e os alertas, sem inventar resultados não recolhidos.
Sinais que podem ser operados
Um label com um identificador novo por cliente cria um conjunto crescente de séries. Para um painel agregado, prefere dimensões controladas como operação e classe de resposta, com política de acesso para investigação individual. Não trates base 64 como anonimização. Para ligar API e worker, nomes de spans iguais não bastam: o contexto precisa de atravessar o transporte com instrumentação apropriada. Os exemplos desta oficina não exportam telemetria nem executam um cluster. Entrega à APS a definição do indicador, os limites de cardinalidade, o caminho do contexto e um plano de validação autorizado. Assim, o handover inclui o funcionamento dos sinais, além da sua mera existência.
# Synthetic request groups, same window and eligibility
A: total=1000 good=990
B: total=9000 good=9000
aggregate: good=9990 total=10000 ratio=0.999990/1000 e 9000/9000 dão 9990/10000=99,9%; mantém também a análise por grupo.
Armadilhas comuns
Confundir 403 com uma única causa, Ready com aceitação, RWO com mutex ou média de taxas com taxa global.
Tópicos relacionados: Oficina: capacidade, elegibilidade e arranque
Liga a declaração à execução e ao resultado medido.
Referência: Implementing SLOs · KCNA current four-domain curriculum; edition date unconfirmed