Google容器引擎(Kubernetes)上的定时任务

7

请问有人有定期运行作业的经验吗?根据指南,在启用运行时batch/v2alpha1后,ScheduledJobs从1.4版本开始可用。

因此,我通过kubectl api-versions命令确认:

autoscaling/v1
batch/v1
batch/v2alpha1
extensions/v1beta1
storage.k8s.io/v1beta1
v1

但是当我使用以下示例模板并运行命令 kubectl apply -f job.yaml 时:

apiVersion: batch/v2alpha1
kind: ScheduledJob
metadata:
  name: hello
spec:
  schedule: 0/1 * * * ?
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox
            args:
            - /bin/sh
            - -c
            - date; echo Hello from the Kubernetes cluster
          restartPolicy: OnFailure

我遇到了错误

error validating "job.yaml": error validating data: couldn't find type: v2alpha1.ScheduledJob; if you choose to ignore these errors, turn validation off with --validate=false

这是因为该功能可能还未被实现,或者我在创建模板时出现了一些错误吗?

提前感谢你的帮助。


kubectl version 报告服务器安装了 1.4.5 版本,客户端安装了 1.4.4 版本。 - Daniil Bolsun
1个回答

6

好的,我认为我解决了这个问题。ScheduledJobs目前处于alpha状态,Google容器引擎仅支持在启用了API的集群中使用此功能。我通过以下命令创建了这样的集群:

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

结果现在我拥有一个限制为30天但支持完整功能的集群。 我可以通过kubectl get scheduledjobs查看计划任务并使用模板创建新的计划任务。

您可以在这里找到有关alpha集群的更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接