问题描述
我正在使用舵位图来将我的应用程序部署在kubernetes中。
我的应用程序包含以下3个组件,
Web UI Web API 1 Web API 2 这里的Web UI是Nginx服务器中的静态UI应用程序,Web API 1和Web API 2是Web UI应用程序中调用的aspnet核心Web API应用程序。
当前如下部署,
使用Nginx图表的Web UI-https://hub.helm.sh/charts/bitnami/nginx
helm install web-ui-dev bitnami/Nginx
使用aspnet-core图表的Web API 1-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个组件,因此我计划使用头盔伞图。 因此,在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图表在伞形图表的单个头盔安装命令中部署Web API 1和Web API 2。
当我说不安装所有三个组件时,我可以部署Web API 1或Web API 2。
任何想通过使用伞形图的单个头盔安装来部署同一图的多个应用程序的想法。
谢谢。
解决方法
您可以在依赖文件中使用别名。这样。
- 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文件中使用别名。
,为依赖性图表添加别名会将图表作为别名使用新的依赖性放置在依赖性中。
如果他们需要访问其他名称的图表,则可以使用别名。
当前正在如下部署...使用nginx图表的Web UI,使用aspnet-core图表的Web API 1,也使用相同的aspnet-core图表的Web API
此外,文档还提供了有关tags
和condition
的见解,因此您可以启用/禁用图表安装(这样可能会拆分API)