通過本地磁盤存儲將容器所在宿主機的文件目錄掛載到容器的指定路徑中,也可以不填寫源路徑。
使用本地硬盤有四種形式:
- 主機路徑掛載:將容器所在宿主機的文件目錄掛載到容器指定的掛載點中,如容器需要訪問/etc/hosts則可以使用HostPath映射/etc/hosts等場景。
- 臨時路徑掛載:用于臨時存儲,生命周期與容器實例相同。容器實例消亡時,EmptyDir會被刪除,數據會永久丟失。
- 配置項掛載:將ConfigMap配置項中的key映射到容器中,可以用于掛載配置文件到指定容器目錄。ConfigMap的創建請參見創建配置項,具體使用請參見使用配置項。
- 密鑰掛載:將密鑰中的數據掛載到容器的某一路徑中。密鑰是一種用于存儲工作負載所需要認證信息、密鑰的敏感信息等的資源類型,內容由用戶決定。Secret的創建請參見創建密鑰,具體使用請參見使用密鑰。
下面分別介紹如何通過這四種形式進行掛載。
主機路徑(HostPath)掛載表示將主機上的路徑掛載到指定的容器路徑。通常用于:“容器工作負載程序生成的日志文件需要永久保存”或者“需要訪問宿主機上Docker引擎內部數據結構的容器工作負載”。
步驟 1 參照創建無狀態負載(Deployment)、創建有狀態負載(StatefulSet)或創建守護進程集(DaemonSet),在“容器設置”步驟中,展開“數據存儲”,單擊“添加本地磁盤”。
步驟 2 設置添加本地磁盤參數,如下表。
參數 | 參數說明 |
存儲類型 | 主機路徑(HostPath)。 |
主機路徑 | 輸入主機路徑,如/etc/hosts。 說明 請注意“主機路徑”不能設置為根目錄“/”,否則將導致掛載失敗。掛載路徑一般設置為: /opt/xxxx(但不能為/opt/cloud) /mnt/xxxx(但不能為/mnt/paas) /tmp/xxx /var/xxx (但不能為/var/lib、/var/script、/var/paas等關鍵目錄) /xxxx(但不能和系統目錄沖突,例如bin、lib、home、root、boot、dev、etc、lost+found、mnt、proc、sbin、srv、tmp、var、media、opt、selinux、sys、usr等) 注意不能設置為/home/paas、/var/paas、/var/lib、/var/script、/mnt/paas、/opt/cloud,否則會導致系統或節點安裝失敗。 |
添加容器掛載 | 配置如下參數: 1. 子路徑:請輸入子路徑,如:tmp。 使用子路徑掛載本地磁盤,實現在單一Pod中重復使用同一個Volume。不填寫時默認為根。 2. 掛載路徑:請輸入掛載路徑,如:/tmp。 數據存儲掛載到容器上的路徑。請不要掛載在系統目錄下,如“/”、“/var/run”等,會導致容器異常。建議掛載在空目錄下,若目錄不為空,請確保目錄下無影響容器啟動的文件,否則文件會被替換,導致容器啟動異常,工作負載創建失敗。 須知:掛載高危目錄的情況下 ,建議使用低權限帳號啟動,否則可能會造成宿主機高危文件被破壞。 3. 權限:
單擊“添加容器掛載”可增加多條設置,單擊“確定”完成配置。 |
臨時路徑(EmptyDir)掛載適用于臨時存儲、災難恢復、共享運行時數據等場景,工作負載實例的刪除或者遷移會導致臨時路徑被刪除。
步驟 1 參照創建無狀態負載(Deployment)、創建有狀態負載(StatefulSet)或創建守護進程集(DaemonSet),在添加容器后,展開“數據存儲”,單擊“添加本地磁盤”。
步驟 2 選擇本地磁盤類型為“臨時路徑掛載”,設置添加本地磁盤參數,如下表。
參數 | 參數說明 |
存儲類型 | 臨時路徑(EmptyDir)。 |
磁盤介質 |
說明:
|
添加容器掛載 | 配置如下參數: 1. 子路徑:請輸入子路徑,如:tmp。 使用子路徑掛載本地磁盤,實現在單一Pod中重復使用同一個Volume。不填寫時默認為根。 2. 掛載路徑:請輸入掛載路徑,如:/tmp。 數據存儲掛載到容器上的路徑。請不要掛載在系統目錄下,如“/”、“/var/run”等,會導致容器異常。建議掛載在空目錄下,若目錄不為空,請確保目錄下無影響容器啟動的文件,否則文件會被替換,導致容器啟動異常,工作負載創建失敗。 須知:掛載高危目錄的情況下 ,建議使用低權限帳號啟動,否則可能會造成宿主機高危文件被破壞。 3. 權限:
單擊“添加容器掛載”可增加多條設置,單擊“確定”完成配置。 |
配置項(ConfigMap)掛載是將配置項中的數據掛載到指定的容器路徑。平臺提供工作負載代碼和配置文件的分離,“配置項掛載”用于處理工作負載配置參數。用戶需要提前創建工作負載配置,操作步驟請參見創建配置項。
步驟 1 參照創建無狀態負載(Deployment)、創建有狀態負載(StatefulSet)或創建守護進程集(DaemonSet),在添加容器后,展開“數據存儲”,單擊“添加本地磁盤”。
步驟 2 選擇本地磁盤類型為“配置項掛載”,設置添加本地磁盤參數,如下表。
表-卷類型選擇配置項掛載
參數 | 參數說明 |
存儲類型 | 配置項(ConfigMap)。 |
配置項 | 選擇對應的配置項名稱。 配置項需要提前創建,具體請參見“創建配置項”。 |
添加容器掛載 | 配置如下參數: 1. 子路徑:請輸入子路徑,如:tmp。 使用子路徑掛載本地磁盤,實現在單一Pod中重復使用同一個Volume。不填寫時默認為根。 2. 掛載路徑:請輸入掛載路徑,如:/tmp。 數據存儲掛載到容器上的路徑。請不要掛載在系統目錄下,如“/”、“/var/run”等,會導致容器異常。建議掛載在空目錄下,若目錄不為空,請確保目錄下無影響容器啟動的文件,否則文件會被替換,導致容器啟動異常,工作負載創建失敗。 須知:掛載高危目錄的情況下 ,建議使用低權限帳號啟動,否則可能會造成宿主機高危文件被破壞。 3. 設置權限:只讀。只能讀容器路徑中的數據卷。 單擊“添加容器掛載”可增加多條設置,單擊“確定”完成配置。 |
密鑰(Secret)掛載將密鑰中的數據掛載到指定的容器路徑,密鑰內容由用戶決定。用戶需要提前創建密鑰,操作步驟請參見創建密鑰。
步驟 1 參照創建無狀態負載(Deployment)、創建有狀態負載(StatefulSet)或創建守護進程集(DaemonSet),在添加容器后,展開“數據存儲”,單擊“添加本地磁盤”。
步驟 2 選擇本地磁盤類型為“密鑰掛載”,設置添加本地磁盤參數,如下表。
卷類型選擇密鑰掛載
參數 | 參數說明 |
存儲類型 | 密鑰(Secret)。 |
密鑰 | 選擇對應的密鑰名稱。 密鑰需要提前創建,具體請參見“創建密鑰”。 |
添加容器掛載 | 配置如下參數: 1. 子路徑:請輸入子路徑,如:tmp。 使用子路徑掛載本地磁盤,實現在單一Pod中重復使用同一個Volume。不填寫時默認為根。 2. 掛載路徑:請輸入掛載路徑,如:/tmp。 數據存儲掛載到容器上的路徑。請不要掛載在系統目錄下,如“/”、“/var/run”等,會導致容器異常。建議掛載在空目錄下,若目錄不為空,請確保目錄下無影響容器啟動的文件,否則文件會被替換,導致容器啟動異常,工作負載創建失敗。 須知 掛載高危目錄的情況下 ,建議使用低權限帳號啟動,否則可能會造成宿主機高危文件被破壞。 3. 設置權限:只讀。只能讀容器路徑中的數據卷。 單擊“添加容器掛載”可增加多條設置,單擊“確定”完成配置。 |