使用 CronJob 的 Kubernetes 运行 作业

Kubernetes Run job using CronJob

有什么方法可以 运行 使用 CronJob 资源的现有作业。 在 CronJob 规范模板中,我们可以使用标签应用选择器。像这样:

职位规格:(Link to job docs)

apiVersion: batch/v1
kind: Job
label:
  name: pi
spec:
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never
  backoffLimit: 4

Cron 规范:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: pi-cron
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      labelSelector:
        name: pi # refer to the job created above

我遇到了这个。我想尝试与此相反。

不,你不能以你想要的方式做到这一点。 kubectl 只允许您基于 cronjob 创建作业,反之则不行。

 kubectl create job NAME [--image=image --from=cronjob/name] -- [COMMAND] [args...] [flags] [options]

kubectl create 现在可用的命令:

  clusterrole         Create a ClusterRole.
  clusterrolebinding  Create a ClusterRoleBinding for a particular ClusterRole
  configmap           Create a configmap from a local file, directory or literal value
  deployment          Create a deployment with the specified name.
  job                 Create a job with the specified name.
  namespace           Create a namespace with the specified name
  poddisruptionbudget Create a pod disruption budget with the specified name.
  priorityclass       Create a priorityclass with the specified name.
  quota               Create a quota with the specified name.
  role                Create a role with single rule.
  rolebinding         Create a RoleBinding for a particular Role or ClusterRole
  secret              Create a secret using specified subcommand
  service             Create a service using specified subcommand.
  serviceaccount      Create a service account with the specified name