Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:(Fim da manutenção) Guia da versão Kubernetes 1.20 para ACK

Última atualização: Sep 17, 2026

O Container Service for Kubernetes (ACK) está em conformidade com o Certified Kubernetes Conformance Program. Este tópico lista as alterações que o ACK implementou para oferecer suporte ao Kubernetes 1.20, incluindo 6 ações obrigatórias antes da atualização, 5 descontinuações e vários novos recursos e melhorias específicas do ACK.

Versões dos componentes

Componente principal

Versão

Observações

Kubernetes

1.20.11

Consulte as ações obrigatórias abaixo antes de atualizar.

docker Runtime

19.03.5

Descontinuado nesta versão; os clusters existentes continuam funcionando.

Containerd Runtime

1.4.4

Nenhuma

etcd

3.4.3

Nenhuma

CSI (Container Storage Interface)

1,26

Nenhuma

CoreDNS

1.7.0

Nomes de métricas atualizados; plug-in upstream removido.

NVIDIA Container Runtime

3.4.1

Nenhuma

Ações obrigatórias antes da atualização

Importante

Revise cada item abaixo antes de atualizar um cluster ACK para o Kubernetes 1.20. Alguns itens exigem alterações nas cargas de trabalho ou na configuração do cluster antes da atualização.

Verifique os SANs nos certificados de admission webhook

Os certificados de servidor autoassinados para admission webhooks devem incluir os subject alternative names (SANs) obrigatórios. Verifique se os certificados do seu admission webhook incluem os SANs necessários antes de atualizar. Para ver um exemplo de configuração de certificado compatível, consulte o exemplo de Helm chart.

Substitua o uso do selfLink

O que mudou: O campo selfLink foi descontinuado no Kubernetes 1.20 e retorna valores vazios.

Quem é afetado: Aplicações que leem o campo selfLink das respostas da API e clusters que usam o nfs-client-provisioner open source.

O que fazer:

  • Atualize qualquer aplicação que leia selfLink das respostas da API.

  • Caso utilize o nfs-client-provisioner, atualize-o para uma versão que não dependa do selfLink.

Para obter detalhes, consulte Stop setting SelfLink in kube-apiserver.

Atualize o alicloud-nas-controller antes da atualização (apenas clusters FlexVolume)

Quem é afetado: Clusters com FlexVolume e alicloud-nas-controller implantados simultaneamente.

O que fazer: Atualize a imagem do alicloud-nas-controller para 1.14.8.17-7b898e5-aliyun ou posterior antes de atualizar para o Kubernetes 1.20.

O FlexVolume foi descontinuado. Para migrar para a Container Storage Interface (CSI), consulte Upgrade from FlexVolume to CSI.

Atualize os nomes das métricas do CoreDNS

O CoreDNS 1.7.0 renomeou as métricas existentes. Se o sistema de monitoramento coleta métricas do CoreDNS, atualize os nomes das métricas antes de prosseguir com a atualização. Para obter a lista completa de alterações, consulte Metric changes.

Nota

O plug-in upstream não é mais suportado. Se o upstream estiver especificado no Corefile, ele será removido automaticamente durante a atualização do CoreDNS.

Corrija os tempos limite de exec probe

O que mudou: O Kubernetes 1.20 corrigiu um bug antigo em que o kubelet ignorava a configuração timeoutSeconds para exec probes. Antes dessa correção, as exec probes eram executadas indefinidamente em vez de expirarem. Após a correção, o tempo limite padrão passou a ser de 1 segundo.

Quem é afetado: Qualquer pod com uma exec probe que leve mais de 1 segundo e não tenha o timeoutSeconds definido explicitamente. Essas probes agora falharão após 1 segundo.

O que fazer: Antes de atualizar, audite as definições dos pods em busca de exec probes sem um timeoutSeconds explícito. Defina o timeoutSeconds com um valor apropriado.

Atualize a versão da API de Ingress

As versões de API extensions/v1beta1 e networking.k8s.io/v1beta1 para Ingresses e IngressClasses serão descontinuadas em versões do Kubernetes posteriores à 1.22. Migre para networking.k8s.io/v1 antes de atualizar para a versão 1.22.

Nota

