簡體   English   中英

Helm Charts微服務

[英]Helm Charts Microservices

想象一下,我正在開發基於微服務的應用程序。 它們將通過Helm Package Manager部署到kubernetes。 一些微服務最終具有非常相似的YAML文件配置。 在YAML配置方面,其他一些可能有所不同。 最佳做法是什么? 我有幾種選擇:

  1. 使用通用圖表並為每個微服務使用values.env.yaml傳遞不同的配置,然后使用不同的發行版名稱進行部署。
  2. 為每個微服務創建圖表,無論它們在配置方面是否相似?

這是一個觀點問題,因此我將以觀點回答。

  1. 好處:根據微服務的不同,您只需要在values.yaml中更改一些值即可,並且更易於維護values.yml。 您的Helm圖表回購可能不會以如此快的速度增長。

    缺點:例如,創建_helpers.tpl文件會比較困難。 該文件將迅速增長,並且可能會使創建微服務的人們對其理解感到困惑。

  2. 優勢:當您擴展到數百個時,將微服務分離。 開發人員只能在其微服務部署上工作。

    缺點:文件散布,到處都有太多文件,您的Helm圖表回購可能會迅速增長。 另外,還有重復代碼的風險。

正式的Helm圖表更通用的做法是排在第二位,但是每個圖表再次適用於非常不同的應用程序。

就像提到的@Rico一樣,這是一個意見問題。 這是我的意見:

我認為從一個適合所有人的圖表開始是一個好主意。 但是,當您只需要為一些有特殊要求的服務添加非常具體的內容時,則應創建另一個圖表。 當涉及到微服務時,這個想法首先類似於Monolith

在我的公司中,我們有一張約30個服務的圖表。 它們的需求非常相似,因此模板文件並不太復雜,並且_helpers文件只有大約50行。 我們對此解決方案感到非常滿意,因為您只需要幾行values.yaml就可以准備服務進行操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM