模拟题目:

设置配置环境:

[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

file