中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Kubernetes 1.2中如何使用ConfigMap

發布時間:2021-12-24 11:11:48 來源:億速云 閱讀:306 作者:小新 欄目:云計算

這篇文章主要介紹Kubernetes 1.2中如何使用ConfigMap,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

使用ConfigMap

很多應用程序的配置需要通過配置文件,命令行參數和環境變量的組合配置來完成。這些配置應該從image內容中解耦,以此來保持容器化應用程序的便攜性。ConfigMap API資源提供了將配置數據注入容器的方式,同時保持容器是不知道Kubernetes的。ConfigMap可以被用來保存單個屬性,也可以用來保存整個配置文件或者JSON二進制大對象。

ConfigMap總覽

ConfigMap API資源保持鍵-值對配置數據,這個數據可以在pods里使用,或者被用來為像controller一樣的系統組件存儲配置數據。雖然ConfigMap跟Secrets類似,但是configmap可以更方便的處理不包含敏感信息的字符串

讓我們來看看完成的例子吧:

Kubernetes 1.2中如何使用ConfigMap

data 一欄包括了配置數據。就如同你們看到的那樣,ConfigMap可以被用來保存單個屬性,也可以用來保存一個配置文件。

配置數據可以通過很多種方式在Pods里被使用。ConfigMaps可以被用來:

1、     設置環境變量的值

2、     在容器里設置命令行參數

3、     在數據卷里面創建config文件

用戶和系統組件兩者都可以在ConfigMap里面存儲配置數據。

創建ConfigMaps

你可以使用 kubectl create configmap 命令輕松從文字值、文件或者目錄來創建ConfigMaps。

讓我們來看一看創建ConfigMap的很多不同的方法吧:

1、從文件創建

現在我們已經有一個包含一些文件的目錄,它已經包含了我們想要設置ConfigMaps的數據:

Kubernetes 1.2中如何使用ConfigMap

kubectl create configmap命令可以被用來創建ConfigMap來存儲這個目錄里面每個文件的內容:

Kubernetes 1.2中如何使用ConfigMap

--from-file指向目錄的時候,每個在目錄底下的所有文件會被用在ConfigMap里面創建一個鍵值對,鍵的名字就是文件名,值就是文件的內容。

讓我們來看一下這個命令創建的ConfigMap:

Kubernetes 1.2中如何使用ConfigMap

你可以看到在映射里面的兩個是從kubectl指定的目錄中創建的文件名。這些鍵的內容可能會很大,所以在kubectl describe的輸出中,你只能夠看到鍵的名字和他們的大小。

如果我們想要看到鍵的值的話,我們可以僅僅只是kubectl get資源:

Kubernetes 1.2中如何使用ConfigMap

Kubernetes 1.2中如何使用ConfigMap

2、從文件創建

我們也可以傳遞給--from-file一個特定文件,并且多次傳遞到kubectl。以下命令跟上文例子中的結果是一樣的:

Kubernetes 1.2中如何使用ConfigMap

Kubernetes 1.2中如何使用ConfigMap

我們也可以用 --from-file 通過傳遞 key=value為個別文件設置鍵來使用:

--from-file=game-special-key=docs/user-guide/configmap/kubectl/game.properties

Kubernetes 1.2中如何使用ConfigMap

Kubernetes 1.2中如何使用ConfigMap

3、從字面值創建

為ConfigMap使用kubectl create configmap提供字面值。--from-literal選項采用了 語法,這個語法允許字面值被直接運用到命令行:

Kubernetes 1.2中如何使用ConfigMap

Kubernetes 1.2中如何使用ConfigMap

在pods里面使用ConfigMap

使用案例:在環境變量中使用ConfigMap

ConfigMap可以被用來填入環境變量。舉個例子,思考以下的ConfigMap:

Kubernetes 1.2中如何使用ConfigMap

我們可以像這樣在一個pod中來使用這個ConfigMap的鍵:

Kubernetes 1.2中如何使用ConfigMap

當這個pod運行的時候,它的輸出將包括以下幾行:

