一个简单的模块,允许您轻松地向Flask应用程序添加运行状况端点
flask-healthz的Python项目详细描述
烧瓶健康Z
在烧瓶应用程序中定义Kubernetes可以用作的端点 liveness and readiness probes。在
设置它
在烧瓶应用程序上注册蓝图:
fromflaskimportFlaskfromflask_healthzimporthealthzapp=Flask(__name__)app.register_blueprint(healthz,url_prefix="/healthz")
定义要用于检查运行状况的函数。若要发出错误信号,请引发flask_healthz.HealthError
。在
现在指出烧瓶配置中的这些功能:
HEALTHZ={"live":"yourapp.checks.liveness","ready":"yourapp.checks.readiness",}
可以在配置中直接设置可调用项,因此可以编写如下内容:
HEALTHZ={"live":lambda:None,}
检查端点是否实际工作:
$ curl http://localhost/yourapp/healthz/live
OK
$ curl http://localhost/yourapp/healthz/ready
OK
现在可以配置Kubernetes或OpenShift来检查这些端点。
下面是一个如何在OpenShift的deploymentconfig
中实现这一点的示例:
kind:DeploymentConfigspec:[...]template:[...]spec:containers:-name:yourapp[...]livenessProbe:httpGet:path:/healthz/liveport:8080initialDelaySeconds:5timeoutSeconds:1readinessProbe:httpGet:path:/healthz/readyport:8080initialDelaySeconds:5timeoutSeconds:1
示例
以下是一些安装了flask healthz的项目:
- 诺金:https://github.com/fedora-infra/noggin/pull/287
- FASJSON:https://github.com/fedora-infra/fasjson/pull/81
许可证
版权所有2020 Red Hat
Flask Healthz的许可证与Flask本身的许可证相同:BSD 3-clause。在
- 项目
标签: