Revisão das notas de release das versões do Kubernetes com suporte estendido - 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 estendido

Este tópico fornece mudanças importantes que você deve conhecer em cada versão do suporte estendido. Ao fazer o upgrade, analise cuidadosamente as alterações que ocorreram entre a versão antiga e a nova do seu cluster.

Kubernetes 1.28

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

  • O Kubernetes v1.28 expandiu a distorção suportada entre o nó central e os componentes do ambiente de gerenciamento em uma versão secundária, de n-2 para n-3, para que os componentes de nós (kubelet e kube-proxy) da versão secundária compatível mais antiga possam funcionar com os componentes do ambiente de gerenciamento (kube-apiserver, kube-scheduler, kube-controller-manager, cloud-controller-manager) para a versão secundária compatível mais recente.

  • As métricas force_delete_pods_total e force_delete_pod_errors_total no Pod GC Controller são aprimoradas para considerar a exclusão forçada de todos os pods. Um motivo é adicionado à métrica para indicar se o pod está sendo excluído por força, porque está sendo encerrado, órfão, encerrando com a taint "out-of-service" ou encerrando e não agendado.

  • O PersistentVolume (PV) controlador foi modificado para atribuir automaticamente um padrão StorageClass a qualquer não vinculado PersistentVolumeClaim com o storageClassName não definido. Além disso, o mecanismo de validação de PersistentVolumeClaim admissão no servidor da API foi ajustado para permitir a alteração de valores de um estado não definido para um nome StorageClass real.

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

Kubernetes 1.27

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

Importante
  • O suporte para anotações seccomp.security.alpha.kubernetes.io/pod e seccomp container.seccomp.security.alpha.kubernetes.io anotações alfa foi removido. As seccomp anotações alfa foram descontinuadas em 1.19, e com sua remoção em 1.27, os seccomp campos não serão mais preenchidos automaticamente para seccomp com Pods anotações. Em vez disso, use o securityContext.seccompProfile campo para Pods ou contêineres para configurar seccomp perfis. Para verificar se você está usando as anotações alpha seccomp obsoletas em seu cluster, execute o seguinte comando:

    kubectl get pods --all-namespaces -o json | grep -E 'seccomp.security.alpha.kubernetes.io/pod|container.seccomp.security.alpha.kubernetes.io'
  • O argumento da linha de --container-runtime comando para o kubelet foi removido. O runtime padrão do contêiner para Amazon EKS é containerd desde a versão 1.24, o que elimina a necessidade de especificar o runtime do contêiner. A partir de 1.27 em diante, o Amazon EKS ignorará o --container-runtime argumento passado para qualquer script de bootstrap. É importante que você não passe esse argumento para --kubelet-extra-args evitar erros durante o processo de bootstrap do nó. Você deve remover o --container-runtime argumento de todos os seus fluxos de trabalho de criação de nós e criar scripts.

  • O kubelet no Kubernetes 1.27 aumentou o padrão kubeAPIQPS para 50 e kubeAPIBurst para 100. Esses aprimoramentos permitem kubelet lidar com um volume maior de consultas de API, melhorando os tempos de resposta e o desempenho. Quando as demandas de escalonamento Pods aumentam, devido aos requisitos de escalabilidade, os padrões revisados garantem que eles kubelet possam gerenciar com eficiência o aumento do workload. Como resultado, os Pod lançamentos são mais rápidos e as operações de cluster são mais eficazes.

  • Você pode usar uma Pod topologia mais refinada para difundir políticas como minDomain. Esse parâmetro permite especificar o número mínimo de domínios pelos quais você Pods deve estar distribuído. nodeAffinityPolicy e nodeTaintPolicy permita um nível extra de granularidade na Pod governança da distribuição. Isso está de acordo com as afinidades dos nós, as manchas e o matchLabelKeys campo topologySpreadConstraints em sua especificação Pod’s. Isso permite a seleção de cálculos Pods para distribuição após uma atualização contínua.

  • O Kubernetes 1.27 promoveu a versão beta de um novo mecanismo de política para StatefulSets que controla a vida útil de seus PersistentVolumeClaims (PVCs). A nova política PVC de retenção permite especificar se o PVCs gerado a partir do modelo de StatefulSet especificação será automaticamente excluído ou retido quando StatefulSet for excluído ou se as réplicas StatefulSet forem reduzidas.

  • A opção goaway-chance no servidor de API do Kubernetes ajuda a evitar que as conexões do cliente HTTP/2 fiquem presas em uma única instância do servidor de API, fechando aleatoriamente uma conexão. Quando a conexão for fechada, o cliente tentará se reconectar e provavelmente acessará um servidor de API diferente como resultado do balanceamento de carga. O Amazon EKS versão 1.27 tem a sinalização goaway-chance habilitada. Se sua workload em execução no cluster do Amazon EKS usa um cliente que não é compatível com HTTP GOAWAY, recomendamos atualizar seu cliente para lidar com GOAWAY reconectando-se no encerramento da conexão.

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

