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