Kubernetes卷mountpath

时间:2017-03-02 00:22:10

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

我正在为同一个应用程序运行多个Web pod,我在我的应用程序中有这个文件夹,客户端可以上传他们的文件。 该文件夹位于此目录中(如果我的war文件名是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 Deployment YAML文件中有这个

volumeMounts:
    - mountPath: /usr/local/tomcat/webapps/    

但是我的pod中有一个空的/ usr / local / tomcat / webapps /目录,只有lost + found,甚至当我在mountpath的/ usr / local / tomcat / webapps /子目录的任何子目录时也是空的。

所以我应该以文件上传到/ usr / local / tomcat / webapps / like / usr / local / tomcat / uploadfiles之外的目录的方式编辑我的应用程序,或者有一种方法可以共享/ usr / local / tomcat / webapps / sample / uploadfiles在pod之间。

1 个答案:

答案 0 :(得分:1)

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

的卷类型