首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在自定义舵图中禁用子图表

在自定义舵图中禁用子图表
EN

Stack Overflow用户
提问于 2019-03-25 20:46:20
回答 2查看 3.3K关注 0票数 4

我已经用elastic-stack创建了一个自定义舵图,作为一个子图表,具有以下配置。

代码语言:javascript
复制
# requirements.yaml
dependencies:
  - name: elastic-stack
    version: 1.5.0
    repository: '@stable'
代码语言:javascript
复制
# values.yaml
elastic-stack:
  kibana:
    # at this level enabled is not recognized (does not work)
    # enabled: true

    # configs like env, only work at this level
    env:
      ELASTICSEARCH_URL: http://foo-elasticsearch-client.default.svc.cluster.local:9200
    service:
      externalPort: 80

# enabled only works at root level
elasticsearch:
  enabled: true
kibana:
  enabled: true
logstash:
  enabled: false

我不明白的是,为什么我必须在elasatic-stack:外部定义enabled标记,并在内部定义所有其他配置?

这是正常的舵机行为还是弹性堆叠图中的一些错误配置?

EN

回答 2

Stack Overflow用户

发布于 2019-03-25 23:30:12

Helm conditions在顶层父级的值中求值:

YAML条件-条件字段包含一个或多个

路径(以逗号分隔)。如果此路径存在于顶级父级的值中并解析为布尔值,则将根据该布尔值启用或禁用图表

看看来自稳定/弹性堆栈的requirements.yaml中的条件:

代码语言:javascript
复制
- name: elasticsearch
  version: ^1.17.0
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: elasticsearch.enabled
- name: kibana
  version: ^1.1.0
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: kibana.enabled
- name: logstash
  version: ^1.2.1
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: logstash.enabled

条件路径为elasticsearch.enabledkibana.enabledlogstash.enabled,因此您需要在父图表值中使用它们。

票数 4
EN

Stack Overflow用户

发布于 2019-03-26 01:51:26

父values.yaml中的这些属性充当子图表的开关。

您应该在requirements.yaml中使用condition来控制依赖子图表的安装或执行。如果未提供,则helm将继续部署子图,而不会出现and问题。

此外,这些值在父图表的values.yaml中,因为它们正在父图表本身中使用,而且不能在子图表中使用,除非作为全局名称或在子图表的名称属性键中提供(在您的示例中是弹性堆栈)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55338147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档