跨 Helm Chart 共享依賴關係

跨 Helm Chart 共享依賴關係

我正在嘗試啟動共享共同依賴項(本例中為 MySQL 資料庫)的不同 Helm 圖表。

讓我們考慮兩個不同的舵圖,其中的設定如下Chart.yaml

服務A

dependencies:
  - name: mysql
    version: ^8.0.20
    repository: https://charts.bitnami.com/bitnami

服務B

dependencies:
  - name: mysql
    version: ^8.0.20
    repository: https://charts.bitnami.com/bitnami

儘管這兩個服務是獨立的,但它們共享相同的資料庫。但是,當部署啟動時就會出現問題,因為這也會觸發兩個獨立的資料庫。

作為替代方案,我也嘗試追求引用的傘方法這裡,透過在相同的條件下定義所有內容家長掌舵圖與此類似的設定:

家長掌舵圖

dependencies:
  - name: service_a
    version: 0.1.0
    repository: repo_for_service_a
  - name: service_b
    version: 0.1.0
    repository: repo_for_service_b

問題在於,即使再次將相同資料庫作為依賴項共享,在嘗試部署時也會為資料庫建立重複的程式碼,導致部署狀態失敗。作為解決方案,我利用了 Helm--post-renderer標誌,透過。儘管這可行,但我一直在尋找更可行的解決方案。

相關內容