【问题标题】:CronJob created as job in k8s 1.19.11CronJob 在 k8s 1.19.11 中创建为作业
【发布时间】:2021-09-08 00:01:41
【问题描述】:

我遇到了一个 API 问题,导致无法从 cron 作业创建作业。

我有一个使用 API 的 CronJob Helm 文件,如下所示:

apiVersion: batch/v1beta1
kind: CronJob

使用 helm 部署它就可以了。

然后在部署之后,我尝试使用该 cronjob 创建一个作业,如下所示:

 kubectl create job $(helm-release-name) --from=cronjob/connector-config

这用于根据上面的图表创建作业。但是现在,自从升级到 1.19.11 后,我反而收到了这个错误:

##[error]error: unknown object type *v1beta1.CronJob
commandOutput
##[error]The process 
'/opt/hostedtoolcache/kubectl/1.22.1/x64/kubectl' failed with exit code 1

如果我将 Helm 图表中的 api 更改为:

apiVersion: batch/v1
kind: CronJob

那么 Helm chart 部署失败。

UPGRADE FAILED: unable to recognize "": no matches for kind "CronJob" in version 
"batch/v1"

建议?

谢谢!

【问题讨论】:

  • 你使用的是哪个版本的K8s?

标签: kubernetes kubernetes-helm


【解决方案1】:

CronJobs 在 Google Kubernetes Engine (GKE) 版本 1.21 及更高版本中普遍可用 (GA)。

你应该使用的版本apiVersion: batch/v1

https://kubernetes.io/docs/tasks/job/automated-tasks-with-cron-jobs/

CronJobs 在 Kubernetes v1.21 中提升为普遍可用。如果 您使用的是旧版本的 Kubernetes,请参阅 您正在使用的 Kubernetes 版本的文档,因此 你看到准确的信息。较旧的 Kubernetes 版本不支持 支持批处理/v1 CronJob API。

您可以使用检查支持的 Kubernetes API 版本

kubectl api-resources OR kubectl api-versions

你也可以试试

kubectl explain <Resource type>

kubectl explain cronjob

【讨论】:

    猜你喜欢
    • 2021-06-02
    • 2021-12-23
    • 2021-10-24
    • 2021-02-11
    • 2021-07-15
    • 2022-01-28
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    相关资源
    最近更新 更多