1 votes

Échecs intermittents de connexion au service Kubernetes sur GKE

J'essaie de diagnostiquer ce problème depuis plusieurs jours et j'ai une idée assez précise de ce qui se passe, mais je ne sais toujours pas pourquoi.

Le symptôme est que les demandes adressées à différents services sont accompagnées d'une connexion réseau TCP défaillante ( EHOSTUNREACH , ECONNREFUSED , Connection reset by peer , No route to host , Connection refused , Connection timed out etc.) d'autres pods. J'ai parcouru les journaux en détail à propos d'un incident et, pour une raison quelconque, aucune demande n'a été envoyée en aval à l'un des pods du ReplicaSet qui soutient le service pendant 9 secondes.

Je n'ai pas trouvé de signes évidents expliquant l'arrêt ou la reprise du trafic vers Pods. J'aurais besoin d'aide pour cela, je ne sais pas vraiment où chercher ni quoi essayer.

Il y a quelques autres éléments qui pourraient être pertinents :

  • Les demandes de sondes d'état de préparation ont été traitées avec succès toutes les secondes - ce sont les seules demandes qui ont atteint les pods.
  • La résolution DNS semble fonctionner car certains Pods se sont connectés sans pouvoir se connecter à l'IP résolue du service.
  • Les journaux des clusters montrent io.k8s.core.v1.endpoints.update Les appels d'API autour de la panne, mais les IP de nœuds étaient en addresses (pas notReadyAddresses ) liste
  • Le problème semble se produire plus souvent lorsque des pods sont détruits (ou créés) lors d'un déploiement, d'une mise à l'échelle automatique ou d'une préemption du nœud, mais il s'est également produit avec un nombre stable de répliques.
  • Nous exécutons Kubernetes 1.15 et 1.16 sur GKE, malheureusement pas en mode VPC (alias IP) car les clusters ont été créés il y a quelques années.
  • Nous n'avons pas Istio ni aucun autre maillage de services en cours d'exécution, mais je suis très tenté maintenant.

Merci d'avance pour toute suggestion !

0 votes

Est-il possible de fournir une description détaillée de votre configuration afin que le problème puisse être reproduit sur un autre cluster GKE de test ? Est-ce que cela se produit à la fois sur les clusters GKE 1.15 et 1.16 ?

0 votes

@mario Je ne suis pas sûr qu'il soit possible de partager une reproduction simple car il est difficile de reproduire de manière fiable même avec les clusters et les services actuels. Cela se produit sur les deux versions. A ce stade, je cherchais juste des causes possibles à explorer, c'est-à-dire pourquoi un service n'enverrait pas de trafic à des pods sains et comment le diagnostiquer.

1 votes

Bonjour @dain, je pense que dans une telle situation, il est judicieux de contacter Support GCP . S'il s'agit d'un problème difficile, voire impossible, à reproduire sur un autre groupe de test GKE, il sera difficile de trouver une aide appropriée ici.

1voto

Matt R Points 121

Ce problème est très complexe et difficile à reproduire. Il faudrait reproduire ce problème dans l'environnement de l'OP avec la même configuration.

Si vous rencontrez une situation qui pourrait être causée par Bug on GKE o GCP et qu'il est presque impossible de le reproduire (comme celui-ci), la meilleure approche serait d'atteindre Support Google pour une analyse approfondie.

Vous pouvez également contacter Suivi des questions d'intérêt public .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X