这是创建作业的有效命令吗?
kubectl create job my-job --image=busybox
我在https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands中看到了这一点。但是该命令不起作用。我收到以下提示错误:
错误:未知标志:--image
创建作业的正确命令是什么?
答案 0 :(得分:1)
您已拥有的东西应该可以工作,尽管现在不建议将其作为一种方法。我会检查您拥有kubectl
的哪个版本,如果不使用最新版本,则可能会对其进行升级。
也就是说,当今最普遍的方法是编写一个包含Job定义的YAML文件,然后运行kubectl apply -f myjob.yaml
或类似文件。这种文件驱动的方法可以实现更自然的版本控制,编辑,查看等。
答案 1 :(得分:0)
在“ 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: {}
答案 2 :(得分:0)
尝试这个
kubectl create cronjob my-job --schedule="0,15,30,45 * * * *" --image=busy-box