Fase 3-cache: Pod crash durante a desconexão - image cache
Ponto BÁSICO e crítico: um pod que crasha durante a desconexão REINICIA? SIM - o kubelet gerencia restartPolicy localmente, sem API server, DESDE QUE a imagem esteja no cache local do containerd.
O restart é SUB-SEGUNDO (imagem em cache), então um curl no VIP não pega o blip - com 2 réplicas nem cai. A forma de visualizar na tela é pelo restart count do container (coluna ATTEMPT do crictl), em dois terminais no node.
Pré-requisito: crictl instalado no node (uma vez). Logue no node:
ssh -i ~/.ssh/id_ecdsa lopbruno@192.168.3.51Já no node, instale o crictl:
sudo curl -sL "https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.31.1/crictl-v1.31.1-linux-amd64.tar.gz" | sudo tar -C /usr/local/bin -xz
echo "runtime-endpoint: unix:///run/containerd/containerd.sock" | sudo tee /etc/crictl.yamlTerminal A (no node) - painel ao vivo do restart count. Logue no node:
ssh -i ~/.ssh/id_ecdsa lopbruno@192.168.3.51E abra o watch do restart count:
sudo watch -n1 'crictl ps -a --name podinfo'Terminal B (no node) - UM kill único (não repita, senão entra em CrashLoopBackOff). Logue no node (segundo terminal):
ssh -i ~/.ssh/id_ecdsa lopbruno@192.168.3.51E dê um único kill no container:
sudo crictl stop $(sudo crictl ps --name podinfo -q | head -1)Configuração do containerd via nodeadm (prep - já aplicável no nodeConfig):
spec:
containerd:
config: |
[plugins."io.containerd.grpc.v1.cri".containerd]
discard_unpacked_layers = false