Kubernetes 1.26

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

Importante

O Kubernetes 1.26 não é mais compatível com o CRI v1alpha2. Isso faz com que o kubelet deixe de registrar o nó se o runtime do contêiner não for compatível com o CRI v1. Isso também significa que o Kubernetes 1.26 não é compatível com a versão secundária 1.5 do containerd e versões anteriores. Caso esteja usando containerd, você precisará atualizar para a versão 1.6.0 ou mais recente do containerd antes de atualizar qualquer nó para o Kubernetes 1.26. Você também precisa atualizar qualquer outro runtime de contêiner que seja compatível apenas com o v1alpha2. Para obter mais informações, consulte o fornecedor de runtime de contêiner. Por padrão, as AMIs do Amazon Linux e do Bottlerocket incluem a versão 1.6.6 do containerd.

  • Antes de fazer o upgrade para o Kubernetes 1.26, atualize seu plug-in CNI da Amazon VPC para Kubernetes para a versão 1.12 ou mais recente. Se você não fizer a atualização para a versão 1.12 ou mais recente do plug-in CNI da Amazon VPC para Kubernetes, ele falhará. Para ter mais informações, consulte Atribuir IPs a pods com a CNI da Amazon VPC.

  • A opção goaway-chance no servidor de API do Kubernetes ajuda a evitar que as conexões do cliente HTTP/2 fiquem presas em uma única instância do servidor de API, fechando aleatoriamente uma conexão. Quando a conexão for fechada, o cliente tentará se reconectar e provavelmente acessará um servidor de API diferente como resultado do balanceamento de carga. O Amazon EKS versão 1.26 tem a sinalização goaway-chance habilitada. Se sua workload em execução no cluster do Amazon EKS usa um cliente que não é compatível com HTTP GOAWAY, recomendamos atualizar seu cliente para lidar com GOAWAY reconectando-se no encerramento da conexão.

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

Kubernetes 1.25

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

