Bitnami Umbrella 图表 - 多应用的子图表

Bitnami Umbrella chart - a subchart for multiple application

我正在为我的应用程序使用 helm bitnami 图表以在 kubernetes 中部署。

我的应用程序包含以下 3 个组件,

网络UI 网站 API 1 网页 API 2 这里WebUI是nginx服务器中的静态UI应用,WebAPI1和WebAPI2是Web中调用的aspnet core webAPI应用UI申请。

目前正在如下部署,

WebUI使用nginx图表-https://hub.helm.sh/charts/bitnami/nginx

helm install web-ui-dev bitnami/nginx

Web API 1 使用aspnet-core图表 - https://hub.helm.sh/charts/bitnami/aspnet-core

helm install web-api1-dev bitnami/aspnet-core

Web API 2 也使用相同的 aspnet-core 图表

helm install web-api2-dev bitnami/aspnet-core

由于我的应用程序依赖于 3 个组件,因此我打算使用 helm umbrella chart。 因此,在 chart.yaml 文件和 values.yaml 中创建了一个具有以下依赖关系的父图表(比如 'ag'),给出了所有子图表值。

dependencies:
    - name: nginx
      version: 6.2.0
      repository: https://charts.bitnami.com/bitnami
    - name: aspnet-core
      version: 0.2.0
      repository: https://charts.bitnami.com/bitnami

但是这里的问题是我无法使用 aspnet-core chart 在 umbrella chart 的单个 helm install 命令中同时部署 Web API 1 和 Web API 2。

当我说 helm install dev ag 它没有安装所有 3 个组件时,我可以部署 Web API 1 或 Web API 2.

有没有想过使用 umbrella chart 的单 helm 安装来部署同一 chart 的多个应用程序。

谢谢。

您可以在依赖文件中使用别名。像这样。

    - name: nginx
      version: 6.2.0
      repository: https://charts.bitnami.com/bitnami
    - name: aspnet-core
      version: 0.2.0
      repository: https://charts.bitnami.com/bitnami
      alias: web-api1-dev
    - name: aspnet-core
      version: 0.2.0
      repository: https://charts.bitnami.com/bitnami
      alias: web-api2-dev

然后在您的 values.yaml 主文件中使用别名。

请参考Helm Documentation

为依赖关系图添加别名会将图表放入依赖关系中,使用别名作为新依赖关系的名称。

在需要访问具有其他名称的图表的情况下,可以使用别名。

Currently deploying like below...The Web UI using nginx chart, the Web API 1 using aspnet-core chart, the Web API 2 also using same aspnet-core chart

另外,文档提供了关于 tagscondition 的见解,因此您可以 enable/disable 图表安装(因此可能会拆分您的 API)