【问题标题】:Kubernetes Volume mountpathKubernetes 卷挂载路径
【发布时间】:2017-07-21 13:04:56
【问题描述】:

我正在为同一个应用程序运行多个 Web pod,并且我的应用程序中有这个文件夹,客户可以在其中上传他们的文件。 该文件夹位于此目录中(如果我的战争文件名为 sample.war)/usr/local/tomcat/webapps/sample/uploadfiles,我希望它在所有 Web pod 之间共享, 如果客户端登录到特定 Web POD 1 中的随机会话并在那里上传一些文件,下次他登录到另一个 Web POD N 中的另一个随机会话时可以找到它们 我正在使用 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 pod 之间的 /tomcat/webapps/sample/uploadfiles。

【问题讨论】:

    标签: java tomcat docker kubernetes google-kubernetes-engine


    【解决方案1】:

    在不同的 pod 之间共享相同的可写卷并不是所有卷类型都支持的。阅读Persistent Volumes manual 并查找支持ReadWriteMany 的卷类型

    【讨论】:

    • 我更改了 uploadfiles 文件夹的位置,现在可以正常工作了,感谢您的帮助
    • 你给了什么文件夹位置?它应该在 /usr 之外吗?
    猜你喜欢
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 2020-08-07
    • 2019-08-24
    • 2021-10-26
    • 2019-10-09
    • 2023-03-08
    相关资源
    最近更新 更多