azure - kubernetes 500 内部服务器故障排除

标签 azure api kubernetes

我有一个使用 Azure Kubernetes 的应用程序。一切都工作正常,API 一直给我 200 个响应,但上周我开始收到来自 API 管理的 500 个内部服务器错误,这表明它是一个后端错误。我在本地运行服务器并向 API 发送请求,它起作用了,所以我认为问题发生在 Azure Kubernetes 的某个地方。

但是日志非常神秘,并且没有添加太多信息,所以我从未真正发现问题是什么。我刚刚运行我的代码来再次部署镜像,它得到了修复,但没有办法意识到这就是问题所在。

这次我设法解决了该问题,但我正在寻找更好的方法来解决 Azure 中的 500 内部服务器错误。我浏览了所有 Azure 文档,但除了日志之外没有找到任何内容,这对我的情况并没有多大帮助。您通常如何对 Kubernetes 中运行的应用程序中的 500 错误进行故障排除?

最佳答案

一般来说,这完全取决于您正在处理的情况。尽管如此,您应该始终从查看日志(应用程序事件日志和服务器日志)开始。尝试查找有关其中错误的信息。错误 500 实际上是结果,而不是原因。如果您想找出导致错误的原因,您需要在日志中查找此信息。很多时候,您可以知道出了什么问题并立即解决问题。

如果想重现问题,请查看 David Maze 的评论:

I generally try to figure out what triggers the error, reproduce it in a local environment (not Kubernetes, not Docker, no containers at all), debug, write a regression test, fix the bug, get a code review, redeploy. That process isn't especially unique to Kubernetes; it's the same way I'd debug an error in a customer environment where I don't have direct access to the remote systems, or in a production environment where I don't want to risk breaking things further.

另请参阅:

关于azure - kubernetes 500 内部服务器故障排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69252293/

相关文章:

docker - 无法在Alpine容器中使用os.exec通过shell运行kubectl命令

c# - Azure - C# 并发 - 最佳实践

Azure服务总线: The connection string used for an Service Bus client must specify the Service Bus namespace host and either a Shared Access Key

api - 是否可以使用Google Spreadsheet API在单元格中添加评论?

php - 读取 Twitter cookie?

Python 2.7 - 帮助使用 API (HL7)

spring-boot - 来自 kubernetes yaml 的变量导致 : Could not resolve placeholder 'ACTUATOR_PASSWORD' in value "${ACTUATOR_PASSWORD}"

kubernetes - 如何获得对 Kubernetes 上多个命名空间的管理员访问权限?

azure - 是否可以在本地使用 LUIS(无需互联网)

azure - 即使 Azure AD 租户为空,也无法删除