Os clusters ACK incluem o controlador NGINX Ingress por padrão, que atualmente suporta networking.k8s.io/v1beta1. Planeje a migração para networking.k8s.io/v1 antes de atualizar para o Kubernetes 1.22.

Descontinuações

Item descontinuado

Substituto

Removido em

docker Runtime

Containerd Runtime

Uma versão futura do Kubernetes

Rótulo node-role.kubernetes.io/master

node-role.kubernetes.io/control-plane

Versões do Kubernetes posteriores à 1.20

extensions/v1beta1 / networking.k8s.io/v1beta1 para Ingress

networking.k8s.io/v1

Versões do Kubernetes posteriores à 1.22

Campo selfLink

N/A (removido da API)

Versões do Kubernetes posteriores à 1.20

FlexVolume

CSI (Container Storage Interface)

Uma versão futura

Sobre a descontinuação do docker Runtime: No Kubernetes 1.20, o docker foi marcado como descontinuado, mas não removido. Os clusters existentes continuam funcionando sem alterações. As imagens de container criadas com docker não são afetadas; essa mudança aplica-se apenas ao runtime do container, e não ao formato da imagem. Como usuário do ACK em um service gerenciado, você não precisa tomar medidas imediatas. Será necessário migrar os nós de trabalho para um runtime de container suportado antes que o suporte ao docker termine em uma versão futura. Para obter detalhes, consulte Dockershim Deprecation FAQ.

Sobre o rótulo de nó master: Os clusters dedicados do ACK agora adicionam o rótulo node-role.kubernetes.io/control-plane aos nós master por padrão. O rótulo node-role.kubernetes.io/master foi descontinuado em versões do Kubernetes posteriores à 1.20.

Novidades

API Priority and Fairness

A API Priority and Fairness (APF) está disponível em preview público e ativada por padrão. A APF permite limitar e priorizar solicitações de API para o kube-apiserver. Consulte API Priority and Fairness para obter detalhes.

EndpointSlice ativado por padrão

O EndpointSlice agora é ativado por padrão pelo kube-proxy no Kubernetes 1.19 e versões posteriores. Esse recurso melhora a escalabilidade em clusters grandes. Consulte EndpointSlices para obter detalhes.

ConfigMaps e Secrets imutáveis (preview público)

Marque um ConfigMap ou Secret como imutável para evitar modificações acidentais. Recursos imutáveis também reduzem a carga no kube-apiserver. Consulte Immutable ConfigMaps para obter detalhes.

Melhorias em containers Windows

  • O EndpointSlice está ativado por padrão para containers Windows.

  • Plug-ins de dispositivo agora são suportados. Consulte Device plug-ins para obter detalhes.

Melhorias específicas do ACK

Melhorias no plano de controle

  • Observabilidade: Agora são coletadas métricas tanto para operações de solicitação quanto para operações watch, proporcionando maior visibilidade sobre o comportamento dos componentes do plano de controle.

  • Estabilidade: O kube-apiserver protege o etcd contra solicitações excessivas durante a inicialização do cluster, aumentando a resiliência em cenários de cold-start.

  • Desempenho: Novos índices aceleraram o processamento de solicitações de lista, reduzindo o uso de CPU do kube-apiserver sob cargas intensas de leitura.

Compatibilidade do kube-proxy com Alibaba Cloud Linux 2

No Kubernetes 1.20.11, o kube-proxy é compatível com o Alibaba Cloud Linux 2 com kernel versão 4.19.91-23 ou posterior. Quando o modo IPVS está ativado, o conn_reuse_mode não é definido como 0. Para mais contexto, consulte IPVS.

Agendamento de nó virtual (aplica-se após atualização para Kubernetes 1.22 ou posterior)

Após a atualização para o Kubernetes 1.22 ou posterior, o agendamento de nó virtual é ativado por padrão. Os pods agendados em nós virtuais estão sujeitos a:

  • Taints em nós virtuais

  • Afinidade de nó

  • Regras de afinidade/anti-afinidade de pod

  • Restrições de distribuição de topologia

Para manter o comportamento de agendamento anterior à atualização, desmarque a opção Enable virtual node scheduling nas configurações do kube-scheduler. Para etapas de configuração, consulte Custom parameters of kube-scheduler.

Referências