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

问题描述

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

LookupError

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

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

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

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

解决方法

对于 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 版上稳定。