【问题标题】:Kubernetes(GKE) cronjob not workingKubernetes(GKE)cronjob 不工作
【发布时间】:2018-04-18 11:55:30
【问题描述】:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: node-timer-analytics-parser-cronjob
spec:
  schedule: "0 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: node-timer-analytics-parser-cronjob
            image: round0.azurecr.io/node-timer-analytics-parser:latest
            args:
            - /bin/sh
            - -c
            - date; npm start
          restartPolicy: OnFailure
          imagePullSecrets:
            - name: regsecret

我有一个创建 cronjob 的以下 YAML 文件,但 $ kubectl get cronjob cmd 给出了这个 $ kubectl 获取定时任务

NAME                                     KIND
node-timer-analytics-parser-controller   CronJob.v1beta1.batch

还有 $ kubectl get job没有找到资源。

我也试过这个 $ kubectl describe cronjob node-timer-analytics-parser-controller,它给出了

Name:       node-timer-analytics-parser-controller
Namespace:  default
Labels:     <none>
Events:     <none>

这个 docker 镜像/容器对 sql 数据库执行一些广泛的 sql 查询(40-50 个并行查询)。
我在本地测试了 docker 容器,它运行没有任何问题。一个完整的执行可能需要大约 1-5 分钟。我不明白为什么它在 Kubernetes 中不起作用

我什至尝试了example of the k8 documentation,它似乎已经完成了,知道我的 cronjob 出了什么问题。

【问题讨论】:

  • 您查看过 cronjob 的日志吗?它会开始吗?

标签: kubernetes google-cloud-platform gcloud google-kubernetes-engine


【解决方案1】:

假设你运行的是 Kubernetes 1.8,根据release notes 1.7.8 是在 GKE 中运行的默认版本。您可以使用kubectl version查看您正在运行的版本

如果您运行的是 the CronJob documentation 启用 cron 作业。我不使用 GKE,但看起来您在集群创建时执行此操作:

gcloud alpha container clusters create my-cluster --enable-kubernetes-alpha

欲了解更多信息,请查看About Alpha Features

即使是 1.8 似乎也被列为 release notes 的新功能

您现在可以在 Container Engine 集群上运行 CronJobs。 CronJob 是 Kubernetes 1.8 版中的一个 Beta 功能。

因此您可能需要运行升级。

我还注意到您使用的是 azure 容器。可能值得从示例 CronJob 开始,看看您是否可以先使其工作。

【讨论】:

猜你喜欢
  • 2021-07-05
  • 2011-11-02
  • 1970-01-01
  • 2019-11-28
  • 2017-10-08
  • 1970-01-01
  • 2021-10-24
  • 2018-03-27
  • 1970-01-01
相关资源
最近更新 更多