没有 cassandra 覆盖的 Jaeger helm chart
Jaeger helm chart without cassandra overwrite
使用 Jaeger 的 helm chart 我发现它使用了 cassandra 子图。查看文档和配置文件,将 provisionDataStore.cassandra 覆盖设置为 false 似乎不应该安装 cassandra 子图。但是,设置覆盖后,我仍然可以看到我的集群上安装了 cassandra 服务。
有人知道为什么以及如何阻止将 cassandra 服务部署到我的集群吗?我原以为当我设置 provisionDataStore.cassandra=false 时,我不应该看到任何 cassandra 服务被部署到我的集群。
这是 Jaeger helm chart 的 requirements.yaml 文件的样子:
依赖项:
- 名称:卡桑德拉
版本:^0.13.1
存储库:https://kubernetes-charts-incubator.storage.googleapis.com/
条件:provisionDataStore.cassandra
- 名称:弹性搜索
版本:^7.5.1
存储库:https://helm.elastic.co
条件:provisionDataStore.elasticsearch
根据https://helm.sh/docs/chart_template_guide/control_structures/,字符串被转换为布尔值 True。因此,即使是一串 false 也会被 Helm 评估为 True 的布尔值。我使用的是 Spinnaker,它将所有覆盖作为字符串处理,除非 "Raw Overrides" 框被选中。如果选中该框,则会在适用的情况下将字符串转换为原语。
我的问题是,即使我用 false 值覆盖,Spinnaker 会将其作为字符串传递给 Helm,然后 Helm 会将其评估为 True。
解决方案是选中 Spinnaker 中的 "Raw Overrides" 框。
使用 Jaeger 的 helm chart 我发现它使用了 cassandra 子图。查看文档和配置文件,将 provisionDataStore.cassandra 覆盖设置为 false 似乎不应该安装 cassandra 子图。但是,设置覆盖后,我仍然可以看到我的集群上安装了 cassandra 服务。
有人知道为什么以及如何阻止将 cassandra 服务部署到我的集群吗?我原以为当我设置 provisionDataStore.cassandra=false 时,我不应该看到任何 cassandra 服务被部署到我的集群。
这是 Jaeger helm chart 的 requirements.yaml 文件的样子: 依赖项: - 名称:卡桑德拉 版本:^0.13.1 存储库:https://kubernetes-charts-incubator.storage.googleapis.com/ 条件:provisionDataStore.cassandra - 名称:弹性搜索 版本:^7.5.1 存储库:https://helm.elastic.co 条件:provisionDataStore.elasticsearch
根据https://helm.sh/docs/chart_template_guide/control_structures/,字符串被转换为布尔值 True。因此,即使是一串 false 也会被 Helm 评估为 True 的布尔值。我使用的是 Spinnaker,它将所有覆盖作为字符串处理,除非 "Raw Overrides" 框被选中。如果选中该框,则会在适用的情况下将字符串转换为原语。
我的问题是,即使我用 false 值覆盖,Spinnaker 会将其作为字符串传递给 Helm,然后 Helm 会将其评估为 True。
解决方案是选中 Spinnaker 中的 "Raw Overrides" 框。