模拟题目

设置配置环境:

[candidate@node-1] $ kubectl config use-context k8s

Task

  1. 用执行命令 date; echo Hello from the Kubernetes cluster 的镜像 busybox ,创建一个名为 busybox-job 的 Job 。
  2. 修改此 Job ,确保在执行时间超过 3000 秒后,kubernetes 会自动终止该 Job。
  3. 如果容器失败,则尝试重启容器,但最多尝试重启 5 次。
  4. 检查此Job的日志

参考

https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/job/#job-termination-and-cleanup

kubectl explain job.spec

解答

切换环境

kubectl config use-context k8s

创建job模板

kubectl create job  busybox-job --image busybox --dry-run=client -oyaml > 28.yaml

编辑

apiVersion: batch/v1
kind: Job
metadata:
creationTimestamp: null
name: busybox-job
spec:
backoffLimit: 5 #失败次数限制
activeDeadlineSeconds: 3000 #存活时间s
template:
metadata:
creationTimestamp: null
spec:
containers:
- image: busybox #镜像
name: busybox-job
command: # 命令模板
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster #执行的命令
restartPolicy: OnFailure #题目要求的重启策略

应用

kubectl apply -f 28.yaml

检查

kubectl get jobs busybox-job
kubectl get pod
kubectl logs busybox-job-rljjz

Jobs-0