如果 k8s 的 service 自动重启,可以通过以下步骤查看原因:
- 查看 Pod 是否有 OOMKilled 错误
kubectl get pods
kubectl describe pod
如果发现 Pod 被 OOMKilled,则说明该 Pod 内存不足,需要增加内存。
- 查看 Pod 是否有 CrashLoopBackOff 错误
kubectl get pods
kubectl describe pod
如果发现 Pod 出现了 CrashLoopBackOff 错误,则说明该 Pod 反复重启了多次,可以通过查看日志来查找具体原因。
- 查看 Service 是否有 Endpoint 不可用的情况
kubectl get endpoints
kubectl describe endpoints
如果发现 Service 的 Endpoint 不可用,则可能是后端 Pod 无法响应请求,可以通过检查 Pod 日志来查找具体原因。
- 查看 Kubelet 是否出现异常
kubectl describe node
如果发现 Kubelet 出现异常,则可能是节点资源不足或者其他问题导致 Kubelet 无法正常工作。可以通过检查节点日志来查找具体原因。
综上所述,可以通过以上方法来查找 k8s 的 service 自动重启的原因,然后根据具体情况来进行修复。