对 IBM Cloud Kubernetes Service 中的应用程序进行故障诊断
虚拟私有云 经典基础架构 Satellite
以下步骤可帮助您对集群中的应用程序问题进行故障诊断,并查找应用程序错误或问题的根本原因。
查看 IBM Cloud 的状态
- 要查看 IBM Cloud 是否可用,请 检查 IBM Cloud 状态页面。
- 组件的 Kubernetes Service 元件的过滤器。
- 查看 限制和已知问题文档。
- 有关 IBM Cloud使用的开放式源代码项目中的问题,请参阅 IBM 开放式源代码和第三方策略。 例如,您可以检查 Kubernetes 未解决的问题。
获取集群状态和状态并查看常见问题
收集详细信息并记录问题
记录有关问题的详细信息时,请尽可能具体。 例如,Our app occasionally gets 502 Gateway errors when trying to retrieve transaction logs
无济于事,因为它不是特定的。 在记录问题之前,请确保尽可能缩小问题范围。 记录问题时,请尝试包含以下内容。
- 环境体系结构
- 请确保已记录环境体系结构,以便您了解所涉及的组件。 有关更多信息,请参阅 记录环境体系结构。
- 错误消息和组件详细信息。
- 提供完整的错误消息,并包含有关生成错误的组件的详细信息。 例如,“clusterID ABCDEF 中的所有三个应用程序 pod 在 HTTPS 调用来自全局负载平衡器的 GET /transaction-logs 时偶尔会失败,错误信息为
HTTP 502 Gateway Error: Web server received an invalid response while acting as a gateway or proxy server...
”。 - 连接的源 IP,目标 IP,端口和协议。
- 例如," Kubernetes 集群中具有 clusterID ABCDEF 的所有三个应用程序 pod。 在尝试向 GLB GET /transaction-logs 时,HTTPS 调用偶尔会失败,并显示错误 源 pod IP 是
172.22.5.10
,目标 IP 是150.40.40.35
端口 433。 该协议为 HTTPS。 其他 pod 也使用此 IP 地址,就像其他两个 GLB IP150.40.40.55
和150.40.40.75
" 一样。 - 问题的开始日期,时间和频率。
- 查看以下信息示例。
- 此问题将影响大约 2% 的所有连接尝试。
- 此问题仅发生在 19:00 到 21:00 UTC 之间,在这些时间内,大约会影响 5% 的所有连接尝试。
- 从 pod 标识
XYZ
连接时发生此问题。 该问题在10/25/2023
大约 05:30 UTC 时开始。
- 对已执行的操作进行故障诊断。
- 记录迄今已尝试的内容以及这些尝试的结果,以帮助进一步缩小问题的范围。
运行测试以在每个组件中进行规则或排除每个组件
- 请尝试在完整应用程序流之外重新创建问题。 这可能涉及以下内容。
- 在单独的系统上或在集群中的测试 pod 中使用
curl
以连接到后端端点或服务,从而规定客户机可能是问题的根源。 - 尝试从客户机或集群中的测试 pod 连接到已知端点 (例如
www.ibm.com
)。 如果已知端点工作一致,但实际应用程序端点不工作,那么这有助于缩小问题的范围。
- 在单独的系统上或在集群中的测试 pod 中使用
- 请尝试使用测试集群在测试环境中重新创建问题。
- 如果 无法 在测试集群中重新创建问题,那么可以将测试集群与实际集群之间的差异作为问题的可能来源。
- 如果 可以 在测试集群中重新创建该集群,那么该集群本身可能没有问题。 此外,您还可以在一个环境中进行测试,以在不影响生产环境的情况下进一步缩小问题的范围。
收集更多数据
一旦知道应用程序流,您看到的特定错误以及该错误的来源,您就可以从所涉及的组件中收集更详细的数据。 这可能包括以下日志。
在 Slack 中联系或查看用户论坛以了解类似问题
- 在 Kubernetes Service Slack 中发布帖子。
- 如果您是外部用户,请在 #general 频道发帖。
- 查看 Kubernetes Service help 或 Stack Overflow 等论坛,了解其他用户是否遇到相同的问题。 使用论坛来提问时,请标记您的问题,以便 IBM Cloud 开发团队能看到您的问题。
- 如果您有关于使用 IBM Cloud Kubernetes Service 开发或部署群集或应用程序的技术问题,请在 Stack Overflow 上发布您的问题,并用
ibm-cloud
和containers
标记您的问题。 - 有关使用论坛的更多详细信息,请参阅获取帮助。
- 如果您有关于使用 IBM Cloud Kubernetes Service 开发或部署群集或应用程序的技术问题,请在 Stack Overflow 上发布您的问题,并用
后续步骤
如果问题仍然存在,请联系支持团队。 打开 支持案例。 在案例详细信息中,请确保包含任何相关日志文件,错误消息或命令输出。