在Kubernetes中创建作业和Cronjob的命令式命令

这是创建作业的有效命令吗?

kubectl create job my-job --image=busybox

我在https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands中看到了这一点。但是该命令不起作用。我收到以下提示错误:

  

错误:未知标志:--image

创建作业的正确命令是什么?

shaojiaying 回答:在Kubernetes中创建作业和Cronjob的命令式命令

您已拥有的东西应该可以工作,尽管现在不建议将其作为一种方法。我会检查您拥有kubectl的哪个版本,如果不使用最新版本,则可能会对其进行升级。

也就是说,当今最普遍的方法是编写一个包含Job定义的YAML文件,然后运行kubectl apply -f myjob.yaml或类似文件。这种文件驱动的方法可以实现更自然的版本控制,编辑,查看等。

,

在“ kubectl run”上为--restart字段使用正确的值将导致运行命令创建部署或作业或cronjob

--restart='Always': The restart policy for this Pod.  Legal values [Always,OnFailure,Never].  If set to 'Always'
a deployment is created,if set to 'OnFailure' a job is created,if set to 'Never',a regular pod is created. For the
latter two --replicas must be 1.  Default 'Always',for CronJobs `Never`.

使用“ kubectl run”通过如下命令命令创建基本的kubernetes作业

master $ kubectl run nginx --image=nginx --restart=OnFailure --dry-run -o yaml > output.yaml

以上将产生一个“ output.yaml”,如下例所示,您可以根据需要编辑此yaml以进行高级配置,并通过“ kubectl create -f output.yaml”创建作业,或者如果您只需要基本作业,则删除--dry上面命令的-run选项,您将创建基本作业。

apiVersion: batch/v1
kind: Job
metadata:
  creationTimestamp: null
  labels:
    run: nginx
  name: nginx
spec:
  template:
    metadata:
      creationTimestamp: null
      labels:
        run: nginx
    spec:
      containers:
      - image: nginx
        name: nginx
        resources: {}
      restartPolicy: OnFailure
status: {}
,

尝试这个

kubectl create cronjob my-job  --schedule="0,15,30,45 * * * *" --image=busy-box
本文链接:https://www.f2er.com/3069068.html

大家都在问