O Alibaba Cloud Container Service for Kubernetes (ACK) possui certificação de conformidade com o Kubernetes. Este documento descreve as principais alterações, atualizações de recursos e descontinuações do Kubernetes 1.36 no ACK, bem como os avisos de atualização e as versões dos componentes.
Versões dos componentes
A tabela a seguir lista as versões dos componentes principais em um cluster ACK.
Componente principal | Versão |
Kubernetes | 1.36.1-aliyun.1, 1.36.2-aliyun.1 |
etcd | v3.6.10 |
containerd | 2.1.6 |
CoreDNS | v1.12.1.3 |
CSI | Atualize o componente para a versão compatível mais recente. Para obter mais informações, consulte as notas de versão do csi-plugin e do csi-provisioner. |
CNI | Flannel v0.28.0.6 |
Terway e TerwayControlplane v1.15.0 ou posterior |
Principais alterações
No Kubernetes 1.36, o campo
.spec.externalIPspara Services está descontinuado e tem remoção programada para a v1.43. Esse campo é uma vulnerabilidade de segurança conhecida há muito tempo, expondo o tráfego do cluster a ataques man-in-the-middle, conforme documentado em CVE-2020-8554. Se você usar esse campo, migre para uma alternativa o mais breve possível.-
Para novos clusters em execução no Kubernetes 1.36, a versão padrão do componente Gateway API passa de 1.3.0 para 1.5.1. Como o Gateway API 1.5.1 descontinua a versão v1alpha2 da API TLSRoute, as instâncias do Alibaba Cloud service Mesh (ASM) da v1.25 e anteriores, bem como as versões do Istio anteriores a 1.29.2, são incompatíveis.
Ao atualizar um cluster existente para o Kubernetes 1.36, a atualização do componente Gateway API não ocorre automaticamente. Atualize manualmente o componente consultando Gateway API .
Atualizações de recursos
O recurso VolumeGroupSnapshot agora tem disponibilidade geral (GA). Com ele, crie um snapshot consistente em várias persistent volume claims simultaneamente, reduzindo o risco de inconsistência de dados causada por snapshots assíncronos.
O recurso Mutable CSINode allocatable agora tem disponibilidade geral (GA). Ele permite que um driver CSI atualize dinamicamente o número de volumes anexáveis a um nó. Isso evita imprecisões de escalonamento ou falhas de anexação causadas por limites de anexação de volume desatualizados.
Os principais recursos de Dynamic Resource Allocation (DRA) agora têm disponibilidade geral (GA), incluindo o acesso de administrador do DRA e as listas priorizadas. Eles fornecem uma base de API estável e de longo prazo para o gerenciamento global de recursos de hardware e uma lógica de seleção de recursos consistente e previsível. Além disso, alguns recursos muito aguardados foram promovidos para Beta. Para obter mais informações, consulte Atualizações do DRA no Kubernetes 1.36.
O MutatingAdmissionPolicies agora tem disponibilidade geral (GA). Esse recurso permite que os administradores definam regras de mutação de recursos diretamente no servidor de api usando a Common Expression Language (CEL). Ele oferece uma alternativa nativa aos admission webhooks tradicionais em muitos cenários, reduzindo a sobrecarga de rede e operacional e garante um comportamento de cluster mais previsível.
O recurso UserNamespacesSupport agora tem disponibilidade geral (GA). Ele vem ativado por padrão e permite que os Pods usem namespaces de usuário do Linux para maior segurança. Essa alteração não afeta os Pods existentes. Para ativar ou desativar esse recurso, especifique manualmente
pod.spec.hostUsers.O KubeletPSI foi promovido para Beta. Esse recurso permite que o kubelet exponha métricas de Pressure Stall Information (PSI) por meio da Summary API e das métricas do Prometheus.
Esta versão introduz a mitigação de obsolescência para controllers. Essa melhoria evita operações incorretas passíveis de ocorrer quando um controller atua sobre dados em cache desatualizados.
O recurso StrictIPCIDRValidation foi promovido para Beta. Ele reforça a validação de campos IP e CIDR na API, permitindo a detecção antecipada de endereços e segmentos de rede malformados. Isso ajuda a evitar problemas sutis de configuração ou riscos de segurança em recursos como Services, Pods e NetworkPolicies causados por endereços IP ou CIDRs inválidos.
O MutablePodResourcesForSuspendedJobs foi promovido para Beta e vem ativado por padrão. Esse recurso permite que você modifique as solicitações e os limites de CPU, memória, gpu e recursos estendidos de um contêiner quando o Job estiver suspenso.
O ConstrainedImpersonation, promovido para Beta, alinha o mecanismo de impersonação de usuário ao princípio do menor privilégio. Quando ativado, o impersonador deve ter permissões tanto para impersonar uma identidade específica quanto para executar as ações desejadas como essa identidade.
O ComponentStatusz foi promovido para Beta e vem ativado por padrão. Ele fornece um endpoint
/statuszpara os componentes principais do Kubernetes exibirem informações de compilação e versão em tempo real, como hora de inicialização, tempo de atividade, versão do Go, versão do binário e versão de compatibilidade. Isso ajuda os operadores e desenvolvedores a entenderem rapidamente o status de execução atual.O ComponentFlagz foi promovido para Beta e vem ativado por padrão. Ele fornece um endpoint unificado
/flagzpara os componentes principais do Kubernetes, exibindo os parâmetros de linha de comando em vigor na inicialização. Isso ajuda os operadores e desenvolvedores a solucionar problemas de configuração. Também verifique se as alterações de parâmetros foram aplicadas após uma reinicialização.
Descontinuações
No Kubernetes 1.36, o campo
.spec.externalIPspara Services está descontinuado e tem remoção programada para a v1.43. Se você usar esse campo, migre para uma alternativa o mais breve possível.A partir do Kubernetes 1.36, o plugin de volume gitrepo fica desativado permanentemente. Recomendamos o uso de alternativas, como um contêiner de inicialização (init container) ou uma ferramenta externa git (git-sync).
Referências
Para o changelog completo do Kubernetes 1.36, consulte o CHANGELOG-1.36 e o Kubernetes v1.36: ハル (Haru).