亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ConfigMap怎么使用

發布時間:2021-12-24 10:14:45 來源:億速云 閱讀:155 作者:iii 欄目:云計算

本篇內容介紹了“ConfigMap怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

將ConfigMap作為一種環境變量

在本例中,我們將在Kubernetes中創建一個新的環境變量,并將其用于代碼中。在Java中,可以通過System.getenv(String) API在代碼中使用環境變量。在常規Java應用程序中,可以在J2EE應用程序容器(如Oracle WLS或IBM WAS)中設置環境變量,也可以在OS中設置環境變量。然而,在Kubernetes中情況并不相同。要使用環境變量,我們必須根據literal創建配置映射。

ConfigMap怎么使用

通過kubectl create configmap 命令,我們創建了兩個環境變量:app.name 和 app.desc。

我們來了解一下這背后發生了什么。

ConfigMap怎么使用

現在注意數據部分,在數據部分下,你會找到鍵值對。從技術上來說,ConfigMap僅僅是鍵值存儲。屬性的名稱是鍵,屬性的值是值。應用程序的代碼會要求你查找這些鍵值對。

為了在Java代碼中使用此環境變量,我們需要編寫以下代碼:

ConfigMap怎么使用

下面的代碼段定義了兩個K8s環境變量,分別為“ SPRING_BOOT_HELLO_WORLD_APP_NAME”和“ SPRING_BOOT_HELLO_WORLD_DESC”。這些變量將從ConfigMap app-env-config獲取值。需要重點關注的是鍵。

ConfigMap怎么使用

屬性配置文件可以在單個文件中保存很多個屬性,以在不同環境中運行應用程序。在Spring Boot應用程序中,屬性保存在classpath下的application.properties文件中。我們來看一下打包在應用程序jar包中的application.properties文件。

ConfigMap怎么使用

我們正在使用命令kubectl create configmap從單個文件或從多個文件創建ConfigMap。

現在讓我們查看完整的代碼。

ConfigMap怎么使用

ConfigMap怎么使用

將ConfigMap掛載為文件

在本節中,我將說明如何使用ConfigMap掛載文件以外部化配置。在此示例中,我將使用ConfigMap來外部化application.properties文件。即使默認文件打包在jar中,也位于src / main / resources下。簡單來說,我們將通過ConfigMap所提供的文件來覆蓋默認文件。

第一步是從application.properties創建ConfigMap。讓我們了解如何在K8s中存儲此ConfigMap。

ConfigMap怎么使用

通過ConfigMap,我們將掛載application.properties文件到K8s集群中,并且可以在應用程序中使用它。請注意,數據部分包含了application.properties的內容,鍵是文件名。

現在,為了覆蓋默認配置文件,我們需要(通過ConfigMap)將application.properties掛載到應用程序的classpath中。Spring Boot通過提供不同的選項來提供這一功能。SpringApplication在以下位置從application.properties文件加載屬性,并將它們添加到Spring Environment:

  • 當前目錄的/config 子目錄

  • 當前目錄

  • classpath / config包

  • The classpath root

如果你想了解更多信息,可以查閱官方文檔:

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-application-property-files

最簡單,最好的方法是將application.properties掛載在“ / config”目錄中。

ConfigMap怎么使用

仔細檢查掛載路徑,請注意ConfigMap的名稱應與我們在上面創建的app-file-configmap完全相同,鍵為文件名。另外,請確保將volume mount配置的名稱更改為volume配置的名稱。

ConfigMap怎么使用

這段代碼說明了如何在application.properties文件中定義屬性。如果使用Spring推薦的標準方法的話,這十分簡單。具體而言,就是使用@Value 注釋將屬性值注入到變量中。

現在,我們可以繼續進行ConfigMap示例應用程序了。我們來看一下完整的代碼段。

ConfigMap怎么使用

讓我們創建一個Docker鏡像并將其上傳到Dockerhub。在本例中,鏡像名稱是k8s-springboot-helloworld-configmap—app。

以下是K8S pod配置文件:

ConfigMap怎么使用

現在我們使用NodePort服務類型創建服務,以便可以從K8S集群外部使用Welcome服務。

ConfigMap怎么使用

現在,讓我們把這些更改應用于K8S。

導航到瀏覽器并訪問http://<minikube_ip>:<service_node_port>/welcome。在本例,應該是http:// 192.168.99.100:30880/welcome。

認真觀察輸出,返回的字符串是:

ConfigMap怎么使用

同時,檢查代碼中硬編碼的環境變量的默認值,以及打包在jar中的application.properties的property默認值。你發現從ConfigMap中獲取了環境變量和application.properties的值。

“ConfigMap怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇坪县| 黔西县| 玉龙| 新余市| 会宁县| 屏南县| 扎囊县| 米脂县| 四川省| 莱芜市| 赤峰市| 定日县| 大新县| 安福县| 靖边县| 安陆市| 苗栗市| 南雄市| 满洲里市| 綦江县| 郎溪县| 益阳市| 临漳县| 文昌市| 临夏县| 玉环县| 饶河县| 怀化市| 巫山县| 吐鲁番市| 昆山市| 虞城县| 汨罗市| 宁化县| 元阳县| 武冈市| 德庆县| 高要市| 东台市| 莫力| 扶绥县|