AKS v1.34: FIPS, TLS 1.2 EMS y la retirada definitiva de Azure Linux 2.0
Resumen
AKS v1.34 llega con cambios que afectan directamente a entornos en producción: los componentes del plano de control se compilan ahora con Go 1.25 y módulos criptográficos FIPS, lo que impone el Extended Master Secret (EMS) en conexiones TLS 1.2 de nodos FIPS. Además, a partir del 31 de marzo de 2026 los nodos con Azure Linux 2.0 dejan de funcionar. Si tienes clústeres con esa imagen, debes migrar ya.
¿Qué cambió en AKS v1.34?
Enforcement de EMS en TLS 1.2 (nodos FIPS)
Go 1.25 rechaza handshakes TLS 1.2 que no incluyan el Extended Master Secret (EMS) cuando FIPS está activado. Esto afecta a:
- Aplicaciones cliente que hablan con el API server de Kubernetes
- Admission webhooks registrados contra
kube-apiserver - Cualquier componente compilado con Go < 1.21
Las aplicaciones compiladas con Go < 1.21 no enviaban EMS por defecto en TLS 1.2, por lo que fallarán al conectarse a componentes de AKS v1.34 en nodos FIPS.
sequenceDiagram
participant App as App (Go < 1.21)
participant AKS as AKS v1.34 API Server (FIPS)
App->>AKS: TLS 1.2 ClientHello (sin EMS)
AKS-->>App: ❌ Handshake rechazado
Note over App,AKS: Go 1.25 + FIPS exige EMS en TLS 1.2
Retirada de Azure Linux 2.0
| Fecha | Evento |
|---|---|
| 30 nov 2025 | Fin de soporte y actualizaciones de seguridad |
| 31 mar 2026 | Eliminación de imágenes de nodo |
Desde el 31 de marzo no puedes escalar ni recuperar nodos con Azure Linux 2.0. Las operaciones de reimage y redeploy fallarán.
Cómo verificar si estás afectado
Comprobar versión de Kubernetes y osSKU
az aks show \
--resource-group <rg> \
--name <cluster> \
--query "agentPoolProfiles[].{name:name, osSku:osSku, k8sVersion:currentOrchestratorVersion}" \
-o table
Comprobar si FIPS está habilitado en el node pool
az aks nodepool show \
--resource-group <rg> \
--cluster-name <cluster> \
--name <nodepool> \
--query "enableFips"
Cómo migrar
Opción 1: Actualizar node pools a Azure Linux 3
az aks nodepool upgrade \
--resource-group <rg> \
--cluster-name <cluster> \
--name <nodepool> \
--os-sku AzureLinux
Note
AzureLinux en la CLI apunta a la versión 3.x por defecto desde finales de 2025.
Opción 2: Actualizar a versión de Kubernetes compatible
Si el node pool está en una versión antigua, primero actualiza Kubernetes:
Resolver problemas de TLS 1.2 EMS
Si tienes aplicaciones compiladas con Go < 1.21:
Para webhooks, verificar que el servidor TLS responde con EMS:
Buenas prácticas
- Comprueba la versión de Go de todos los componentes que usen la API de Kubernetes antes de activar FIPS.
- Si usas cert-manager, ingress controllers o admission webhooks de terceros, verifica que estén actualizados.
- Para migration de AzureLinux 2.0, crea primero un nuevo node pool con AzureLinux 3, drena el antiguo y elimínalo.
- Suscríbete a las AKS release notes para anticipar cambios similares.
Warning
No esperes al 31 de marzo para migrar Azure Linux 2.0. Una vez eliminadas las imágenes, las operaciones de scaling y remediation fallan sin previo aviso.