Kubernetes 头盔伞形图,具有使用单一旗帜管理的互斥子图
我用的是头盔2.16。我有一张这样结构的图表:Kubernetes 头盔伞形图,具有使用单一旗帜管理的互斥子图,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,我用的是头盔2.16。我有一张这样结构的图表: umbrella |-charts |-subchart1 |-subchart2 我希望能够使用单个标志(subchart1或subchart2)安装伞形图+subchart1或伞形图+subchart2,并将该标志的默认值设置为subchart1 由于需求上的舵图条件不能被否定,除了用IFs保护其中一个图表上的所有资源之外,还有其他可用的解决方案吗?我发现的一个解决方法是将所有子图表放在子图表文件夹中,并具有类似于
umbrella
|-charts
|-subchart1
|-subchart2
我希望能够使用单个标志(subchart1或subchart2)安装伞形图+subchart1或伞形图+subchart2,并将该标志的默认值设置为subchart1
由于需求上的舵图条件不能被否定,除了用IFs保护其中一个图表上的所有资源之外,还有其他可用的解决方案吗?我发现的一个解决方法是将所有子图表放在子图表文件夹中,并具有类似于以下内容的
需求.yaml
配置文件:
dependencies:
- name: subchart1
version: example-version
repository: "subchart1-directory"
alias: postgresql
condition: subchart1.enabled
- name: subchart2
version: example-version
repository: "file://subcharts/subchart2"
condition: subchart2.enabled
并在values.yaml
中添加
subchart1:
enabled: true
subchart2:
enabled: false
然后在安装过程中,将值传递给enabled(启用)或Disabled(禁用)subchart1(禁用),如下所示:
$ helm install --set subchart1.enabled=true
或
请看这里:,。我发现的一个解决方法是将所有子图表放在子图表文件夹中,并具有
要求.yaml
配置文件,如下所示:
dependencies:
- name: subchart1
version: example-version
repository: "subchart1-directory"
alias: postgresql
condition: subchart1.enabled
- name: subchart2
version: example-version
repository: "file://subcharts/subchart2"
condition: subchart2.enabled
并在values.yaml
中添加
subchart1:
enabled: true
subchart2:
enabled: false
然后在安装过程中,将值传递给enabled(启用)或Disabled(禁用)subchart1(禁用),如下所示:
$ helm install --set subchart1.enabled=true
或
看看这里:,。所以我需要我的两个子硬盘相互排斥:安装一个或另一个,但不能同时安装两个。我如何通过一个标志实现这一点?正如您所要求的,我已经找到了解决方案,使您能够安装伞形图+subchart1或伞形图+subchart2。你必须在我写subchart1时将其标记为已启用,然后如果你想安装subchart2,请启用它并禁用subchart1。是的,所以需要两个标记,对吗?我看到的两个标志的问题是,我的图表的用户可能会让它们都处于启用状态,这是我的错误。如果我可以用一个标志配置互斥,那就不可能发生。通过dafault将所有标记为enabled的子图表设置为true,如果您将特定子图表的flag enabled on false更改为false,则不会安装。因此我需要两个子图表互斥:安装一个或另一个,但不能同时安装两个。我如何通过一个标志实现这一点?正如您所要求的,我已经找到了解决方案,使您能够安装伞形图+subchart1或伞形图+subchart2。你必须在我写subchart1时将其标记为已启用,然后如果你想安装subchart2,请启用它并禁用subchart1。是的,所以需要两个标记,对吗?我看到的两个标志的问题是,我的图表的用户可能会让它们都处于启用状态,这是我的错误。如果我可以用一个标志配置互斥,那就不可能发生。通过dafault,所有子图表ale标记为enabled为true,如果您将特定子图表的flag enabled更改为false,则不会安装。