我在 helm 中有一个 cronjob 文件,如下所示:
apiVersion: batch/v1
kind: CronJob
metadata:
name: job-1
namespace: default
...
apiVersion: batch/v1
kind: CronJob
metadata:
name: job-2
namespace: default
...
apiVersion: batch/v1
kind: CronJob
metadata:
name: job-3
namespace: default
...
如何仅使用一个 helm install 命令来安装名称为 job-1、job-2 和 job-3 的所有 cronjob:
helm install $name $chart
我尝试安装它,但它只安装 job-1。我期待它安装所有三个作业,当我运行
kubectl get cronjobs
我应该能够看到所有三个作业
将每个 CronJob 放在
templates
目录中的单独文件中。
原则上也可以将其拆分为单独的 YAML 文档,但这通常不是首选方法。 (不过,如果您使用 Helm 模板
range
构造来使用循环创建多个文档,则这是必要的。)将 ---
放在每个文档之前的单独一行上。
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: job-1
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: job-2
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: job-3
如果没有这些标记,这将被视为具有重复的
key: value
对的单个映射。也就是说,有一个 single YAML 文件作为其输出,该文件恰好包含 metadata:
多次。不同的工具以不同的方式处理此 YAML,通常会产生错误或丢弃给定密钥的最后一个副本以外的所有副本。在图表上运行 helm template
将告诉您 Helm 正在生成什么。