概述
當您選擇使用Kurbenetes進行容器化部署時,可以使用配置項去保存一些不需要加密的配置信息,如JVM堆內存、JVM屬性參數等,在創建或者部署應用時,系統會自動將配置信息直接注入到容器中。
在微服務云應用平臺場景下,這種配置管理方式變得更加靈活和強大。微服務云應用平臺不僅支持上述的配置注入,還允許您將配置項以文件的形式直接掛載到容器內的指定目錄。這意味著,除了能夠動態調整應用的運行參數外,您還可以確保這些配置信息以文件的形式存在,這不僅方便了日常的管理和維護工作,也使得在需要時更新配置或進行故障排查變得更為直觀和高效,從而顯著提升了整體的運維體驗和工作效率。
前提條件
您已開通微服務云應用平臺
您已訂購一個云容器引擎實例
常用使用場景
覆蓋目錄下已經存在的文件
這里以常用的nginx鏡像舉例,在官方的nginx鏡像中,/etc/nginx目錄下的nginx.conf文件是需要配置的,并且在不同的環境下,該文件內容也不相同。此時,可以使用將配置項以文件形式掛載到容器指定目錄下,覆蓋原文件,來實現不同環境使用不同配置的效果。
首先需要創建K8s配置項,左側導航欄,選擇容器應用實例 > Kubernetes配置,進入到配置列表,點擊左上角創建配置項。需要注意的是:配置項下的鍵值對映射,鍵是文件名稱,值為文件內容。
掛載配置項,左側導航欄,選擇容器應用實例 > 應用發布 > 應用實例。在應用實例列表選擇需要覆蓋的應用,進入應用詳情界面,點擊上方新增版本按鈕,進入應用配置界面,在配置管理模塊下配置文件掛載。
在配置管理中,可以通過掛載文件的方式,向容器中注入配置信息。需要注意的是,在掛載文件路徑中,需要填寫到文件名稱。如下圖所示:
| 參數 | 描述 |
|---|---|
| 配置類型 | 目前只支持配置項。 |
| 掛載類型 | 掛載到文件。 |
| 掛載源 | 掛載到應用容器文件系統中的配置項的名稱。 |
| 掛載主目錄 | 設置容器的掛載主目錄,必須以斜杠(/)開頭。 |
| 文件掛載方式 | 保留原文件:保留原目錄下的文件,添加本次掛載文件。注意,相同文件名將保留本次掛載文件,隱藏原目錄重名文件。 |
| 掛載配置 | 要掛載的Key:需要掛載到應用容器文件系統中的配置項指定的Key。掛載文件路徑:相對掛載主目錄的子路徑。 |
Spring cloud微服務應用配置文件覆蓋
對于spring cloud微服務應用,配置文件為yml或者properties格式,因為是jar包,配置文件已經被打包在jar包里邊,通常希望在不改動jar的前提下使用其他配置,根據spring cloud微服務啟動加載配置文件原理,會優先加載jar包同級的config目錄下配置文件,或者jar包同級目錄下的配置文件。這里更加推薦第一種方式。