【发布时间】:2021-04-11 19:23:57
【问题描述】:
有没有办法让 Kubernetes Pod 知道新的文件更改?
比方说,我有一个运行 Kubernetes(K8) 的 pod,创建了 4 个副本,我还创建了一个 K8 PV,并将其附加到外部文件系统,我们可以在其中修改文件。让我们考虑 K8 pod 正在运行 一个应用程序名为 test_app 的 tomcat 服务器,它位于容器内的以下目录中 tomcat/webapps/test_app/ 在 test_app 目录中,我有几个子目录,如下所示 测试应用程序/xml test_app/属性 test_app/jsp
所有这些子目录都附加到一个卷上,并安装到一个外部文件系统上。任何有权访问外部文件系统的人都将更新 xml/properties/jsp 文件。 当这些文件在外部文件系统中发生更改时,它将反映在子目录 test_app/xml、test_app/properties、test_app/jsp 中,并且我们附加了一个 PV。但是除非我们重新启动 Tomcat 服务器,否则这些更改不会反映在 Web 应用程序中。要重启tomcat服务器,我们需要重启pod。
所以每当有人对外部文件系统中存在的文件进行任何更改时,我如何让 K8 知道有一些新的更改需要重新启动 Pod? 现在在 Kubernetes 中是否有可能?
【问题讨论】:
-
你能说得更具体点吗?您想在 pod 中进行更改,更改一些变量、图像等,或者您想问是否需要在 PV 中更改某些内容?在大多数情况下,pod 更改需要重新启动,但如果您在 PV pod 中添加新文件,应该会立即看到该文件。或者您的 pod 需要对这个新文件做些什么?
-
@PjoterS 我已经用更多细节编辑了我的问题
标签: docker kubernetes volume kubernetes-pod persistent-volumes