CKAD备考:Kubernetes创建Job命令中COMMAND与args使用示例咨询
Kubernetes
kubectl create job 命令中[COMMAND]和[args...]的使用示例 在kubectl create job命令里,--是kubectl自身参数和容器启动命令/参数的分隔符,其后的内容会直接传递给容器,覆盖镜像默认的CMD/ENTRYPOINT配置。以下是不同场景下的具体示例:
1. 执行无参数的简单命令
用busybox镜像创建Job,执行echo命令输出备考标记:
kubectl create job echo-demo --image=busybox -- echo "CKAD Practice"
容器启动后执行该echo命令,完成后Job进入完成状态。
2. 带多个参数的命令
用ubuntu镜像创建Job,执行ls命令查看临时目录的详细列表:
kubectl create job ls-tmp --image=ubuntu -- ls -l /tmp
这里ls是COMMAND,-l、/tmp是args部分。
3. 执行带复杂参数的脚本命令
用python镜像创建Job,运行一段简单的计算代码:
kubectl create job python-calc --image=python -- python -c "print(2024 * 2)"
python是COMMAND,-c、"print(2024 * 2)"是args,容器会执行这段Python代码并输出结果。
4. 结合环境变量的命令
创建Job时传入环境变量,同时执行读取变量的shell命令:
kubectl create job env-demo --image=alpine --env="MESSAGE=Hello CKAD" -- sh -c 'echo $MESSAGE'
sh是COMMAND,-c、'echo $MESSAGE'是args,容器会读取环境变量并输出内容。
5. 从CronJob继承并覆盖命令
基于已有的daily-backup CronJob创建临时Job,强制执行备份脚本:
kubectl create job adhoc-backup --from=cronjob/daily-backup -- backup.sh --force
该Job会继承CronJob的大部分配置,但用指定的命令替换原容器启动命令。
内容的提问来源于stack exchange,提问作者payal
相关产品推荐
相关产品推荐

