kubernetes - 有条件地排除 block

标签 kubernetes kubernetes-helm

我有一长串在所有环境中都通用的cronjobs,而短名单是针对某些市场的。

根据if/else的文档,我可以有条件在模板中包括文本块。由于要包含的列表太大了,因此大多数市场都需要它,因此我希望排除特定的块。

当我遍历CronJob模板上的市场列表时,我正在寻找一个if / else条件,以在条件匹配时跳过特定的迭代。

就像是:

{{- range $job := $.Values.cronjobs }}
{{- range $markets := $.Values.markets }}
{{- if and (eq $job "special") (eq $markets "ordinary") }}
<<---skip templating the below block of code--->>
apiVersion: batch/v1beta1
kind: CronJob
metadata:
  namespace: {{ $.Release.Namespace }}
[...]
{{- end }}

最佳答案

您可以取消条件,以便仅在为假时才生成该块:

{{- if not ( and (eq $job "special") (eq $markets "ordinary") ) }}

关于kubernetes - 有条件地排除 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60745254/

相关文章:

Kubernetes - 什么是命令式和声明式

elasticsearch - StatefulSet失败创建ElasticSearch

docker - 具有多个资源单个 YAML 的 Kubernetes 应用程序

ssl - Kubernetes 入口 : SSL (HTTP -> HTTPS) redirect not working (Nginx Docker)

kubernetes - 在 logstash 启动版本 7.1.1 上接收 SIGTERM

kubernetes - Gitlab Autodevops如何始终保持一个 pods 存活

kubernetes - Kubernetes自定义基于时间的缩放器

docker - 正确保持docker VSTS/Azure Devops build代理干净但已缓存

devops - 无法将 helm 图表推送到 jfrog artifactory

postgresql - 如何使用Helm和Kubernetes从应用程序连接Postgresql?