首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有livenessProbe路由的php容器/ping

带有livenessProbe路由的php容器/ping
EN

Stack Overflow用户
提问于 2017-12-20 17:35:09
回答 1查看 6.5K关注 0票数 8

最近,我们遇到了一些问题,导致php进程失控,导致站点失去响应。有一些明显的php配置工具需要完成,但我也希望为php容器实现一个合理的livenessProbe健康检查,在探测失败时重新启动容器。

我已经开发了几个关于如何将服务器作为健康检查(例如https://easyengine.io/tutorials/php/fpm-status-page/)的选项的资源,但是我还没有找到一个好的答案来说明应该注意的是什么。如果服务器实际上已经死了,/ping路由会返回“乒乓”以外的其他内容吗?能不能暂停一下?假设是后者,什么是合理的超时限制?

在运行我自己的一些测试时,我注意到一个健康的php服务器将快速返回“pong”响应:

代码语言:javascript
复制
# time curl localhost/ping
pong
real    0m0.040s
user    0m0.006s
sys 0m0.001s

我模拟了沉重的负载,实际上,“乒乓”的响应花了1-3秒,而这正好与站点变得没有响应的情况相吻合。基于此,我起草了一个livenessProbe草案,如果活性探测脚本在连续两个探测上花费超过2秒的时间,该草案将失败并重新启动容器:

代码语言:javascript
复制
livenessProbe:
  exec:
    command:
    - sh
    - -c
    - timeout 2 /var/www/livenessprobe.sh
  initialDelaySeconds: 15
  periodSeconds: 3
  successThreshold: 1
  failureThreshold: 2

探测脚本就是这样(这是为什么这需要是一个shell脚本,而不是来自我不想进入的livenessProbe的一个直接的livenessProbe):

代码语言:javascript
复制
  #!/bin/bash

  curl -s localhost/ping

现在我不知道我是太咄咄逼人还是太保守。我将运行一个金丝雀部署来测试这一点,但在此期间,我希望从在php服务器上实现健康检查的其他人那里得到一些反馈,如果它是在Kubernetes上下文中的话,则额外加分。

EN

回答 1

Stack Overflow用户

发布于 2020-06-09 12:00:34

如果有人还对这个话题感兴趣。我正在研究类似的事情(php监控,以及在kubernetes中运行的pods )。

我在容器中添加了以下健康检查设置https://github.com/renatomefi/php-fpm-healthcheck (运行php-fpm)以检查php-fpm是否运行良好:)工作非常简单,并完成了任务(当一些值超出了预先定义的限制时,将容器标记为“坏”)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47911494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档