版本“batch/v1”中的“CronJob”种类没有匹配项

sev*_*ven 5 kubernetes kubernetes-cronjob

当我运行 CronJob 示例时,我使用 Kubernetes which v1.19.7

apiVersion: batch/v1
kind: CronJob
metadata:
  name: express-learn-cronjob
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
            - name: hello
              image: busybox
              command:
                - /bin/sh
                - -c
                - date; echo Hello from the Kubernetes cluster
          restartPolicy: OnFailure
Run Code Online (Sandbox Code Playgroud)

无法识别“app-cronjob.yml”:版本“batch/v1”中没有与“CronJob”类型匹配的匹配项

我可以通过运行 kubectl api-versions | 获取批处理信息 批处理

batch/v1
batch/v1beta1
Run Code Online (Sandbox Code Playgroud)

有什么我错过的吗?我该如何解决?

Jul*_*sta 8

对于 Kubernetes 版本 1.19.x,您需要将其batch/v1beta1用作 CronJob 的 apiVersion。

文档版本 1-19 中记录了这一点:

https://v1-19.docs.kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/

它仅在 k8s 1.21 版上稳定。

  • 对于 k8s 版本 1.21.x,您必须使用 `apiVersion: batch/v1`,详细信息如下:https://v1-21.docs.kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/ (3认同)
  • 这个“batch/v1beta1”在 OpenShift 4.7 中为我工作,它在下面使用 Kubernetes 1.20。https://docs.openshift.com/container-platform/4.7/release_notes/ocp-4-7-release-notes.html#ocp-4-7-about-this-release (2认同)