模拟题目:

设置配置环境:

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

Task

由于Liveness Probe 发生了问题 您无法访问一个应用程序。该应用程序可能在任何 namespace 中运行

  1. 找出对应的 Pod 并将其名称和 namespace 写入文件 /ckad/CKAD00011/broken.txt 使用以下格式
    /

    文件 /ckad/CKAD00011/broken.txt 已存在

  2. kubectl get events 来获取相关错误事件井将其写入文件 /ckad/CKAD00011/error.txt 请使用输出格式 wide 文件 /ckad/CKAD00011/error.txt 已存在 。
  3. 修复故障的 Pod 的 Liveness Probe 问题。

参考:

https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

解答:

切换环境

kubectl config use-context k8s

检查集群下 所有命名空间中的pod, 找出liveness probe问题的pod

kubectl get pods -A

对所有namespace下的pod逐一检查,考试时,切换集群后,只会有5个pod需要你检查,不会像模拟环境里这么多

kubectl describe pod probe-demo -n probe-ns | tail

file

写日志到文件

echo probe-ns/probe-demo > /ckad/CKAD00011/broken.txt
kubectl -n probe-ns get events -o wide | grep probe-demo > /ckad/CKAD00011/error.txt

修复

kubectl -n probe-ns get pod probe-demo -o yaml > probe.yaml
cp probe.yaml probe.yaml-bak
kubectl delete -f probe.yaml
vim probe.yaml

修改port 为命令中对应的端口8443 file

kubectl apply -f probe.yaml

检查

kubectl -n probe-ns describe pod probe-demo | tail

file