CKA备考:如何配置运行true命令的LivenessProbe
要求含义说明
这个配置要求是让你给Nginx Pod配置exec类型的存活探针(LivenessProbe),探针触发时直接运行Linux内置的true命令。
- Linux下的
true命令没有任何实际业务逻辑,执行后立刻返回退出码0,而K8s对exec类探针的判定规则是:命令退出码为0代表探测成功,非0代表探测失败 - 这个配置的实际效果是探针永远返回健康结果,不会因为探针检测失败触发容器重启
- 注意不要踩坑:题目明确要求是「runs
true」,也就是通过执行命令完成探测,不要错配成httpGet、tcpSocket类型的探针,否则不符合题目要求
具体配置方法
你只需要在Pod定义的对应容器配置段下,添加livenessProbe字段,指定exec类型的探测命令为true即可,完整可直接使用的Pod配置示例如下:
apiVersion: v1 kind: Pod metadata: name: nginx-liveness-demo spec: containers: - name: nginx image: nginx:stable ports: - containerPort: 80 # 符合题目要求的存活探针配置 livenessProbe: exec: command: - "true" # 以下参数为可选配置,题目无特殊要求时使用默认值也可得分 initialDelaySeconds: 3 periodSeconds: 10
配置完成后可以通过两个方式校验结果:
- 执行
kubectl apply -f 你的yaml文件名创建Pod,等Pod启动后执行kubectl get pod nginx-liveness-demo,确认Pod处于Running状态且没有异常重启次数 - 执行
kubectl describe pod nginx-liveness-demo,在容器信息段找到Liveness配置项,确认显示为exec [true]即配置正确
内容的提问来源于stack exchange,提问作者wti
相关产品推荐
相关产品推荐