Kubernetes 1.2中如何使用ConfigMap

使用案例:用ConfigMap設置命令行參數

ConfigMap也可以被使用來設置容器中的命令或者參數值。這是一個已經完成的使用Kubernetes$(VAR_NAME)替換的語法。考慮ConfigMap:

Kubernetes 1.2中如何使用ConfigMap

為了輸入值到命令行里面,我們必須使用我們想要使用的鍵來作為環境變量,就如在上一個例子中的一樣。然后我們可以參考他們,在容器的命令里使用$(VAR_NAME)語法。

Kubernetes 1.2中如何使用ConfigMap

當這個pod正在運行的時候,從test-container容器的輸出將會是:

Kubernetes 1.2中如何使用ConfigMap

使用案例:通過數據卷插件使用ConfigMap 

ConfigMap也可以在數據卷里面被使用。再次回到我們的ConfigMap的例子:

Kubernetes 1.2中如何使用ConfigMap

在數據卷里面使用這個ConfigMap,我們有不同的選項。最基本的就是將文件填入數據卷,在這個文件中,鍵就是文件名,鍵值就是文件內容:

Kubernetes 1.2中如何使用ConfigMap

當這個pod運行的時候,輸出是這樣的:

Kubernetes 1.2中如何使用ConfigMap

我們也可以在ConfigMap值被映射的數據卷里控制路徑。

Kubernetes 1.2中如何使用ConfigMap

當pod運行的時候,輸出是這樣的:

Kubernetes 1.2中如何使用ConfigMap

真實案例:配置Redis

讓我們來看一下真實的案例:用Configmap配置redis。我們想要將redis作為一個緩存用推薦配置來輸入redis。Redis 配置應該包括:

Kubernetes 1.2中如何使用ConfigMap

 docs/user-guide/configmap/redis里面有這樣一個文件;有了它,我們可以使用下面的命令來創建一個ConfigMap實例:

Kubernetes 1.2中如何使用ConfigMap

Kubernetes 1.2中如何使用ConfigMap

現在,讓我們用這個配置來創建一個pod:

Kubernetes 1.2中如何使用ConfigMap

注意,這個pod有一個ConfigMap數據卷,它在一個叫redis.conf的文件里替代了 example-redis-config  ConfigMap的 redis-config密鑰。這個數據卷增長到redis容器的 /redis-master目錄里,在/redis-master/redis.conf里替代了我們的配置文件,/redis-master/redis.conf

就是image為master查找的redis配置文件。

Kubernetes 1.2中如何使用ConfigMap

如果我們kubectl exec到這個pod,并且運行redis-cli工具,我們可以檢查到我們的配置被正確運用:

Kubernetes 1.2中如何使用ConfigMap

限制條件

ConfigMaps必須在pod中被使用之前創建。Controllers可以會被寫來容忍某些配置文件數據的缺失。Configmaps屬于namespace。他們只有在相同的namespaces中通過pods被引用。

ConfigMap大小的配額是已經一個設置好的功能。

Kubelet只支持從API服務器的pods使用ConfigMap。這包括了任意的用Kubectl創建的pods,或者間接的通過replication controller創建的pods。它不包括通過Kubelet的 --manifest-url標志創建的pods,也不包括從它的REST API創建的pods(一般不用這些方法創建pods)。

以上是“Kubernetes 1.2中如何使用ConfigMap”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

石城县| 亚东县| 晴隆县| 乐陵市| 安宁市| 四川省| 柳河县| 甘南县| 海晏县| 华亭县| 达尔| 苍山县| 三河市| 阿尔山市| 枣庄市| 贞丰县| 武安市| 灵台县| 内黄县| 阿克苏市| 鸡泽县| 安龙县| 旅游| 五华县| 驻马店市| 新邵县| 乡宁县| 渑池县| 苏尼特右旗| 砚山县| 尉氏县| 灌云县| 秦皇岛市| 临朐县| 多伦县| 天台县| 青海省| 准格尔旗| 奈曼旗| 乌鲁木齐县| 凤山县|