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

Ajudar a melhorar esta página

Quer contribuir para este guia do usuário? Role até o final desta página e selecione Editar esta página no GitHub. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.

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 Kubernetes 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.27

O Kubernetes 1.27 já 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 em Kubernetes 1.27 aumentou o padrão de kubeAPIQPS para 50 e de 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.

  • Kubernetes1.27 promoveu à versão beta um novo mecanismo de política StatefulSets que controla a vida útil de seu 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.

  • Por meio do fechamento aleatório de uma conexão, 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. 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 log de alterações 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 já 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 oferece mais suporte a 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 oferece suporte à versão secundária 1.5 do containerd e versões anteriores. Se você estiver usando containerd, precisará atualizar para o containerd versão 1.6.0 ou posterior 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 Amazon Linux e Bottlerocket incluem o containerd versão 1.6.6.

  • Antes de fazer o upgrade para Kubernetes 1.26, atualize seu Amazon VPC CNI plugin for Kubernetes para a versão 1.12 ou posterior. Se você não fizer o upgrade para o Amazon VPC CNI plugin for Kubernetes versão 1.12 ou posterior, o Amazon VPC CNI plugin for Kubernetes vai falhar. Para ter mais informações, consulte Atribuir IPs a Pods com a CNI da Amazon VPC.

  • Por meio do fechamento aleatório de uma conexão, 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. 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 log de alterações 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 já 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
  • A partir do Kubernetes versão 1.25, não será mais possível usar instâncias P2 do Amazon EC2 com as AMIs aceleradas do Amazon Linux otimizadas para o Amazon EKS prontas para uso. Essas AMIs para o Kubernetes versões 1.25 ou posteriores serão compatíveis com drivers série NVIDIA 525 ou posterior, que são incompatíveis com as instâncias P2. No entanto, os drivers da série NVIDIA 525 ou posteriores são compatíveis com as instâncias P3, P4 e P5. Portanto, é possível usar essas instâncias com as AMIs para o Kubernetes versão 1.25 ou posterior. Antes que seus clusters do Amazon EKS sejam atualizados para a versão 1.25, migre qualquer instância P2 para instâncias P3, P4 e P5. Você também deverá atualizar proativamente suas aplicações para funcionar com a série NVIDIA 525 ou posterior. Planejamos transferir os drivers da série NVIDIA 525 ou mais recente ou para as versões 1.23 e 1.24 do Kubernetes no final de janeiro de 2024.

  • A PodSecurityPolicy (PSP) é removida em Kubernetes 1.25. PSPs são substituídos pelos Pod Security Admission (PSA) e pelos (PSS) do Pod Security Standards. PSA é um controlador de admissão integrado que implementa os controles de segurança descritos no PSS. PSA e PSS são graduados para estabilizar em Kubernetes 1.25 e estão habilitados no Amazon EKS por padrão. Se você tiver PSPs no cluster, migre de PSP para a solução integrada Kubernetes PSS 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 Migração de políticas de segurança de pod (PSP) herdadas.

  • O Kubernetes versão 1.25 contém mudanças que alteram o comportamento de um recurso existente conhecido como APF (API Priority and Fairness – Prioridade e equidade de API). 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 equidade de API na  documentação do Kubernetes ou Prioridade e equidade de API no Guia de melhores práticas 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 YAML bibliotecas atualizadas. Se um valor YAML no aws-auth ConfigMap encontrado no namespace kube-system começar com uma macro, em que o primeiro caractere for 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 exibida a partir do Kubernetes 1.25. Essa API foi atualizada para discovery.k8s.io/v1. Para obter mais informações, consulte a EndpointSlice documentação do Kubernetes. O AWS Load Balancer Controller v2.4.6 e anteriores usavam o endpoint v1beta1 para se comunicar com o EndpointSlices. Se você estiver usando a configuração EndpointSlices do AWS Load Balancer Controller, deverá atualizá-la para AWS Load Balancer Controller v2.4.7 antes de atualizar o cluster do Amazon EKS para 1.25. Se você fizer o upgrade para 1.25 enquanto estiver usando a configuração EndpointSlices do 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 é promovido à versão beta em 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 (Restringir as Syscalls de um contêiner com seccomp) na documentação do Kubernetes.

  • A compatibilidade com a Container Runtime Interface (CRI) para Docker (também conhecida como dockershim) foi removida do Kubernetes 1.24 e posterior. O único runtime de contêineres nas AMIs oficiais do Amazon EKS para Kubernetes 1.24 e clusters posteriores é 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.

  • Por meio do fechamento aleatório de uma conexão, 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. 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 log de alterações 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 já 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 que o Kubernetes 1.24 upstream. 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 Kubernetes upstream. 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 ú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.

  • Se você já tiver Fluentd configurado para Container Insights, deverá migrar Fluentd para Fluent Bit antes de atualizar seu 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 Fluent Bit, alguns dos Fluentd's analisadores configurados gerarão muitos erros dentro do Fluentd contêiner. Para obter mais informações sobre migração, consulte Configurar Fluent Bit como um DaemonSet para enviar logs para o CloudWatch Logs.

  • No Kubernetes 1.23 e anteriores, certificados servidos 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 certificado antes de atualizar seu cluster para o Kubernetes 1.24.

  • Ao atualizar um cluster do Amazon EKS 1.23 que usa Fluent Bit, verifique se ele está executando o k8s/1.3.12 ou posterior. Para isso, reaplique o arquivo YAML Fluent Bit aplicável mais recente peloGitHub. Para obter mais informações, consulte Configurar o 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 (Dicas sensíveis à topologia) na documentação do Kubernetes.

  • O PodSecurityPolicy (PSP) está programado para remoção no Kubernetes 1.25. Os PSPs estão sendo substituídos pelo 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 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 em geral 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.

  • Para o Kubernetes 1.24, contribuímos com um recurso para o projeto upstream do Cluster Autoscaler que simplifica a escalação de grupos de nós gerenciados do Amazon EKS de e para zero nós. 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 ter mais informações, consulte Escalar a computação em cluster com o Karpenter e o Cluster Autoscaler.

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

  • Por padrão, Containerd tem o IPv6 habilitado para Pods. Ele aplica as configurações do kernel do nó aos namespaces de rede do Pod. Por isso, os contêineres em um Pod se vinculam aos endereços de loopback IPv4 (127.0.0.1) and IPv6 (::1). 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 do aplicativo, 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 suas instâncias.

  • Por meio do fechamento aleatório de uma conexão, 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. 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 log de alterações 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 já 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 volume in-tree para a interface de armazenamento de contêiner (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 de CSI correspondente do Amazon EBS. Para obter mais informações, consulte Recurso do Kubernetes 1.17: migração de volume Kubernetes em árvore para CSI segue para etapa beta no blog 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 Armazene volumes do Kubernetes com o Amazon EBS. Para ver as perguntas frequentes sobre o recurso de migração, consulte Perguntas frequentes sobre migração de CSI do Amazon EBS.

  • O Extended Support para AMIs do Windows otimizadas do Amazon EKS que são publicadas pela AWS não está disponível para o Kubernetes versão1.23, mas está disponível para o Kubernetes versão 1.24 e superior.

  • O Kubernetes deixou de ser compatível com dockershim na versão 1.20 e removeu o dockershim na versão 1.24. Para obter mais informações, consulte O Kubernetes está migrando do 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 o Amazon EKS versão 1.23 continue sendo compatível com o dockershim, recomendamos que você comece a testar suas 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 promoveu para disponibilidade geral a rede de pilha dupla IPv4/IPv6 para Pods, serviços e nós. No entanto, atualmente o Amazon EKS e o Amazon VPC CNI plugin for Kubernetes não são compatíveis com redes de pilha dupla. Seus clusters podem atribuir endereços IPv4 ou IPv6 a Pods e serviços, mas não podem atribuir os dois tipos de endereço.

  • O Kubernetes promoveu o recurso Pod Security Admission (PSA) para a fase beta. O recurso é habilitado por padrão. Para obter mais informações, consulte Pod Security Admission (Admissão de segurança de pods) na documentação do Kubernetes. O PSA substitui o controlador de admissão Pod Security Policy (PSP). Não há compatibilidade com o controlador de admissão PSP e sua remoção está programada para o Kubernetes versão 1.25.

    O controlador de admissão PSP aplica padrões de segurança de Pod em Pods em um namespace com base em rótulos específicos de 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 nem gerenciadores de pacotes.

  • O Kubernetes promoveu contêineres efêmeros para a fase 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 o kubectl exec é insuficiente porque um contêiner sofreu uma pane 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 (Depuração com um contêiner efêmero de depuração) na documentação do Kubernetes.

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

  • Por meio do fechamento aleatório de uma conexão, 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. 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 log de alterações completo do Kubernetes 1.23, consulte https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.23.md#changelog-since-v1220.