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
O Amazon EKS é compatível com as versões do Kubernetes por mais tempo do que as versões upstream, com suporte padrão para as versões secundárias do Kubernetes por 14 meses a partir do lançamento no Amazon EKS, e suporte estendido para as versões secundárias do Kubernetes por mais 12 meses de suporte (26 meses no total por versão).
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.29
O Kubernetes 1.29
agora está disponível no Amazon EKS. Para obter mais informações sobre o Kubernetes 1.29
, consulte o anúncio oficial de lançamento
Importante
-
A versão obsoleta da API
flowcontrol.apiserver.k8s.io/v1beta2
deFlowSchema
ePriorityLevelConfiguration
não é mais fornecida na versão1.29
do Kubernetes. Se você tiver manifestos ou software-cliente que usa o grupo de API beta obsoleto, altere-os antes de fazer o upgrade para a versão1.29
.
-
O campo
.status.kubeProxyVersion
para objetos de nó agora está obsoleto, e o projeto do Kubernetes está sugerindo remover esse campo em uma versão futura. O campo obsoleto não é preciso e historicamente foi gerenciado porkubelet
que, na verdade, não conhece a versãokube-proxy
ou mesmo sekube-proxy
está em execução. Se você estiver usando este campo no software cliente, pare. As informações não são confiáveis e o campo agora está obsoleto. -
No Kubernetes
1.29
, para reduzir a potencial superfície de ataque, o recursoLegacyServiceAccountTokenCleanUp
rotulará os tokens legados baseados em segredos gerados automaticamente como inválidos se não forem usados por um longo período (um ano, por padrão), e os removerá automaticamente se não houver uma tentativa de uso por um longo período após serem marcados como inválidos (um ano adicional, por padrão). Para identificar esses tokens, você pode executar:kubectl get cm kube-apiserver-legacy-service-account-token-tracking -n kube-system
Para ver o changelog completo do Kubernetes 1.29
, consulte https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#changelog-since-v1280
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, den-2
paran-3
, para que os componentes de nós (kubelet
ekube-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
eforce_delete_pod_errors_total
noPod 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ãoStorageClass
a qualquer não vinculadoPersistentVolumeClaim
com ostorageClassName
não definido. Além disso, o mecanismo de validação dePersistentVolumeClaim
admissão no servidor da API foi ajustado para permitir a alteração de valores de um estado não definido para um nomeStorageClass
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
eseccomp
container.seccomp.security.alpha.kubernetes.io
anotações alfa foi removido. Asseccomp
anotações alfa foram descontinuadas em1.19
, e com sua remoção em1.27
, osseccomp
campos não serão mais preenchidos automaticamente paraseccomp
comPods
anotações. Em vez disso, use osecurityContext.seccompProfile
campo paraPods
ou contêineres para configurarseccomp
perfis. Para verificar se você está usando as anotações alphaseccomp
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 okubelet
foi removido. O runtime padrão do contêiner para Amazon EKS écontainerd
desde a versão1.24
, o que elimina a necessidade de especificar o runtime do contêiner. A partir de1.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 Kubernetes1.27
aumentou o padrãokubeAPIQPS
para50
ekubeAPIBurst
para100
. Esses aprimoramentos permitemkubelet
lidar com um volume maior de consultas de API, melhorando os tempos de resposta e o desempenho. Quando as demandas de escalonamentoPods
aumentam, devido aos requisitos de escalabilidade, os padrões revisados garantem que eleskubelet
possam gerenciar com eficiência o aumento do workload. Como resultado, osPod
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 comominDomain
. Esse parâmetro permite especificar o número mínimo de domínios pelos quais vocêPods
deve estar distribuído.nodeAffinityPolicy
enodeTaintPolicy
permita um nível extra de granularidade naPod
governança da distribuição. Isso está de acordo com as afinidades dos nós, as manchas e omatchLabelKeys
campotopologySpreadConstraints
em sua especificaçãoPod’s
. Isso permite a seleção de cálculosPods
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 paraStatefulSets
que controla a vida útil de seusPersistentVolumeClaims
(PVCs
). A nova políticaPVC
de retenção permite especificar se oPVCs
gerado a partir do modelo deStatefulSet
especificação será automaticamente excluído ou retido quandoStatefulSet
for excluído ou se as réplicasStatefulSet
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ão1.27
tem a sinalizaçãogoaway-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ão1.12
ou mais recente. Se você não fizer a atualização para a versão1.12
ou mais recente do plug-in CNI da Amazon VPC para Kubernetes, ele falhará. Para obter 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ão1.26
tem a sinalizaçãogoaway-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