Conceito e mecanismo
O API server expõe a API do cluster; controllers reconciliam estado e o scheduler escolhe nós para Pods elegíveis. O kubelet atua no nó e coordena execução através do runtime. Estas responsabilidades ajudam a localizar falhas sem reinstalar tudo. Antes de qualquer operação, confirma contexto, identidade e namespace no kubeconfig. Dois clusters podem ter namespaces com o mesmo nome. No bootstrap com kubeadm, a rede de Pods precisa de um plugin compatível; CNI, CRI e CSI representam interfaces com funções diferentes para rede, runtime e armazenamento. Um objeto criado na API não prova que todas essas integrações estejam funcionais.
Aplicação guiada
Para alta disponibilidade, prepara um endpoint API estável e uma topologia com capacidade de sobreviver às falhas previstas. Atualizações kubeadm seguem versões minor consecutivas e a sequência documentada para control plane e workers. Planeia evidência de recuperação, compatibilidade e critérios de interrupção da mudança. Cordon impede novo scheduling normal, mas não evacua workloads. Drain tenta evacuar respeitando mecanismos como PodDisruptionBudgets. Se o orçamento bloqueia a operação, investiga réplicas saudáveis e capacidade antes de forçar uma interrupção. No final, valida condições do nó e serviço antes de o devolver à utilização normal.
Num laboratório, começa por kubectl config current-context e kubectl --context=lab get nodes. Explica por que estes resultados devem preceder uma operação de manutenção. Os comandos são exemplos de leitura, não foram executados num cluster pela DR.
Armadilhas comuns
Confundir contexto com pasta; repetir init para resolver CNI ausente; saltar minor versions; ignorar PDB para cumprir o calendário.
Tópicos relacionados: Acesso, ferramentas e extensões · Workloads, configuração e scheduling
Confirma destino, dependências e margem operacional antes da mudança.
Referência: Upgrade kubeadm clusters · CKA Kubernetes v1.35