我在集群上使用 kubernetes 和多个 Rails/node docker 镜像。他们中的大多数都有:3000/healtz 健康检查,只返回状态 200,身体正常。
现在我正在尝试寻找在运行 sidekiq 的 docker 映像上执行此运行状况检查的最佳方法。我如何验证工作人员正在运行?
在我的 RoR API 服务上,我有时会看到请求在处理过程中被中断。只需 Puma 服务器停止处理请求,然后我就可以在日志中看到消息说:
[10] - Worker 0 (PID: 811) booted in 0.01s, phase: 0
Run Code Online (Sandbox Code Playgroud)
我正在尝试找出其根本原因。该 API 服务作为 pod 在 Kubernetes 中运行,在该服务之前我有 AWS ELB。
需要明确的是,K8S pod 不会重新启动,只有 Puma 的一名工作人员被“杀死”,然后立即重新启动。