如何使用 helm 安装多个 cronjobs?

问题描述 投票:0回答:1

我在 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
我应该能够看到所有三个作业

kubernetes kubernetes-helm
1个回答
0
投票

将每个 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 正在生成什么。

© www.soinside.com 2019 - 2024. All rights reserved.