Importante
  • As instâncias P2 do Amazon EC2 não são compatíveis com o Amazon EKS porque exigem a versão 470 ou anterior do driver NVIDIA.

  • A PodSecurityPolicy (PSP) foi removida no Kubernetes 1.25. As PSPs foram substituídas por Pod Security Admission (PSA) e Pod Security Standards (PSS). A PSA é um controlador de admissão integrado que implementa os controles de segurança descritos no PSS. PSA e PSS foram mudados para estáveis no Kubernetes 1.25 e são habilitados no Amazon EKS por padrão. Se você tiver PSPs no cluster, migre de PSP para o PSS integrado do Kubernetes ou para uma solução de política como código antes de atualizar o cluster para a versão 1.25. Se você não migrar do PSP, poderá encontrar interrupções em suas workloads. Para obter mais informações, consulte Migrar das Pod Security Policy (PSPs) legadas.

  • A versão 1.25 do Kubernetes contém mudanças que alteram o comportamento de um recurso existente conhecido como API Priority and Fairness (APF). O APF serve para proteger o servidor de API contra uma possível sobrecarga durante períodos de maior volume de solicitações. Para fazer isso, o recurso impõe restrições ao número de solicitações simultâneas passíveis de processamento a qualquer momento. Esse comportamento é alcançado com a aplicação de níveis e limites de prioridade distintos às solicitações provenientes de várias workloads ou usuários. Essa abordagem garante que aplicações críticas ou solicitações de alta prioridade recebam tratamento preferencial enquanto evita que solicitações de baixa prioridade sobrecarreguem o servidor da API. Para obter mais informações, consulte Prioridade e imparcialidade da API na documentação do Kubernetes ou API Priority and Fairness no Guia de práticas recomendadas do EKS.

    Essas atualizações foram introduzidas nas PR n.º 10352PR n.º 118601. Anteriormente, a APF tratava todos os tipos de solicitações de maneira uniforme, com cada solicitação consumindo uma unidade do limite de solicitações simultâneas. A mudança de comportamento do APF atribui unidades superiores de simultaneidade a solicitações LIST devido à carga excepcionalmente pesada imposta ao servidor de API por essas solicitações. O servidor de API faz a estimativa do número de objetos que serão retornados por um pedido LIST. Ele atribui uma unidade de simultaneidade que é proporcional ao número de objetos retornados.

    Ao atualizar para a versão 1.25 ou superior do Amazon EKS, esse comportamento atualizado pode fazer com que workloads contendo solicitações LIST pesadas (que antes funcionavam sem problemas) se deparem com limites de taxa. Isso seria indicado por um código de resposta HTTP 429. Para evitar possíveis interrupções na workload devido à limitação de taxa para solicitações LIST, recomendamos veementemente que você reestruture suas workloads a fim de reduzir a incidência dessas solicitações. Como alternativa, você pode resolver esse problema ajustando as configurações do APF para alocar mais capacidade para solicitações essenciais enquanto reduz a capacidade alocada para solicitações não essenciais. Para obter mais informações sobre essas técnicas de mitigação, consulte Como prevenir o descarte de solicitações no Guia de melhores práticas do EKS.

  • O Amazon EKS 1.25 inclui aprimoramentos na autenticação de cluster que contêm bibliotecas YAML atualizadas. Se um valor do YAML no ConfigMap aws-auth encontrado no namespace kube-system começar com uma macro, em que o primeiro caractere é uma chave, você deve adicionar aspas (" ") antes e depois das chaves ({ }). Isso é necessário para garantir que o aws-iam-authenticator versão v0.6.3 analise com precisão o aws-auth ConfigMap no Amazon EKS 1.25.

  • A versão beta da API (discovery.k8s.io/v1beta1) do EndpointSlice foi descontinuada no Kubernetes 1.21 e não é mais fornecida a partir da versão 1.25 do Kubernetes. Essa API foi atualizada para discovery.k8s.io/v1. Para obter mais informações, consulte EndpointSlice na documentação do Kubernetes. As versões v2.4.6 e anteriores do AWS Load Balancer Controller usavam o endpoint v1beta1 para se comunicar com o EndpointSlices. Caso esteja usando a configuração do EndpointSlices para o AWS Load Balancer Controller, você deverá atualizá-la para o AWS Load Balancer Controller v2.4.7antes de atualizar o cluster do Amazon EKS para 1.25. Se você fizer a atualização para 1.25 enquanto estiver usando a configuração EndpointSlices para o AWS Load Balancer Controller, o controlador falhará e resultará em interrupções nas workloads. Para atualizar o controlador, consulte Direcionar o tráfego da Internet com o AWS Load Balancer Controller.

  • A versão beta da API (autoscaling/v2beta1) do HorizontalPodAutoscaler não é mais fornecida a partir do Kubernetes 1.25. Essa API foi descontinuada na versão 1.23. Migre manifestos e clientes de API para usar a versão da API HorizontalPodAutoscaler do autoscaling/v2. Para obter mais informações, consulte a documentação do Kubernetes.

  • SeccompDefault foi promovido para a versão beta no Kubernetes 1.25. Ao definir o sinalizador --seccomp-default quando você configura kubelet, o runtime do contêiner usa o perfil RuntimeDefaultseccomp, em vez do modo ‘’não confinado’’(seccomp disabled). Os perfis padrão fornecem um conjunto robusto de padrões de segurança, preservando a funcionalidade da workload. Embora esse sinalizador esteja disponível, o Amazon EKS não habilita esse sinalizador por padrão, portanto, o comportamento do Amazon EKS permanece efetivamente inalterado. Se quiser, você pode começar a habilitar isso em seus nós. Para obter mais detalhes, consulte o tutorial Restrict a Container's Syscalls with seccomp na documentação do Kubernetes.

  • A compatibilidade com a Container Runtime Interface (CRI) para Docker (também conhecida como dockershim) foi removida da versão 1.24 e mais recente do Kubernetes. O único runtime de contêineres nas AMIs oficiais do Amazon EKS para clusters 1.24 ou mais recentes do Kubernetes é o containerd. Antes de fazer o upgrade para o Amazon EKS 1.24 ou posterior, remova qualquer referência aos sinalizadores de script de bootstrap que não forem mais compatíveis. Para ter mais informações, consulte Migrar de dockershim para containerd.

  • O suporte para consultas curinga foi descontinuado no CoreDNS 1.8.7 e removido no CoreDNS 1.9. Isso foi feito como medida de segurança. As consultas curinga não funcionam mais e retornam NXDOMAIN em vez de um endereço IP.

  • A opção goaway-chance no servidor de API do Kubernetes ajuda a evitar que as conexões do cliente HTTP/2 fiquem presas em uma única instância do servidor de API, fechando aleatoriamente uma conexão. Quando a conexão for fechada, o cliente tentará se reconectar e provavelmente acessará um servidor de API diferente como resultado do balanceamento de carga. O Amazon EKS versão 1.25 tem a sinalização goaway-chance habilitada. Se sua workload em execução no cluster do Amazon EKS usa um cliente que não é compatível com HTTP GOAWAY, recomendamos atualizar seu cliente para lidar com GOAWAY reconectando-se no encerramento da conexão.

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

