Kubernetes 1.17 — como atualizar sem gastar todo o budget de erros

Kubernetes 1.17 — como atualizar sem gastar todo o budget de erros

No dia 9 de dezembro, foi lançada mais uma versão do Kubernetes — 1.17. Seu lema é "Estabilidade", muitas funcionalidades receberam status GA, e uma quantidade de funcionalidades obsoletas foi removida…

E, como sempre, nossa seção favorita de Ação Necessária do arquivo CHANGELOG-1.17.md requere atenção.

Vamos trabalhar manualmente…

Atenção, Armazenamento!

A atualização do kubelet em tempo real na versão 1.17 não é suportada, porque o caminho para block volumes mudou. Antes de atualizar o nó, é necessário evacuar todos os pods dele usando o comando kubectl drain.

Flags e gateways…

No changelog, geralmente se menciona que um certo flag ou feature gate foi removido ou adicionado, mas por alguma razão nunca se menciona a aplicação que sofreu essa alteração…:

  • Flag removido --include-uninitialized u kubectl;
  • Funcionalidade permitida por feature gates GCERegionalPersistentDisk, EnableAggregatedDiscoveryTimeout e Volumes Locais Persistentes, agora sempre é utilizado e não pode ser desativado. Essas opções foram removidas das chaves possíveis api-server e controller-manager;
  • A rede de endereços IP para serviços agora não é atribuída por padrão. É necessário especificá-la usando a flag --service-cluster-ip-range ao iniciar o API server e o controller-manager.

kubeadm

  • Kubeadm aprendeu a configurar a atualização automática dos certificados para kubelet em todos os nós do cluster, incluindo o primeiro mestre, onde o comando kubeadm init. Um efeito colateral foi a exigência de um arquivo com a configuração inicial do kubelet bootstrap-kubelet.conf em vez de kubelet.conf durante a execução kubeadm init;
  • Ao adicionar modos de autorização ao API servidor kubeadm não insere mais os modos Node, RBAC no manifesto do pod estático, permitindo mudar completamente a configuração.

RBAC

Roles de cluster embutidos removidos system:csi-external-provisioner e system:csi-external-attacher.

Obsoleto…

Um certo número de funcionalidades foi declarado obsoleto, mas ainda continua a ser suportado. No entanto, gostaria de destacar especialmente o processo de transição para o uso da ContainerStorageInterface. Administradores que implementaram clusters próprios (não gerenciados) na AWS e GCE devem planejar a migração para usar o CSI Driver para trabalhar com volumes permanentes — em vez dos drivers embutidos no Kubernetes. Isso deve ser auxiliado pela procedure CSIMigration — aguardamos a chegada de um guia passo a passo. Administradores que utilizam outros provedores para conectar discos permanentes devem procurar e ler a documentação: na versão 1.21, prometem remover definitivamente todos os drivers embutidos.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster