Traitement des incidents liés aux applications dans IBM Cloud Kubernetes Service
Cloud privé virtuel Infrastructure classique Satellite
Les étapes suivantes vous aident à identifier et résoudre les problèmes d'application au sein de votre cluster et à identifier les causes premières des erreurs ou des problèmes d'application.
Passez en revue le statut de IBM Cloud
- Pour savoir si IBM Cloud est disponible, consultez la page d'état IBM Cloud.
- Définissez un filtrage pour le composant Kubernetes Service.
- Consultez la documentation sur les limitations et les problèmes connus.
- Pour les questions relatives aux projets de code source ouvert utilisés par IBM Cloud, voir la politique de IBM en matière de code source ouvert et de tiers. Par exemple, vous pouvez consulter les questions ouvertes sur Kubernetes.
Obtenez l'état et le statut de votre cluster et passez en revue les problèmes courants
-
Affichez votre cluster et identifiez son état (
State).ibmcloud ks cluster ls -
Examinez l'état (
State) de votre cluster. Si votre cluster a l'état Critique, Echec de la suppression ou Avertissement, ou est bloqué depuis longtemps dans l'état En attente. Pour plus d'informations, voir Etats de cluster. -
Vérifiez l'état de chaque nœud worker. Pour plus d'informations, voir Etats du noeud worker.
ibmcloud ks worker ls -c CLUSTER -
Consultez les informations suivantes pour déboguer ou résoudre les problèmes liés aux nœuds de travail.
Rassemblez les détails et documentez le problème
Lorsque vous documentez les détails du problème, soyez aussi précis que possible. Par exemple, Our app occasionally gets 502 Gateway errors when trying to retrieve transaction logs n'est pas utile car il n'est pas spécifique. Veillez
à circonscrire le problème autant que possible avant de le documenter. Lorsque vous documentez le problème, essayez d'inclure les éléments suivants.
- Architecture de l'environnement
- Assurez-vous d'avoir documenté l'architecture de votre environnement afin de comprendre les composants impliqués. Pour plus d'informations, voir Documentation de l'architecture de votre environnement.
- Messages d'erreur et détails du composant.
- Fournissez le message d'erreur complet et incluez des détails sur le composant à l'origine de l'erreur. Par exemple, "Les trois pods d'application dans clusterID ABCDEF échouent occasionnellement sur HTTPS appels à GET /transaction-logs
à partir de l'équilibreur de charge global avec l'erreur
HTTP 502 Gateway Error: Web server received an invalid response while acting as a gateway or proxy server...". - Adresse IP source, adresse IP de destination, port et protocole de la connexion.
- Par exemple, " Les trois pods d'application dans le cluster Kubernetes avec clusterID ABCDEF. Il arrive que les appels à HTTPS échouent lorsqu'ils tentent d'envoyer le message GET /transaction-logs au GLB, avec l'erreur suivante L'IP
du pod source est
172.22.5.10et l'IP de destination est150.40.40.35port 433. Le protocole est le suivant : HTTPS. D'autres pods utilisent également cette adresse IP, de même que les deux autres adresses IP GLB150.40.40.55et150.40.40.75". - Date de début, heure et fréquence du problème.
- Examinez les exemples de messages suivants.
- Ce problème affecte environ 2% de toutes les tentatives de connexion.
- Ce problème ne se produit qu'entre 19:00 et 21:00 UTC, et pendant ces périodes, il affecte environ 5% de toutes les tentatives de connexion.
- Ce problème se produit lors de la connexion à partir de l'ID de pod
XYZ. Le problème a commencé sur10/25/2023vers 05:30 UTC.
- Traitement des incidents liés aux actions que vous avez déjà effectuées.
- Documenter ce qui a été essayé jusqu'à présent et les résultats de ces tentatives pour aider à réduire davantage le problème.
Exécution de tests pour l'ajout ou l'exclusion de chaque composant
- Essayez de recréer le problème en dehors du flux d'application complet. Cela peut impliquer ce qui suit.
- L'utilisation de
curlsur un système distinct ou dans un pod de test dans un cluster pour se connecter au noeud final dorsal ou au service pour indiquer que le client peut être la source du problème. - Tentative de connexion à un noeud final connu tel que
www.ibm.comà partir du client ou d'un pod de test dans le cluster. Si le noeud final connu fonctionne de manière cohérente, mais pas le noeud final d'application réel, cela permet de réduire le problème.
- L'utilisation de
- Essayez de recréer le problème dans un environnement de test à l'aide d'un cluster de test.
- Si vous ne pouvez pas recréer le problème dans un cluster de test, vous pouvez vous concentrer sur les différences entre le cluster de test et le cluster réel en tant que sources possibles du problème.
- Si vous pouvez le recréer dans un cluster de test, il ne s'agit probablement pas d'un problème avec le cluster lui-même. De plus, vous disposez d'un environnement dans lequel vous pouvez effectuer des tests pour affiner davantage le problème sans impacter votre environnement de production.
Collecte de données supplémentaires
Une fois que vous connaissez le flux d'application, l'erreur spécifique que vous voyez et l'origine de cette erreur, vous pouvez collecter des données plus détaillées à partir des composants impliqués. Cela peut inclure les journaux suivants.
- Journaux de pod et de processus sur les composants impactés.
- Journaux de noeud de cluster tels que
syslogou/var/log/messages. Pour l' IBM Cloud Kubernetes Service, vous pouvez obtenirsysloget d'autres journaux directement à partir des nœuds. - Informations de trace de paquet. L'exécution
tcpdumpest un moyen courant d'obtenir des informations sur la trace des paquets.
Contacter dans Slack ou passer en revue les forums d'utilisateurs pour des problèmes similaires
- Publiez vos commentaires et questions dans Kubernetes Service Slack.
- Si vous êtes un utilisateur externe, publiez dans le canal #general .
- Consultez les forums, tels que l'aide d'Kubernetes Service ou Stack Overflow pour voir si d'autres utilisateurs ont rencontré le même problème. Si vous utilisez les forums pour poser une question, libellez votre question de sorte qu'elle soit
vue par les équipes de développement IBM Cloud.
- Si vous avez des questions techniques sur le développement ou le déploiement de clusters ou d'applications avec IBM Cloud Kubernetes Service, posez votre question sur Stack Overflow et marquez votre question avec
ibm-cloudetcontainers. - Voir Comment obtenir de l'aide pour plus d'informations sur l'utilisation des forums.
- Si vous avez des questions techniques sur le développement ou le déploiement de clusters ou d'applications avec IBM Cloud Kubernetes Service, posez votre question sur Stack Overflow et marquez votre question avec
Etapes suivantes
Si le problème persiste, contactez l'assistance. Ouverture d'un cas de support. Dans les détails du cas, veillez à inclure les fichiers journaux, les messages d'erreur ou les sorties de commande appropriés.