patch kubernetes cronjob with kustomize



我正在尝试修补一个cronjob,但不知怎么的,它不像我期望的那样工作。对于部署,我使用了相同的文件夹结构,这是有效的。

文件夹结构:

.
├── base
│   ├── kustomization.yaml
│   └── war.cron.yaml
└── overlays
└── staging
├── kustomization.yaml
├── war.cron.patch.yaml
└── war.cron.staging.env

基础/kustomization.yaml

---
kind: Kustomization
resources:
- war.cron.yaml

基础/war.cron.yaml

---
apiVersion: batch/v1
kind: CronJob
metadata:
name: war-event-cron
spec:
schedule: "*/5 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: war-event-cron
image: my-registry/war-service
imagePullPolicy: IfNotPresent
command:
- python
- run.py
args:
- sync-events
envFrom:
- secretRef:
name: war-event-cron-secret
restartPolicy: OnFailure

然后我试图在staging覆盖中修补这个。

覆盖/分期/kustomization.yaml

---
kind: Kustomization
namespace: staging
bases:
- "../../base"
patchesStrategicMerge:
- war.cron.patch.yaml
secretGenerator:
- name: war-event-cron-secret
behavior: create
envs:
- war.cron.staging.env

覆盖/分期/war.cron.patch.yaml

---
apiVersion: batch/v1
kind: CronJob
metadata:
name: war-event-cron
spec:
jobTemplate:
spec:
template:
spec:
containers:
- name: war-event-cron
image: my-registry/war-service:nightly
args:
- sync-events
- --debug

但是kustomize build overlays/staging/的结果不是我想要的。command不在位,secret未被引用

apiVersion: v1
data:
...
kind: Secret
metadata:
name: war-event-cron-secret-d8m6bh7284
namespace: staging
type: Opaque
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: war-event-cron
namespace: staging
spec:
jobTemplate:
spec:
template:
spec:
containers:
- args:
- sync-events
- --debug
image: my-registry/war-service:nightly
name: war-event-cron
restartPolicy: OnFailure
schedule: '*/5 * * * *'

这是kustomize中已知的错误-检查并关注GitHub上的这个主题(创建~一个月前)以获取更多信息。

目前,修复您的问题是使用apiVersion:batch/v1beta1而不是apiVersion: batch/v1base/war.cron.yamloverlays/staging/war.cron.patch.yaml文件。

相关内容

  • 没有找到相关文章

最新更新