Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 头盔伞形图,具有使用单一旗帜管理的互斥子图_Kubernetes_Kubernetes Helm - Fatal编程技术网

Kubernetes 头盔伞形图,具有使用单一旗帜管理的互斥子图

Kubernetes 头盔伞形图,具有使用单一旗帜管理的互斥子图,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,我用的是头盔2.16。我有一张这样结构的图表: umbrella |-charts |-subchart1 |-subchart2 我希望能够使用单个标志(subchart1或subchart2)安装伞形图+subchart1或伞形图+subchart2,并将该标志的默认值设置为subchart1 由于需求上的舵图条件不能被否定,除了用IFs保护其中一个图表上的所有资源之外,还有其他可用的解决方案吗?我发现的一个解决方法是将所有子图表放在子图表文件夹中,并具有类似于

我用的是头盔2.16。我有一张这样结构的图表:

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,则不会安装。