Le contrôleur Nginx-Ingress ne fonctionne pas après la mise à niveau de Kubernetes 1.24+ dans Azure AKS

Le contrôleur Nginx-Ingress ne fonctionne pas après la mise à niveau de Kubernetes 1.24+ dans Azure AKS

Mon client exige que nous ayons installé des versions de logiciel prises en charge, et je suis également obligé de mettre à niveau Kubernetes conformément à la politique de prise en charge des versions de Kubernetes dans Azure.

La dernière mise à jour de Kubernetes 1.24+ n'était pas très propre - le contrôleur Nginx-ingress a échoué et toutes nos applications ont cessé de répondre.

Ainsi, j'obtiens des délais d'attente lors de l'accès aux applications et je vois ces messages dans les journaux des pods de contrôleur :

Service 'XXX' does not have any active Endpoint.

Solution

Le problème était qu'Azure AKS mettait à jour de manière incorrecte son équilibreur de charge (Kubernetes 1.24 a commencé à utiliser les vérifications de l'état HTTP/S au lieu de TCP). Il était nécessaire de redéployer le contrôleur d'entrée avec une annotation supplémentaire :

service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path: /healthz

Il semble que le redéploiement de la configuration mise à jour oblige AKS à revérifier les paramètres de l'équilibreur de charge et à les corriger en fonction du comportement actuel. Voici ce que j'avais avant la mise à jour :

Le contrôleur Nginx-Ingress ne fonctionne pas après la mise à niveau de Kubernetes 1.24+ dans Azure AKS

Et voici ce qui suit (remarquez la colonne Path):

Le contrôleur Nginx-Ingress ne fonctionne pas après la mise à niveau de Kubernetes 1.24+ dans Azure AKS

azure (fr), kubernetes (fr), aks (fr)

  • Affichages : 379
Ajouter un commentaire

Related Articles