kubernetes - 在自定义 Helm chart 中禁用子图

标签 kubernetes elastic-stack kubernetes-helm kubeconfig

我用 elastic-stack 创建了一个自定义 Helm chart 作为具有以下配置的子图。

# requirements.yaml
dependencies:
  - name: elastic-stack
    version: 1.5.0
    repository: '@stable'
# 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

我不明白的是为什么我必须定义 enabled elasatic-stack:之外的标签以及里面的所有其他配置?

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

最佳答案

Helm conditions在顶级父级的值中进行评估:

Condition - The condition field holds one or more YAML paths (delimited by commas). If this path exists in the top parent’s values and resolves to a boolean value, the chart will be enabled or disabled based on that boolean value



查看requirements.yaml中的条件从稳定/弹性堆栈:
- 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.enabled , kibana.enabledlogstash.enabled ,因此您需要在父图表值中使用它们。

关于kubernetes - 在自定义 Helm chart 中禁用子图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55338147/

相关文章:

Jenkins + 库伯内斯 : How to use kubectl in kubernetes-plugin

elasticsearch - Elasticsearch映射通过模板选择所有字段以更改其数据类型Elasticsearch

elasticsearch - 如何使用logstash和filebeat过滤日志文件

如果不设置 vm.max_map_count,ElasticSearch 5.0.0-aplha4 将无法启动

docker - 那里有什么容器管理解决方案?

kubernetes - 无法通过Kubernetes使用Helm安装Nginx

kubernetes - Helm 无法从命令行将双引号传递到 values.yaml 中?

kubernetes - 如何在现有裸机 kubernetes 集群中编辑 etcd 配置

kubernetes - 无法引导(云类型 : localhost) - Error when installing Kuberneters cluster locally with LXD/Conjure-up

kubernetes - 无法访问UI进行kubeflow