Kubernetes 1.24

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

Importante
  • A partir do Kubernetes 1.24, as novas APIs beta não estão habilitadas nos clusters por padrão. Por padrão, as APIs beta existentes e as novas versões das APIs beta existentes continuam a ser habilitadas. O Amazon EKS segue o mesmo comportamento do Upstream Kubernetes 1.24. As portas de recursos que controlam novos recursos para operações de API novas e existentes são habilitadas por padrão. Isso está alinhado com o Upstream Kubernetes. Para obter mais informações, consulte KEP-3136: Beta APIs Are Off by Default (KEP-3136: as APIs beta sã desativadas por padrão) no GitHub.

  • A compatibilidade com a Container Runtime Interface (CRI) para Docker (também conhecida como dockershim) foi removida do Kubernetes 1.24. As AMIs oficiais do Amazon EKS têm o containerd como o único runtime. Antes de mudar para o Amazon EKS 1.24 ou superior, você deverá remover qualquer referência aos sinalizadores de script de bootstrap que não forem mais compatíveis. Certifique-se também de que o encaminhamento de IP esteja habilitado para seus nós de processamento. Para ter mais informações, consulte Migrar de dockershim para containerd.

  • Caso já tenha o Fluentd configurado para o Container Insights, você deverá migrar o Fluentd para o Fluent Bit antes de atualizar o cluster. Os analisadores Fluentd são configurados para analisar apenas mensagens de log no formato JSON. Ao contrário de dockerd, o runtime do containerd contêiner tem mensagens de log que não estão no formato JSON. Se você não migrar para o Fluent Bit, alguns dos analisadores Fluentd configurados vão gerar muitos erros dentro do contêiner do Fluentd. Para obter mais informações sobre migração, consulte Configurar o Fluent Bit como um DaemonSet para enviar logs para o CloudWatch Logs.

  • No Kubernetes 1.23 e mais recente, os certificados fornecidos pelo kubelet com Subject Alternative Names (SANs) IP e DNS não verificáveis são emitidos automaticamente com SANs não verificáveis. Esses SANs não verificáveis são omitidos do certificado provisionado. Em clusters versão 1.24 e posteriores, os certificados servidor pelo kubelet não serão emitidos se o SAN não puder ser verificado. Isso impede o funcionamento dos comandos kubectl exec e kubectl logs. Para ter mais informações, consulte Considerações sobre a assinatura de certificados antes de atualizar o cluster para o Kubernetes 1.24.

  • Ao atualizar um cluster do Amazon EKS 1.23 que usa o Fluent Bit, verifique se ele está executando a versão k8s/1.3.12 ou mais recente. Para isso, reaplique o arquivo YAML aplicável mais recente do Fluent Bit do GitHub. Para obter mais informações, consulte Configuração do Fluent Bit no Guia do usuário do Amazon CloudWatch.

  • Você pode usar dicas sensíveis à topologia para indicar sua preferência por manter o tráfego na zona quando os nós de processamento do cluster são implantados em várias zonas de disponibilidade. O roteamento do tráfego dentro de uma zona pode ajudar a reduzir custos e melhorar a performance da rede. Por padrão, as dicas sensíveis à topologia são habilitadas no Amazon EKS1.24. Para obter mais informações, consulte Topology Aware Hints na documentação do Kubernetes.

  • A PodSecurityPolicy (PSP) está programada para ser removida no Kubernetes 1.25. As PSPs estão sendo substituídas pela Pod Security Admission (PSA). O PSA é um controlador de admissão integrado que usa os controles de segurança descritos nos Pod Security Standards (PSS). Tanto o PSA quanto os PSS são recursos beta e são habilitados no Amazon EKS por padrão. Para resolver a remoção da PSP na versão 1.25, recomendamos que você implemente o PSS no Amazon EKS. Para obter mais informações, consulte Implementing Pod Security Standards in Amazon EKS (Implementando Pod Security Standards no Amazon EKS) no blog da AWS.

  • A ExecCredential client.authentication.k8s.io/v1alpha1 foi removida no Kubernetes 1.24. A API ExecCredential estava disponível para o público no Kubernetes 1.22. Se você usar um plug-in de credencial client-go que dependa da API v1alpha1, entre em contato com o distribuidor do plug-in para saber como migrar para a API v1.

  • No Kubernetes 1.24, contribuímos com um recurso para o projeto upstream do Cluster Autoscaler que simplifica a escalabilidade de grupos de nós gerenciados do Amazon EKS de e para zero nó. Anteriormente, para que o Cluster Autoscaler entendesse os recursos, rótulos e taints de um grupo de nós gerenciados que era escalado para zero nós, era necessário marcar o grupo subjacente do Amazon EC2 Auto Scaling com os detalhes dos nós pelos quais ele era responsável. Agora, quando não há nós em execução no grupo de nós gerenciados, o Cluster Autoscaler chama a operação de API DescribeNodegroup do Amazon EKS. Essa operação de API fornece as informações de que o Cluster Autoscaler precisa sobre os recursos, rótulos e taints do grupo de nós gerenciados. Esse recurso requer que você adicione a permissão eks:DescribeNodegroup à política do IAM da conta do serviço Cluster Autoscaler. Quando o valor de uma tag do Cluster Autoscaler no grupo do Auto Scaling que aciona um grupo de nós gerenciados pelo Amazon EKS conflita com o próprio grupo de nós, o Cluster Autoscaler dá preferência ao valor da tag do grupo do Auto Scaling. Isso permite que você substitua os valores conforme necessário. Para obter mais informações, consulte Autoscaler do cluster.

  • Caso pretenda usar os tipos de instância Inferentia ou Trainium com o Amazon EKS 1.24, você deverá atualizar para a versão 1.9.3.0 ou mais recente do plug-in do dispositivo AWS Neuron. Para obter mais informações, consulte Neuron K8 release [1.9.3.0] na documentação do AWS Neuron.

  • Por padrão, o Containerd tem o IPv6 habilitado para pods. Ele aplica as configurações do kernel do nó aos namespaces de rede de pods. Por isso, os contêineres em um pod se vinculam aos endereços de loopback IPv4 (127.0.0.1) e IPv6 (::1). O IPv6 é o protocolo padrão para comunicação. Antes de atualizar o cluster para a versão 1.24, recomendamos que você teste os pods de vários contêineres. Modifique os aplicativos para que eles possam se vincular a todos os endereços IP nas interfaces de loopback. A maioria das bibliotecas permite a vinculação do IPv6, que é compatível com o IPv4. Quando não é possível modificar o código da aplicação, você tem duas opções:

    • Execute um contêiner init e defina disable ipv6 como true (sysctl -w net.ipv6.conf.all.disable_ipv6=1).

    • Configure um webhook de admissão mutante para injetar um contêiner init junto com os pods de aplicações.

    Se você precisar bloquear o IPv6 para todos os pods em todos os nós, talvez seja necessário desabilitar o IPv6 nas instâncias.

  • A opção goaway-chance no servidor de API do Kubernetes ajuda a evitar que as conexões do cliente HTTP/2 fiquem presas em uma única instância do servidor de API, fechando aleatoriamente uma conexão. Quando a conexão for fechada, o cliente tentará se reconectar e provavelmente acessará um servidor de API diferente como resultado do balanceamento de carga. O Amazon EKS versão 1.24 tem a sinalização goaway-chance habilitada. Se sua workload em execução no cluster do Amazon EKS usa um cliente que não é compatível com HTTP GOAWAY, recomendamos atualizar seu cliente para lidar com GOAWAY reconectando-se no encerramento da conexão.

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

