通過本地磁盤存儲將容器所在宿主機的文件目錄掛載到容器的指定路徑中(對應Kubernetes的HostPath),也可以不填寫源路徑(對應Kubernetes的EmptyDir),不填寫時將分配主機的臨時目錄掛載到容器的掛載點,指定源路徑的本地硬盤數據卷適用于將數據持久化存儲到容器所在宿主機,EmptyDir(不填寫源路徑)適用于容器的臨時存儲。
本地磁盤使用場景
您可以通過如下四種形式使用本地磁盤存儲:
主機路徑掛載:將容器所在宿主機的文件目錄掛載到容器指定的掛載點中,如容器需要訪問/etc/hosts則可以使用HostPath映射/etc/hosts等場景。
臨時路徑掛載:用于臨時存儲,生命周期與容器實例相同。容器實例消亡時,EmptyDir會被刪除,數據會永久丟失。
配置項掛載:將ConfigMap配置項中的key映射到容器中,可以用于掛載配置文件到指定容器目錄。配置項(ConfigMap)是一種用于存儲工作負載所需配置信息的資源類型,內容由用戶決定。ConfigMap的創建請參見創建配置項,具體使用請參見使用配置項。
密鑰掛載 : 將密鑰中的數據掛載到容器的某一路徑中。密鑰是一種用于存儲工作負載所需要認證信息、密鑰的敏感信息等的資源類型,內容由用戶決定。Secret的創建請參見創建密鑰,具體使用請參見使用密鑰。
下面分別介紹如何通過這四種形式進行掛載。
主機路徑(HostPath)掛載
主機路徑(HostPath)掛載表示將主機上的路徑掛載到指定的容器路徑。通常用于:“容器工作負載程序生成的日志文件需要永久保存”或者“需要訪問宿主機上Docker引擎內部數據結構的容器工作負載”。
步驟 1 登錄CCE控制臺。
步驟 2 在創建工作負載時,在“容器配置”中找到“數據存儲”,選擇“本地存儲”,單擊。
步驟 3 設置添加本地磁盤參數。
表 卷類型選擇主機路徑掛載
參數 參數說明 存儲類型 主機路徑(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,否則會導致系統或節點安裝失敗。添加容器掛載 配置如下參數:
子路徑:請輸入子路徑,如:tmp。
使用子路徑掛載本地磁盤,實現在單一Pod中重復使用同一個Volume。不填寫時默認為根。
掛載路徑:請輸入掛載路徑,如:/tmp。
數據存儲掛載到容器上的路徑。請不要掛載在系統目錄下,如“/”、“**/var/run”**等,會導致容器異常。建議掛載在空目錄下,若目錄不為空,請確保目錄下無影響容器啟動的文件,否則文件會被替換,導致容器啟動異常,工作負載創建失敗。注意掛載高危目錄的情況下 ,建議使用低權限帳號啟動,否則可能會造成宿主機高危文件被破壞。
權限:
只讀:只能讀容器路徑中的數據卷。
讀寫:可修改容器路徑中的數據卷,容器遷移時新寫入的數據不會隨之遷移,會造成數據丟失。
單擊“添加容器掛載”可增加多條設置,單擊“確定”完成配置。
臨時路徑(EmptyDir)掛載
臨時路徑(EmptyDir)掛載適用于臨時存儲、災難恢復、共享運行時數據等場景,工作負載實例的刪除或者遷移會導致臨時路徑被刪除。
步驟 1 登錄CCE控制臺。
步驟 2 在創建工作負載時,在“容器配置”中找到“數據存儲”,選擇“本地存儲”,單擊
。
步驟 3 選擇本地磁盤類型為“臨時路徑掛載”,設置添加本地磁盤參數。
表 卷類型選擇臨時路徑掛載
參數 參數說明 存儲類型 主機路徑(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,否則會導致系統或節點安裝失敗。添加容器掛載 配置如下參數:
子路徑:請輸入子路徑,如:tmp。
使用子路徑掛載本地磁盤,實現在單一Pod中重復使用同一個Volume。不填寫時默認為根。
掛載路徑:請輸入掛載路徑,如:/tmp。
數據存儲掛載到容器上的路徑。請不要掛載在系統目錄下,如“/”、“**/var/run”**等,會導致容器異常。建議掛載在空目錄下,若目錄不為空,請確保目錄下無影響容器啟動的文件,否則文件會被替換,導致容器啟動異常,工作負載創建失敗。
須知
掛載高危目錄的情況下 ,建議使用低權限帳號啟動,否則可能會造成宿主機高危文件被破壞。權限:
?只讀:只能讀容器路徑中的數據卷。
讀寫:可修改容器路徑中的數據卷,容器遷移時新寫入的數據不會隨之遷移,會造成數據丟失。
單擊“添加容器掛載”可增加多條設置,單擊“確定”完成配置。
配置項(ConfigMap)掛載
配置項(ConfigMap)掛載是將配置項中的數據掛載到指定的容器路徑。平臺提供工作負載代碼和配置文件的分離,“配置項掛載”用于處理工作負載配置參數。用戶需要提前創建工作負載配置,操作步驟請參見創建配置項。
步驟 1 登錄CCE控制臺。
步驟 2 在創建工作負載時,在“容器配置”中找到“數據存儲”,選擇“本地存儲”,單擊
。
步驟 3 選擇本地磁盤類型為“配置項掛載”,設置添加本地磁盤參數。
表 卷類型選擇配置項掛載
| 參數 | 參數說明 |
|---|---|
| 存儲類型 | 配置項(ConfigMap)。 |
| 配置項 | 選擇對應的配置項名稱。配置項需要提前創建,具體請參見創建配置項。 |
| 添加容器掛載 | 配置如下參數: 子路徑:請輸入子路徑,如:tmp。 使用子路徑掛載本地磁盤,實現在單一Pod中重復使用同一個Volume,不填寫時默認為根。 子路徑可以填寫ConfigMap/Secret的鍵值,子路徑若填寫為不存在的鍵值則數據導入不會生效。 通過子路徑導入的數據不會隨ConfigMap/Secret的更新而動態更新。 掛載路徑:請輸入掛載路徑,如:/tmp。數據存儲掛載到容器上的路徑。請不要掛載在系統目錄下,如“/”、“/var/run”等,會導致容器異常。 建議掛載在空目錄下,若目錄不為空,請確保目錄下無影響容器啟動的文件,否則文件會被替換,導致容器啟動異常,工作負載創建失敗。 須知 掛載高危目錄的情況下,建議使用低權限帳號啟動,否則可能會造成宿主機高危文件被破壞。 設置權限:只讀。 只能讀容器路徑中的數據卷。單擊“添加容器掛載”可增加多條設置,單擊“確定”完成配置。 |
密鑰(Secret)掛載
密鑰(Secret)掛載將密鑰中的數據掛載到指定的容器路徑,密鑰內容由用戶決定。用戶需要提前創建密鑰,操作步驟請參見創建密鑰。
步驟 1 登錄CCE控制臺。
步驟 2 在創建工作負載時,在“容器配置”中找到“數據存儲”,選擇“本地存儲”,單擊
。
步驟 3 選擇本地磁盤類型為“密鑰掛載”,設置添加本地磁盤參數。
表 卷類型選擇密鑰掛載
| 參數 | 參數說明 |
|---|---|
| 存儲類型 | 密鑰(Secret)。 |
| 密鑰 | 選擇對應的密鑰名稱。密鑰需要提前創建,具體請參見創建密鑰。 |
| 添加容器掛載 | 配置如下參數: 子路徑:請輸入子路徑,如:tmp。 使用子路徑掛載本地磁盤,實現在單一Pod中重復使用同一個Volume,不填寫時默認為根。 子路徑可以填寫ConfigMap/Secret的鍵值,子路徑若填寫為不存在的鍵值則數據導入不會生效。通過子路徑導入的數據不會隨ConfigMap/Secret的更新而動態更新。掛載路徑:請輸入掛載路徑,如:/tmp。 數據存儲掛載到容器上的路徑。 請不要掛載在系統目錄下,如“/”、“/var/run”等,會導致容器異常。建議掛載在空目錄下 , 若目錄不為空,請確保目錄下無影響容器啟動的文件,否則文件會被替換,導致容器啟動異常, 工作負載創建失敗。須知掛載高危目錄的情況下,建議使用低權限帳號啟動,否則可能會造成宿主機高危文件被破壞。 設置權限: 只讀。只能讀容器路徑中的數據卷。 單擊“添加容器掛載”可增加多條設置,單擊“確定”完成配置。 |