同一個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權威指南第四版》