同一个 Pod
中的多个容器能够共享Pod
级别的存储卷 Volume
。
Volume
可以被定义为各种类型,多个容器各自进行挂载操作,将一个 Volume
挂载为容器内部需要的目录,如图所示:
在下面的例子中,在 Pod
内包含两个容器:tomcat
和 busybox
,在 Pod
级别设置 Volume “app-logs”
,用于 tomcat
容器向其中写日志文件,busybox
容器从中读日志文件。
配置文件pod-volume-applogs.yaml
的内容如下:
这里设置的 Volume
名称为 app-logs
,类型为 emptyDir
(也可以设置为其他类型),挂载到 tomcat
容器内 的/usr/local/tomcat/logs
目录下,同时挂载到logreader
容器内的/logs
目录下。 tomcat
容器在启动后会向/usr/local/tomcat/logs
目录写文件,logreader
容器就可以读取其中的文件了。
logreader
容器的启动命令为tail-f/logs/catalina*.log
,我们可以通过kubectl logs
命令查看logreader
容器的输出内容:
这个文件为tomcat
生成的日志文件/usr/local/tomcat/logs/catalina· <date>.log
的内容 ,登录 tomcat
容器进行查看: