实验一:使用命令kube_pod_status_phase查看pod对应状态
1.当pod中容器状态为ErrImagePull 时使用命令kube_pod_status_phase{pod=''}==1 查看pod状态为Running
2.当pod中容器状态为ImagePullBackOff 时使用命令kube_pod_status_phase{pod=''}==1 查看pod状态pending
实验二 使用命令 kube_pod_container_status_running直接查看容器状态 0 代表异常、1代表正常:
1.当容器状态为CrashLoopBackOff时可查看到容器是异常的
2.当容器状态为Completed查看到容器是异常的
由上述实验可得
kube_pod_status_phase命令查看到pod状态,当pod中容器出现异常时容器检查到pod的状态仍然为Running(存在风险)
kube_pod_container_status_running 命令查看容器状态,除了running状态,其他状态均视为异常(存在重复告警,解决方案为过滤掉正常容器的状态比如Completed的pod)