成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

lixiang / 1110人閱讀

摘要:使應用程序的安裝和升級更加容易。本文將討論的一個極妙的技巧如何使用,簡單快速地更新那些使用的應用程序。我們假設它是用于運行應用程序的。更改此配置文件后,不要忘了還需要相應地更新,不然的話,那些使用此的應用程序將不會使用更新后的內容。

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

更新部署

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

更新使用ConfigMap的部署

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

有兩種方法可以將ConfigMap數(shù)據(jù)暴露給一個pod:

Env vars

Volume mounts

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

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

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

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

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

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

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

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

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

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

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

https://github.com/kubernetes...

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

我已經(jīng)做好了一個Helm chart放在GitHub上,你可以自行下載使用,體驗一下我在本文中分享的這個竅門~ 相信你一定也會發(fā)現(xiàn)它對你的應用程序非常有用:

https://github.com/mrajashree...

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/32715.html

相關文章

  • 【容器云 UK8S】應用商店:安裝應用和管理應用

    摘要:更新商店信息查詢應用安裝商店應用安裝商店應用執(zhí)行了安裝商店應用的命令后,我們看到了系統(tǒng)返回給我們了安裝的詳細信息。安裝應用安裝商店應用按照前文helm工具已經(jīng)安裝完成,接下來通過helm客戶端在kubernetes集群中創(chuàng)建一個應用,執(zhí)行安裝前最好先進行應用商店的同步,以獲得最新的應用信息。#更新商店信息 helm repo update #查詢tomcat應用 helm search to...

    Tecode 評論0 收藏0
  • K8S 生態(tài)周報| 2019-07-01~2019-07-07

    摘要:生態(tài)周報內容主要包含我所接觸到的生態(tài)相關的每周值得推薦的一些信息。本次的發(fā)布周期一如往常,本月底增強功能凍結,下月底代碼凍結,月初完善文檔,計劃在月中發(fā)布版本。發(fā)布本周發(fā)布了版本,近期的開發(fā)還是比較活躍的。 「K8S 生態(tài)周報」內容主要包含我所接觸到的 K8S 生態(tài)相關的每周值得推薦的一些信息。歡迎訂閱知乎專欄「k8s生態(tài)」。 Kubernetes v1.16 發(fā)布周期開始 隨著前段時...

    booster 評論0 收藏0
  • 樂心醫(yī)療 Kubernetes云平臺建設實踐

    摘要:宋體自年被開源以來,很快便成為了容器編排領域的標準。宋體年月,樂心醫(yī)療的第一個生產用集群正式上線。所以于年推出后,樂心醫(yī)療的運維團隊在開會討論之后一致決定盡快遷移到。Kubernetes 自 2014 年被 Google 開源以來,很快便成為了容器編排領域的標準。因其支持自動化部署、大規(guī)模可伸縮和容器化管理等天然優(yōu)勢,已經(jīng)被廣泛接納。但由于 Kubernetes 本身的復雜性,也讓很多企業(yè)的...

    testHs 評論0 收藏0
  • Kubernetes 1.2 新功能解析:ConfigMap (下)

    摘要:的工作就是為作出的修改查看我們的配置文件,并且運行讀取配置文件的新版本回調函數(shù),使用設置新的。它的目標是使任意額外的成為一個單獨更新的,這樣我們只要執(zhí)行一次回調函數(shù)。 Kubernetes 1.2版本添加了一個叫ConfigMap的新功能。這個功能提供給容器注入應用程序數(shù)據(jù)的方式。注入配置文件對于大部分應用程序來說很強大,但是新的ConfigMap功能不僅可以在容器開啟時提供初始配置功...

    Blackjun 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<