Revisão das notas de release das versões do Kubernetes com suporte padrão - Amazon EKS

Ajudar a melhorar esta página

Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.

Revisão das notas de release das versões do Kubernetes com suporte padrão

dica

Registre-se para os próximos workshops do Amazon EKS.

Este tópico fornece as mudanças importantes que é necessário conhecer em cada versão do Kubernetes com suporte padrão. Ao fazer o upgrade, analise cuidadosamente as alterações que ocorreram entre a versão antiga e a nova do seu cluster.

Kubernetes 1.35

O Kubernetes 1.35 agora está disponível no Amazon EKS. Para obter mais informações sobre o Kubernetes 1.35, consulte o anúncio oficial de lançamento.

Importante
  • Suporte ao cgroup v1 removido: o Kubernetes 1.35 descontinua o suporte ao cgroup v1, o que significa que o kubelet se recusará a iniciar por padrão nos nós que usam o cgroup v1.

    • AL2023: o AL2023 usa o cgroup v2 por padrão e se alinha ao comportamento upstream do Kubernetes.

      • Ação necessária: os clientes que configuraram manualmente o AL2023 para usar o cgroup v1 devem migrar para o cgroups v2 ou definir manualmente failCgroupV1: false na configuração do kubelet.

    • Bottlerocketo O Bottlerocket 1.35 usa o cgroup v2 por padrão, mas define failCgroupV1: false na configuração do kubelet, mantendo a compatibilidade com versões anteriores.

    • Fargate: o Fargate continua usando o cgroup v1.

  • Fim do suporte ao Containerd 1.x: o Kubernetes 1.35 é a última versão com suporte ao containerd 1.x. É necessário mudar para o containerd 2.0 ou posterior antes de fazer a atualização para a próxima versão do Kubernetes.

  • Em março de 2026, o projeto upstream do Kubernetes retirará o Ingress NGINX, um componente de infraestrutura essencial para muitos ambientes Kubernetes.

    • Ação necessária: os clientes do EKS devem avaliar se confiam no Ingress NGINX e começar a planejar a migração para alternativas, como a API do Gateway ou controladores Ingress de terceiros, pois não haverá mais lançamentos para correções de bugs, patches de segurança ou atualizações após a descontinuação. As implantações existentes continuarão funcionando, mas permanecer com o Ingress NGINX após a descontinuação deixará seu ambiente vulnerável a riscos de segurança, pois nenhuma das alternativas disponíveis são substitutas diretas e exigirá tempo de planejamento e engenharia. Para obter mais informações sobre esse anúncio do Kubernetes, consulte a declaração oficial de descontinuação do Ingress NGINX dos Comitês de Direção e Resposta de Segurança do Kubernetes.

  • Atualizações de recursos de pod no local (estáveis): as atualizações de recursos de pod no local permitem que os usuários ajustem os recursos de CPU e memória sem reiniciar pods ou contêineres. Anteriormente, essas modificações exigiam a recriação de pods, o que poderia interromper as workloads, principalmente para aplicações com estado ou em lote. A nova funcionalidade no local permite uma escalabilidade vertical mais suave e sem interrupções, melhora a eficiência e também pode simplificar o desenvolvimento.

  • Distribuição de tráfego PreferSameNode (estável): o campo trafficDistribution de serviços foi atualizado para fornecer um controle mais explícito sobre o roteamento de tráfego. Uma nova opção, PreferSameNode, foi introduzida para permitir que os serviços priorizem estritamente os endpoints no nó local, quando disponíveis, retornando aos endpoints remotos, caso contrário. Essa alteração torna a API mais explícita sobre a preferência do tráfego dentro do nó atual.

  • StatefulSet MaxUnavailable (Beta): esse recurso permite atualizações paralelas do pod por meio da configuração de maxUnavailable (por exemplo, 3 ou 10%), permitindo que aplicações com estado, como clusters de banco de dados, sejam atualizadas até 60% mais rápido do que atualizações sequenciais uma por vez, reduzindo significativamente as janelas de manutenção.

  • Suporte para Windows Server 2025: o EKS 1.35 adicionou suporte ao Windows Server 2025.

  • Remoção do sinalizador Kubelet: o sinalizador --pod-infra-container-image foi removido do kubelet. Os usuários personalizados da AMI devem remover esse sinalizador da configuração do kubelet antes de fazer a atualização para a versão 1.35.

  • Aviso de descontinuação - Modo IPVS: o modo IPVS no kube-proxy foi descontinuado e será removido no Kubernetes 1.36.

Para ver o changelog completo do Kubernetes 1.35, consulte https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.35.md.

Kubernetes 1.34

O Kubernetes 1.34 agora está disponível no Amazon EKS. Para obter mais informações sobre o Kubernetes 1.34, consulte o anúncio oficial de lançamento.

