Problemas de atualização do Kubernetes

Quais são os problemas na atualização do Kubernetes?

Problemas de atualização do Kubernetes ocorrem quando componentes ou aplicativos do cluster se tornam incompatíveis após a atualização da versão do Kubernetes. Isso pode afetar cargas de trabalho, rede, armazenamento ou complementos do cluster.

Dica: antes de atualizar o Kubernetes, sempre verifique a matriz de compatibilidade de versões, as notas de versão e as APIs obsoletas.

Sintomas
  • Os aplicativos falham após a atualização do cluster.
  • Os pods entram em CrashLoopBackOff ou permanecem pendentes.
  • Os plugins CNI ou CSI param de funcionar.
  • Os componentes do Kubernetes ficam indisponíveis.
  • Erros de API relacionados a recursos obsoletos.
Causas comuns
Causa Descrição
APIs obsoletas Os aplicativos ainda usam APIs do Kubernetes removidas ou obsoletas.
Incompatibilidade de versão Os componentes do Kubernetes estão executando versões não suportadas.
Incompatibilidade de driver CSI Os drivers de armazenamento são incompatíveis com a versão atualizada.
Problema com plugin CNI Os plugins de rede não são compatíveis após a atualização.
Complementos desatualizados CoreDNS, Ingress Controller, Metrics Server ou outros complementos precisam ser atualizados.
Como diagnosticar
  1. Verifique a versão do Kubernetes
BASH
kubectl version

Verifique as versões do cliente e do servidor.

  1. Verificar a compatibilidade de CNI, CSI e complementos

Verifique se todos os plugins de rede e armazenamento são compatíveis com a versão atualizada do Kubernetes.

Exemplos:

  • Calico
  • Cilium
  • Flannel
  • CoreDNS
  • Metrics Server
  • Ingress Controller
  • CSI Drivers
  1. Verifique se há APIs obsoletas.

Verifique seus manifestos em busca de versões de API obsoletas.

Exemplo:

TXT
apiVersion: extensions/v1beta1

deve ser atualizado para uma versão compatível, como:

TXT
apiVersion: apps/v1
  1. Verificar componentes do cluster
BASH
kubectl get pods -n kube-system

Verifique se o CoreDNS, o kube-proxy, o CNI, o CSI e outros Pods do sistema estão íntegros.

  1. Revisar eventos
BASH
kubectl get events --sort-by=.metadata.creationTimestamp

Procure por erros relacionados à atualização.

Como consertar
  • Atualize os componentes do Kubernetes na ordem recomendada (Plano de Controle → Nós de Trabalho).
  • Atualize CNI, CSI, CoreDNS e outros complementos de cluster.
  • Migre as APIs obsoletas para versões compatíveis.
  • Analise as notas de versão e as alterações que podem causar incompatibilidade do Kubernetes antes de atualizar.
  • Verifique a compatibilidade do aplicativo antes de atualizar os clusters de produção.
Comandos importantes
BASH
kubectl version
kubectl get pods -n kube-system
kubectl get events --sort-by=.metadata.creationTimestamp
kubectl api-resources
kubectl api-versions
Pontos-chave
  • Leia sempre as notas de versão do Kubernetes antes de atualizar.
  • Atualize na ordem correta:
    1. Plano de controle
    2. Nós de trabalho
    3. Plugin CNI
    4. CSI driver
    5. CoreDNS e outros complementos
  • Substitua as APIs obsoletas antes de atualizar para evitar falhas no aplicativo.
  • Verifique se todos os componentes do kube-system estão íntegros após a atualização.
  • Teste as atualizações em um ambiente que não seja de produção antes de aplicá-las em produção.

Próximo Artigo Artigo anterior