【发布时间】:2020-09-29 17:19:49
【问题描述】:
我有一个部署在 kubernetes 上的 Django 应用程序。该容器还安装了一个持久卷,其中包含一些操作所需的文件。我想要进行检查,以检查文件是否存在并且在每次 pod 启动时在运行时可访问。 Django 文档建议不要在生产环境中运行检查(应用程序在 uwsgi 中运行),并且由于文件仅在生产环境中可用,因此在单元测试时检查将失败。
在生产环境中执行检查的可接受流程是什么?
【问题讨论】:
-
您的 wsgi 是否与 Dev 和 Prod 环境不同,即容器在 prod 和非 prod 环境中的运行方式不同(不包括工作人员配置)? Container probes 是你的起点。
-
是的,pre-prod 和 prod 有不同的环境。我更愿意在应用程序级别而不是容器中进行。
-
那么卷将作为容器进程的一部分挂载并验证文件的存在,您可以通过容器中的
exec运行命令或在应用程序代码中编写资源。这些通常是在应用程序实际开始处理任何请求之前验证应用程序状态的预检查。很抱歉重申,但我会建议检查容器探测器(如果你没有)和一个例子在这里Startup probes -
谢谢@Saurabh。我会调查探针
-
@StuartBuckingham 你成功了吗?
标签: django kubernetes