Importante
  • Containerd atualizado para a versão 2.1 na versão 1.34 de lançamento.

  • A AWS não está lançando uma AMI do Amazon Linux 2 otimizada para EKS para o Kubernetes 1.34.

  • O AppArmor foi descontinuado no Kubernetes 1.34.

  • A VolumeAttributesClass (VAC) chega ao estágio de GA no Kubernetes 1.34, com a migração da API beta (storage.k8s.io/v1beta1) para a API estável (storage.k8s.io/v1).

    • O driver CSI do EBS com contêineres com arquivos associados gerenciados pela AWS (dos componentes da CSI na Galeria do ECR) e a modificação de volumes continuarão funcionando perfeitamente em clusters de EKS nas versões 1.31 a 1.33. A AWS aplicará patches nos arquivos associados para oferecer suporte às APIs beta da VAC até o final do suporte padrão do EKS 1.33, que é em 29 de julho de 2026.

    • Se você gerencia seus próprios contêineres com arquivos associados da CSI, pode ser necessário fixar versões mais antigas do arquivo associado em clusters anteriores à versão 1.34 para manter a funcionalidade da VAC.

    • Para usar os recursos da GA destinados à VolumeAttributesClass (como a reversão de modificações), atualize para o EKS 1.34 ou para versões posteriores.

  • O assinante externo do JWT para tokens da conta de serviço foi promovido à versão Beta. Ao usar assinantes externos, a sinalização --service-account-extend-token-expiration não é mais totalmente respeitada. O servidor da API impõe a expiração mínima entre a extensão desejada (1 ano) e o limite do assinante externo (24 horas).

  • APIs principais de alocação dinâmica de recursos (DRA) para a versão em GA: a alocação dinâmica de recursos atingiu o estágio estável, permitindo o gerenciamento eficiente de hardware especializado como GPUs por meio de interfaces de alocação padronizadas. Isso simplifica a gestão de aceleradores de hardware e aumenta a eficiência no uso de recursos especializados.

  • Tokens de ServiceAccount projetados para o Kubelet para a versão Beta: esta melhoria aumenta a segurança ao utilizar credenciais de curta duração para a extração de imagens de contêineres em vez de segredos de longa duração. Isso reduz o risco de exposição de credenciais e fortalece a postura geral de segurança dos clusters.

  • Solicitações e limites de recursos em nível de pod para a versão Beta: este recurso simplifica o gerenciamento de recursos, permitindo grupos de recursos compartilhados para pods com vários contêineres. Isso possibilita uma alocação e utilização de recursos mais eficientes para aplicações complexas com diversos contêineres.

  • Contagem alocável de nós da CSI mutáveis para a versão Beta: o recurso MutableCSINodeAllocatableCount está habilitado por padrão no EKS 1.34, tornando o atributo de contagem máxima de volumes anexáveis ​do CSINode mutável e introduzindo um mecanismo para atualizá-lo dinamicamente com base na configuração do usuário no nível do driver CSI. Essas atualizações podem ser acionadas por intervalos periódicos ou pela detecção de falhas, aumentando a confiabilidade do agendamento de pods com estados ao resolver divergências entre a capacidade de anexação relatada e a real nos nós.

  • Aviso de descontinuação para a configuração do driver cgroup: a configuração manual do driver cgroup está sendo descontinuada e será substituída pela detecção automática.

    • Impacto para o cliente: se você define atualmente a sinalização --cgroup-driver manualmente em sua configuração do kubelet, recomenda-se planejar a remoção dessa definição.

    • Ação necessária: planeje a atualização dos scripts de inicialização dos nós e das configurações de AMIs personalizadas para remover as definições manuais do driver cgroup antes que o recurso seja removido em uma versão futura do Kubernetes.

    • Para obter mais informações, consulte a documentação do driver cgroup.

Para ver o changelog completo do Kubernetes 1.34, consulte https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.34.md.

Kubernetes 1.33

O Kubernetes 1.33 agora está disponível no Amazon EKS. Para obter mais informações sobre o Kubernetes 1.33, consulte o anúncio oficial de lançamento.