Kubernetes 1.23

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

Importante
  • O recurso de migração de volumes em árvore para a interface de armazenamento de contêineres (CSI) do Kubernetes é habilitado. O recurso permite a substituição de plug-ins de armazenamento em árvore no Kubernetes para o Amazon EBS com um driver CSI correspondente do Amazon EBS. Para obter mais informações, consulte Kubernetes 1.17 Feature: Kubernetes In-Tree to CSI Volume Migration Moves to Beta no blog do Kubernetes.

    O recurso converte APIs em árvore para APIs CSI equivalentes e delega operações a um driver CSI substituto. Com esse recurso, se você usar objetos StorageClass, PersistentVolume e PersistentVolumeClaim que pertençam a essas workloads, provavelmente não haverá nenhuma alteração perceptível. O recurso permite que o Kubernetes delegue todas as operações de gerenciamento de armazenamento do plug-in em árvore para o driver de CSI. Se você usar volumes do Amazon EBS em um cluster existente, instale o driver da CSI do Amazon EBS no cluster antes de atualizá-lo para a versão 1.23. Se você não instalar o driver antes de atualizar o cluster existente, há a possibilidade de ocorrer interrupções nas workloads. Se você planejar implantar workloads que usem volumes do Amazon EBS em um novo cluster 1.23, instale o driver da CSI do Amazon EBS no cluster antes de implantar as workloads. Para obter instruções sobre como instalar o driver de CSI do Amazon EBS no cluster, consulte Armazenar volumes do Kubernetes com o Amazon EBS.

  • O suporte estendido para AMIs do Windows otimizadas para o Amazon EKS que são publicadas pela AWS não está disponível na versão 1.23 do Kubernetes, mas está disponível na versão 1.24 e mais recente.

  • O Kubernetes deixou de ser compatível com dockershim na versão dockershim e removeu o 1.20 na versão 1.24. Para obter mais informações, consulte Kubernetes is Moving on From Dockershim: Commitments and Next Steps (O Kubernetes está superando o Dockershim: compromissos e próximas etapas) no blog do Kubernetes. O Amazon EKS deixará de ser compatível com o dockershim a partir do Amazon EKS versão 1.24. A partir do Amazon EKS versão 1.24, as AMIs oficiais do Amazon EKS terão o containerd como o único runtime.

    Embora a versão 1.23 do Amazon EKS continue sendo compatível com odockershim, recomendamos que você comece a testar as aplicações agora mesmo para identificar e remover quaisquer dependências do Docker. Dessa forma, você estará preparado para atualizar seu cluster para a versão 1.24. Para obter mais informações sobre a remoção do dockershim, consulte Migrar de dockershim para containerd.

  • O Kubernetes mudou para disponibilidade geral a rede de pilha dupla IPv4/IPv6 para pods, serviços e nós. Porém, o Amazon EKS e o plug-in CNI da Amazon VPC para Kubernetes atualmente não são compatíveis com a rede de pilha dupla. Os clusters podem atribuir endereços IPv4 ou IPv6 a serviços e pods, mas não podem atribuir os dois tipos de endereço.

  • O Kubernetes mudou o recurso Pod Security Admission (PSA) para a versão beta. O recurso é habilitado por padrão. Para obter mais informações, consulte Pod Security Admission na documentação do Kubernetes. A PSA substitui o controlador de admissão da Pod Security Policy (PSP). O controlador de admissão PSP não é compatível e sua remoção está agendada para a versão 1.25 do Kubernetes.

    O controlador de admissão PSP impõe padrões de segurança de pods em um namespace com base em rótulos específicos do namespace que definem o nível de imposição. Para obter mais informações, consulte Pod Security Standards (PSS) and Pod Security Admission (PSA) (Padrões de segurança de pod [PSS] e admissão de segurança de pod [PSA]) no guia de práticas recomendadas do Amazon EKS.

  • Agora, a imagem do kube-proxy implantada com clusters é a imagem básica mínima mantida pelo Amazon EKS Distro (EKS-D). A imagem contém pacotes mínimos e não tem shells ou gerenciadores de pacotes.

  • O Kubernetes mudou contêineres temporários para a versão beta. Contêineres efêmeros são contêineres temporários executados no mesmo namespace de um pod existente. Você pode usá-los para observar o estado de pods e contêineres a fim de solucionar problemas e realizar depuração. Isso é especialmente útil para solucionar problemas interativos quando kubectl exec é insuficiente porque um contêiner travou ou uma imagem de contêiner não inclui utilitários de depuração. As imagens sem distribuição são um exemplo de contêiner que inclui um utilitário de depuração. Para obter mais informações, consulte Debugging with an ephemeral debug container na documentação do Kubernetes.

  • O Kubernetes mudou a API autoscaling/v2 estável do HorizontalPodAutoscaler para disponibilidade geral. A API HorizontalPodAutoscaler autoscaling/v2beta2 está obsoleta. Ele não está disponível na versão 1.26.

  • A opção goaway-chance no servidor de API do Kubernetes ajuda a evitar que as conexões do cliente HTTP/2 fiquem presas em uma única instância do servidor de API, fechando aleatoriamente uma conexão. Quando a conexão for fechada, o cliente tentará se reconectar e provavelmente acessará um servidor de API diferente como resultado do balanceamento de carga. O Amazon EKS versão 1.23 tem a sinalização goaway-chance habilitada. Se sua workload em execução no cluster do Amazon EKS usa um cliente que não é compatível com HTTP GOAWAY, recomendamos atualizar seu cliente para lidar com GOAWAY reconectando-se no encerramento da conexão.

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