Résoudre les échecs de nœud non prêt s’il existe des certificats expirés
Cet article vous aide à résoudre les problèmes liés aux scénarios Node Not Ready au sein d’un cluster Microsoft Azure Kubernetes Service (AKS) s’il existe des certificats expirés.
Conditions préalables
Symptômes
Vous découvrez qu’un nœud de cluster AKS est à l’état Nœud non prêt.
Cause
Il existe un ou plusieurs certificats arrivés à expiration.
Prévention : exécutez OpenSSL pour signer les certificats
Vérifiez les dates d’expiration des certificats en appelant la commande openssl-x509 , comme suit :
Pour les nœuds de groupe de machines virtuelles identiques, utilisez la commande 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"
Pour les nœuds de groupe à haute disponibilité de machine virtuelle, utilisez la commande 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"
Vous pouvez recevoir certains codes d’erreur après avoir appelé ces commandes. Pour plus d’informations sur les codes d’erreur 50, 51 et 52, consultez les liens suivants, si nécessaire :
- Résoudre les problèmes liés au code d’erreur OutboundConnFailVMExtensionError (50)
- Résoudre les problèmes liés au code d’erreur K8SAPIServerConnFailVMExtensionError (51)
- Résoudre les problèmes liés au code d’erreur K8SAPIServerDNSLookupFailVMExtensionError (52)
Si vous recevez le code d’erreur 99, cela indique que la commande apt-get update est bloquée pour accéder à un ou plusieurs des domaines suivants :
- security.ubuntu.com
- azure.archive.ubuntu.com
- nvidia.github.io
Pour autoriser l’accès à ces domaines, mettez à jour la configuration des pare-feu bloquants, des groupes de sécurité réseau (NSG) ou des appliances virtuelles réseau (NVA).
Solution : Faire pivoter les certificats
Vous pouvez appliquer la rotation automatique des certificats pour faire pivoter les certificats dans les nœuds avant qu’ils n’expirent. Cette option ne nécessite aucun temps d’arrêt pour le cluster AKS.
Si vous pouvez prendre en charge les temps d’arrêt du cluster, vous pouvez faire pivoter manuellement les certificats à la place.
Remarque
À compter de la version du 15 juillet 2021 d’AKS, une mise à niveau de cluster AKS permet automatiquement de faire pivoter les certificats de cluster. Toutefois, cette modification comportementale ne prend pas effet pour un certificat de cluster expiré. Si une mise à niveau effectue uniquement les actions suivantes, les certificats expirés ne sont pas renouvelés :
- Mettre à niveau une image de nœud.
- Mettez à niveau un pool de nœuds vers la même version.
- Mettez à niveau un pool de nœuds vers une version plus récente.
Seule une mise à niveau complète (autrement dit, une mise à niveau pour le plan de contrôle et le pool de nœuds) permet de renouveler les certificats arrivés à expiration.
Informations supplémentaires
- Pour connaître les étapes de dépannage générales, consultez Résolution des problèmes de base des échecs Node Not Ready.