用于在Kubernetes中创建作业和cronjob的命令
这是创建作业的有效命令吗用于在Kubernetes中创建作业和cronjob的命令,kubernetes,cron,jobs,kubectl,Kubernetes,Cron,Jobs,Kubectl,这是创建作业的有效命令吗 kubectl create job my-job --image=busybox 我从中看到了这一点。但命令不起作用。我得到的错误如下: 错误:未知标志:-图像 创建作业的正确命令是什么?您所拥有的命令应该可以工作,尽管不再建议将其作为一种方法。我会检查您的kubectl版本,如果您没有使用最新版本,可能会升级它 这就是说,现在更常见的方法是编写一个包含作业定义的YAML文件,然后运行kubectl apply-f myjob.YAML或类似程序。这种文件驱动的方法
kubectl create job my-job --image=busybox
我从中看到了这一点。但命令不起作用。我得到的错误如下:
错误:未知标志:-图像
创建作业的正确命令是什么?您所拥有的命令应该可以工作,尽管不再建议将其作为一种方法。我会检查您的
kubectl
版本,如果您没有使用最新版本,可能会升级它
这就是说,现在更常见的方法是编写一个包含作业定义的YAML文件,然后运行kubectl apply-f myjob.YAML
或类似程序。这种文件驱动的方法允许更自然的版本控制、编辑、审查等。在“kubectl run”上使用正确的--restart字段值将生成run命令来创建部署、作业或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
您不使用更标准的kubernetes apply有什么原因吗?不再推荐使用较旧的样式。我没有尝试过它。我在kubernetes.io中发现此命令,但它不起作用。因此检查..由于这不是kubernetes内部处理事情的推荐方法,我需要问您尝试此命令的版本是哪一个n?您好,此信息对
v1.19.0
有效吗?