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

溫馨提示×

溫馨提示×

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

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

如何使用Helm更新使用ConfigMap的應用程序

發布時間:2021-11-02 18:15:39 來源:億速云 閱讀:988 作者:柒染 欄目:云計算

如何使用Helm更新使用ConfigMap的應用程序,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Helm的小小黑科技,讓你簡單快速地更新那些使用ConfigMap的應用程序。隨時隨心更改配置文件內容,而應用程序將實時根據變化而更新~

Helm讓Kubernetes應用程序的管理工作變得毫不費力。Helm Charts使Kubernetes應用程序的安裝和升級更加容易。本文將討論Helm的一個極妙的技巧:如何使用Helm,簡單快速地更新那些使用ConfigMap的應用程序。

更新部署

如何使用Helm更新使用ConfigMap的應用程序

上圖的示例就是一個部署的配置文件。我們假設它是用于運行應用程序的。您可以在spec.template部分下指定pod模板。現在,如果您想更新應用程序,則必須從此spec.template部分更改內容。這意味著,容器鏡像更改之后,部署將更新,但spec.replicas不會發生任何改變。

更新使用ConfigMap的部署

某些應用需要某些特定的配置文件和值,我們不建議將這些配置文件或配置值打包進容器鏡像中,因為如果這么做的話,那每次配置文件發生更改時,都必須重新創建容器鏡像。而Kubernetes提供了一種管理配置文件/值的好方法——使用ConfigMap資源。

有兩種方法可以將ConfigMap數據暴露給一個pod:

  • Env vars

  • Volume mounts

下面我們將重點關注暴露ConfigMap的卷掛載方式。

我創建了一個非常簡單的chart作為例子來討論這個問題。在這個chart中,我有一個如下的ConfigMap的配置文件:

如何使用Helm更新使用ConfigMap的應用程序

如您所見,ConfigMap的名稱是nginx-cm,一個名為default.conf的文件正在讀取其數據。這個default.conf是一個nginx配置文件。

如何使用Helm更新使用ConfigMap的應用程序

現在我想為我的應用程序使用這個ConfigMap nginx-cm。所以我將通過我的應用程序的部署的配置文件中的Volume Mounts來暴露它。

如何使用Helm更新使用ConfigMap的應用程序

如上面的示例,我們需要在【volumes】部分下添加ConfigMap,并為其指定一個唯一的名稱(config-volume,如示例中所示)。然后,我們需要將這個卷添加到【containers】部分下的卷掛載中。volumeMounts.mountPath字段是容器中可供容器使用的配置文件的確切位置。

因此,使用這些配置文件,我們就可以運行使用ConfigMap提供的nginx配置文件內容的應用程序了。

下面我們需要更改nginx配置文件。更改此配置文件后,不要忘了還需要相應地更新ConfigMap,不然的話,那些使用此ConfigMap的應用程序將不會使用更新后的內容。

我們當然也可以使用kubectl update命令來更新ConfigMap。按理說,同樣的,接下來我們應該更新部署。那么,kubectl update命令可以用來更新部署嗎?

在我嘗試這么做的時候,我收到了下面這條消息:

如何使用Helm更新使用ConfigMap的應用程序

這是因為即使在更新ConfigMap資源之后,部署的spec.template部分也沒有更改。即使ConfigMap的數據部分發生了變化,但這并沒有引起部署spec.template的任何變化。對此的一種解決方法,是刪除這一部署所管理的所有pod,之后部署就會創建新的pod,這些新pod使用的就是更新后的configMap了。

但我不太喜歡這種方法,因為你必須手動刪除所有的pod,正因為如此我才開始尋找更好的解決方案,也就是本文所說的Helm的這個小技巧。

https://github.com/kubernetes/helm/blob/master/docs/charts_tips_and_tricks.md#automatically-roll-deployments-when-configmaps-or-secrets-change

正如你在注釋中看到的那樣, 你可以提供configmap文件的路徑,并將其傳遞給sha256 sum函數。這樣一來,每次configmap文件發生更改時,注釋部分也會得到相應的更新,進而更新部署的spec.template部分。我發現這一招非常妙,因為如此一來,你就可以經常更改您的配置文件內容了。因為這個訣竅,Helm能夠確保你的應用程序將一直及時地反映這些變化。

關于如何使用Helm更新使用ConfigMap的應用程序問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

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

AI

汨罗市| 沂南县| 神木县| 富裕县| 固阳县| 宕昌县| 江油市| 苍山县| 长顺县| 高碑店市| 乌兰县| 汝阳县| 永昌县| 云林县| 庆元县| 广汉市| 姚安县| 安泽县| 庐江县| 巢湖市| 安阳县| 鲁山县| 临清市| 翁源县| 长乐市| 溧阳市| 泰兴市| 杭锦旗| 府谷县| 舞钢市| 五大连池市| 剑阁县| 绩溪县| 赫章县| 徐州市| 镇原县| 分宜县| 合阳县| 通榆县| 綦江县| 财经|