subPath的使用方法一共有兩種:
1. 同一個pod中多容器掛載同一個卷時提供隔離
2. 將configMap和secret作為文件掛載到容器中而不覆蓋掛載目錄下的文件
本文主要解釋第一點羊异,按照k8s官網(wǎng)的解釋持偏,subPath在是掛載卷中的存儲目錄,不指定默認存儲在卷的根目錄
Screenshot from 2021-03-04 22-40-23.png
首先創(chuàng)建一個包含兩個container的pod拼岳,對應的yaml文件如下,兩個container掛載目錄下的文件都會存儲在卷的根目錄下
Screenshot from 2021-03-04 22-31-12.png
接下來做一個簡單的驗證茸时,首先進到test-container中在/etc/volume-file下創(chuàng)建一個a.txt的文件妹蔽,退出之后進入test-container2的/etc/volume-file目錄沥匈,因為未指定subPath聪黎,文件會直接存儲在卷的根目錄下罕容,所以在test-container2下可以看見test-container剛剛新建的a.txt文件
Screenshot from 2021-03-04 22-37-11.png
接下來試著加入subPath,對應的yaml文件如下
Screenshot from 2021-03-04 22-35-22.png
同樣進入兩個容器的掛載目錄下創(chuàng)建新文件稿饰,可以看到subPath起到了隔離的作用
Screenshot from 2021-03-04 22-36-32.png