Importante
  • A API beta de alocação dinâmica de recursos do Kubernetes está habilitada.

    • Essa API beta melhora a experiência de agendamento e monitoramento de workloads que exigem recursos, como GPUs.

    • A API beta é definida pela comunidade Kubernetes e poderá mudar em versões futuras do Kubernetes.

    • Analise cuidadosamente os estágios dos recursos na documentação do Kubernetes para compreender as implicações do uso de APIs beta.

  • A AWS não está lançando uma AMI do Amazon Linux 2 otimizada para EKS para o Kubernetes 1.33.

  • Redimensionamento de recursos de pod no local (beta): o redimensionamento de recursos no local foi promovido para beta, permitindo atualizações dinâmicas dos recursos de CPU e memória para pods existentes sem reinicializações, o que possibilita a escalabilidade vertical de workloads com estado sem tempo de inatividade e ajustes contínuos de recursos com base nos padrões de tráfego.

  • Contêineres sidecar agora estáveis: os contêineres sidecar foram promovidos para estáveis, implementando sidecars como contêineres init especiais com restartPolicy: Always que iniciam antes dos contêineres de aplicações, são executados durante todo o ciclo de vida do pod e suportam sondas para sinalização do estado operacional.

    • Para obter mais informações, consulte Sidecar Containers na documentação do Kubernetes.

  • Descontinuação da API Endpoints: a API Endpoints agora está oficialmente obsoleta e retornará avisos quando acessada. Migre workloads e scripts para usar a API EndpointSlices, que é compatível com recursos modernos, como rede de pilha dupla, e lida com vários EndpointSlices por serviço.

  • Compatibilidade com o Elastic Fabric Adapter: o grupo de segurança padrão para clusters do Amazon EKS agora é compatível com o tráfego do Elastic Fabric Adapter (EFA). O grupo de segurança padrão tem uma nova regra de saída que permite o tráfego do EFA com o destino do mesmo grupo de segurança. Isso permite o tráfego do EFA dentro do cluster.

Para ver o changelog completo do Kubernetes 1.33, consulte https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.33.md.

Kubernetes 1.32

O Kubernetes 1.32 agora está disponível no Amazon EKS. Para obter mais informações sobre o Kubernetes 1.32, consulte o anúncio oficial de lançamento.

Importante
  • A versão da API flowcontrol.apiserver.k8s.io/v1beta3 de FlowSchema e PriorityLevelConfiguration foi removida na versão 1.32. Se você estiver usando essas APIs, deverá atualizar suas configurações para usar a versão compatível mais recente antes de realizar a atualização.

  • A anotação metadata.annotations[kubernetes.io/enforce-mountable-secrets] do ServiceAccount foi descontinuada na versão 1.32 e será removida em uma futura versão secundária do Kubernetes. É recomendado usar namespaces separados para isolar o acesso aos segredos montados.

  • A versão 1.32 do Kubernetes é a última versão para a qual o Amazon EKS lançará AMIs do Amazon Linux 2 (AL2). A partir da versão 1.33, o Amazon EKS continuará a lançar AMIs baseadas no Amazon Linux 2023 (AL2023) e no Bottlerocket.

  • O recurso Memory Manager foi promovido para o status de disponível ao público em geral (GA) na versão 1.32 do Kubernetes. Essa melhoria proporciona uma alocação de memória mais eficiente e previsível para aplicações em contêineres, o que é especialmente vantajoso para workloads com requisitos específicos de memória.

  • Agora, os PersistentVolumeClaims (PVCs) criados por StatefulSets incluem a funcionalidade de limpeza automática. Quando os PVCs não forem mais necessários, eles serão excluídos automaticamente, mantendo a persistência de dados durante as atualizações do StatefulSet e durante as operações de manutenção de nós. Esse recurso simplifica o gerenciamento de armazenamento e ajuda a evitar PVCs isolados em seu cluster.

  • Foi introduzida a funcionalidade de Seletor de campos para recursos personalizados, permitindo que os desenvolvedores adicionem seletores de campo aos recursos personalizados. Esse recurso fornece as mesmas funcionalidades de filtragem disponíveis para objetos do Kubernetes integrados aos recursos personalizados, possibilitando uma filtragem de recursos mais precisa e eficiente, além de promover melhores práticas de design de APIs.

Para ver o changelog completo do Kubernetes 1.32, consulte https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md.

Alterações na autenticação anônima

A partir da versão 1.32 do Amazon EKS, a autenticação anônima passa a ser restrita aos seguintes endpoints de verificação de integridade do servidor da API:

  • /healthz

  • /livez

  • /readyz

As solicitações enviadas para qualquer outro endpoint usando o usuário system:unauthenticated receberão uma resposta HTTP 401 Unauthorized. Esse aprimoramento de segurança ajuda a evitar acessos não intencionais ao cluster que poderiam ocorrer devido a configurações incorretas das políticas de RBAC.

nota

O perfil RBAC public-info-viewer permanece válido para os endpoints de verificação de integridade listados acima.

Descontinuação da AMI do Amazon Linux 2

A versão 1.32 do Kubernetes é a última para a qual o Amazon EKS lançou AMIs baseadas no AL2. A partir da versão 1.33, o Amazon EKS continuará a lançar AMIs baseadas no AL2023 e no Bottlerocket. Para obter mais informações, consulte Guia para os recursos de transição das AMIs do AL2 e aceleradas para AL2.