Solución de errores de Node Not Ready si hay certificados expirados

Este artículo le ayuda a solucionar problemas de los escenarios de Node Not Ready dentro de un clúster de Microsoft Azure Kubernetes Service (AKS) si hay certificados expirados.

Requisitos previos

Síntomas

Detecta que un nodo de clúster de AKS está en el estado Nodo no listo.

Causa

Hay uno o varios certificados expirados.

Prevención: ejecute OpenSSL para firmar los certificados.

Compruebe las fechas de expiración de los certificados invocando el comando openssl-x509 , como se indica a continuación:

  • Para los nodos del conjunto de escalado de máquinas virtuales (VM), use el comando az vmss run-command invoke :

    az vmss run-command invoke \
        --resource-group <resource-group-name> \
        --name <vm-scale-set-name> \
        --command-id RunShellScript \
        --instance-id 0 \
        --output tsv \
        --query "value[0].message" \
        --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate"
    
  • Para los nodos del conjunto de disponibilidad de máquinas virtuales, use el comando az vm run-command invoke :

    az vm run-command invoke \
        --resource-group <resource-group-name> \
        --name <vm-availability-set-name> \
        --command-id RunShellScript \
        --output tsv \
        --query "value[0].message" \
        --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate"
    

Es posible que reciba determinados códigos de error después de invocar estos comandos. Para obtener información sobre los códigos de error 50, 51 y 52, consulte los vínculos siguientes, según sea necesario:

Si recibe el código de error 99, esto indica que el comando apt-get update no puede acceder a uno o varios de los siguientes dominios:

  • security.ubuntu.com
  • azure.archive.ubuntu.com
  • nvidia.github.io

Para permitir el acceso a estos dominios, actualice la configuración de los firewalls de bloqueo, los grupos de seguridad de red (NSG) o las aplicaciones virtuales de red (NVA).

Solución: Girar los certificados

Puede aplicar la rotación automática de certificados para rotar los certificados en los nodos antes de que expiren. Esta opción no requiere tiempo de inactividad para el clúster de AKS.

Si puede dar cabida al tiempo de inactividad del clúster, puede rotar manualmente los certificados en su lugar.

Nota:

A partir del 15 de julio de 2021, la versión de AKS, una actualización del clúster de AKS ayuda a rotar automáticamente los certificados de clúster. Sin embargo, este cambio de comportamiento no surte efecto para un certificado de clúster expirado. Si una actualización realiza solo las siguientes acciones, los certificados expirados no se renovarán:

  • Actualizar una imagen de nodo.
  • Actualice un grupo de nodos a la misma versión.
  • Actualice un grupo de nodos a una versión más reciente.

Solo una actualización completa (es decir, una actualización para el plano de control y el grupo de nodos) ayuda a renovar los certificados expirados.

Más información