Conceito e mecanismo
Uma imagem deve conter o necessário para executar a aplicação. Num build multi-stage, um estágio pode compilar e outro receber apenas o artefacto e dependências de runtime. Apagar ferramentas numa camada posterior não remove os dados das camadas anteriores. Para reproduzir uma release, regista o digest aprovado: uma tag pode mudar de conteúdo. O digest identifica o artefacto, mas não prova que foi testado ou que é seguro. A evidência de aprovação, configuração e dependências deve acompanhar a promoção entre ambientes.
Aplicação guiada
Escolhe Deployment para serviço continuado e Job para trabalho que termina. CronJob acrescenta agendamento, com decisões de concorrência e horários perdidos. Num batch de reconciliação, Forbid pode evitar sobreposição entre Jobs do mesmo CronJob, mas não garante que cada lançamento só acontece uma vez. A aplicação deve reconhecer trabalho repetido e conservar estado suficiente para reconciliar resultados após retry. Antes da passagem a produção, define como observar sucesso, falha, atraso e efeitos parciais, incluindo quem decide repetir um ficheiro.
Um batch executado a cada cinco minutos demora oito. Discute Forbid, idempotência por identificador de ficheiro e alerta quando a execução não conclui dentro da janela do negócio.
Armadilhas comuns
Usar latest como aprovação; confundir Job com execução exatamente uma vez; usar Replace sem tratar efeitos já produzidos.
Tópicos relacionados: Init containers, partilha e persistência · Deployments e recuperação
O artefacto precisa de identidade e o trabalho precisa de um ciclo de vida explícito.
Referência: Multi-stage container builds · CKAD Kubernetes v1.37