摘要:使應用程序的安裝和升級更加容易。本文將討論的一個極妙的技巧如何使用,簡單快速地更新那些使用的應用程序。我們假設它是用于運行應用程序的。更改此配置文件后,不要忘了還需要相應地更新,不然的話,那些使用此的應用程序將不會使用更新后的內容。
Helm讓Kubernetes應用程序的管理工作變得毫不費力。Helm Charts使Kubernetes應用程序的安裝和升級更加容易。本文將討論Helm的一個極妙的技巧:如何使用Helm,簡單快速地更新那些使用ConfigMap的應用程序。
更新部署
上圖的示例就是一個部署的配置文件。我們假設它是用于運行應用程序的。您可以在spec.template部分下指定pod模板?,F在,如果您想更新應用程序,則必須從此spec.template部分更改內容。這意味著,容器鏡像更改之后,部署將更新,但spec.replicas不會發生任何改變。
更新使用ConfigMap的部署
某些應用需要某些特定的配置文件和值,我們不建議將這些配置文件或配置值打包進容器鏡像中,因為如果這么做的話,那每次配置文件發生更改時,都必須重新創建容器鏡像。而Kubernetes提供了一種管理配置文件/值的好方法——使用ConfigMap資源。
有兩種方法可以將ConfigMap數據暴露給一個pod:
Env vars
Volume mounts
下面我們將重點關注暴露ConfigMap的卷掛載方式。
我創建了一個非常簡單的chart作為例子來討論這個問題。在這個chart中,我有一個如下的ConfigMap的配置文件:
如您所見,ConfigMap的名稱是nginx-cm,一個名為default.conf的文件正在讀取其數據。這個default.conf是一個nginx配置文件。
現在我想為我的應用程序使用這個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的數據部分發生了變化,但這并沒有引起部署spec.template的任何變化。對此的一種解決方法,是刪除這一部署所管理的所有pod,之后部署就會創建新的pod,這些新pod使用的就是更新后的configMap了。
但我不太喜歡這種方法,因為你必須手動刪除所有的pod,正因為如此我才開始尋找更好的解決方案,也就是本文所說的Helm的這個小技巧。
https://github.com/kubernetes...
正如你在注釋中看到的那樣, 你可以提供configmap文件的路徑,并將其傳遞給sha256 sum函數。這樣一來,每次configmap文件發生更改時,注釋部分也會得到相應的更新,進而更新部署的spec.template部分。我發現這一招非常妙,因為如此一來,你就可以經常更改您的配置文件內容了。因為這個訣竅,Helm能夠確保你的應用程序將一直及時地反映這些變化。
我已經做好了一個Helm chart放在GitHub上,你可以自行下載使用,體驗一下我在本文中分享的這個竅門~ 相信你一定也會發現它對你的應用程序非常有用:
https://github.com/mrajashree...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/32715.html
摘要:更新商店信息查詢應用安裝商店應用安裝商店應用執行了安裝商店應用的命令后,我們看到了系統返回給我們了安裝的詳細信息。安裝應用安裝商店應用按照前文helm工具已經安裝完成,接下來通過helm客戶端在kubernetes集群中創建一個應用,執行安裝前最好先進行應用商店的同步,以獲得最新的應用信息。#更新商店信息 helm repo update #查詢tomcat應用 helm search to...
摘要:生態周報內容主要包含我所接觸到的生態相關的每周值得推薦的一些信息。本次的發布周期一如往常,本月底增強功能凍結,下月底代碼凍結,月初完善文檔,計劃在月中發布版本。發布本周發布了版本,近期的開發還是比較活躍的。 「K8S 生態周報」內容主要包含我所接觸到的 K8S 生態相關的每周值得推薦的一些信息。歡迎訂閱知乎專欄「k8s生態」。 Kubernetes v1.16 發布周期開始 隨著前段時...
摘要:宋體自年被開源以來,很快便成為了容器編排領域的標準。宋體年月,樂心醫療的第一個生產用集群正式上線。所以于年推出后,樂心醫療的運維團隊在開會討論之后一致決定盡快遷移到。Kubernetes 自 2014 年被 Google 開源以來,很快便成為了容器編排領域的標準。因其支持自動化部署、大規??缮炜s和容器化管理等天然優勢,已經被廣泛接納。但由于 Kubernetes 本身的復雜性,也讓很多企業的...
摘要:的工作就是為作出的修改查看我們的配置文件,并且運行讀取配置文件的新版本回調函數,使用設置新的。它的目標是使任意額外的成為一個單獨更新的,這樣我們只要執行一次回調函數。 Kubernetes 1.2版本添加了一個叫ConfigMap的新功能。這個功能提供給容器注入應用程序數據的方式。注入配置文件對于大部分應用程序來說很強大,但是新的ConfigMap功能不僅可以在容器開啟時提供初始配置功...
閱讀 2227·2021-11-15 11:39
閱讀 982·2021-09-26 09:55
閱讀 925·2021-09-04 16:48
閱讀 2831·2021-08-12 13:23
閱讀 919·2021-07-30 15:30
閱讀 2455·2019-08-29 14:16
閱讀 886·2019-08-26 10:15
閱讀 525·2019-08-23 18:40