我正在为同一个应用程序运行多个 web pod,我的应用程序中有这个文件夹,客户可以在其中上传他们的文件。 该文件夹位于此目录中(如果我的 war 文件名为 sample.war)/usr/local/tomcat/webapps/sample/uploadfiles 我希望它在所有 web pod 之间共享, 如果客户端登录到特定 web POD 1 中的随机 session 并在那里上传一些文件,下次他登录到另一个 web POD N 中的另一个随机 session 时可以找到它们 我正在使用 Google Cloud Platform 容器引擎和 Google 永久磁盘作为永久卷
我的 dockerfile 看起来像这样
FROM tomcat:8-jre8
ADD sample.war /usr/local/tomcat/webapps/
CMD ["catalina.sh", "run"]
我的 Kubernetes 部署 YAML 文件中有这个
volumeMounts:
- mountPath: /usr/local/tomcat/webapps/
但是我在我的 pod 中得到一个空的/usr/local/tomcat/webapps/目录,只有 lost+found 甚至当我挂载/usr/local/tomcat/webapps/的任何子目录时,该子目录是也是空的。
所以我应该以文件上传到/usr/local/tomcat/webapps/之外的目录的方式编辑我的应用程序,比如/usr/local/tomcat/uploadfiles,或者有一种共享/usr/local 的方法/tomcat/webapps/sample/uploadfiles 在 pod 之间。
最佳答案
并非所有卷类型都支持在不同 Pod 之间共享相同的可写卷。阅读 Persistent Volumes manual并寻找支持 ReadWriteMany
关于java - Kubernetes 卷挂载路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42544684/