要检查Debian上Kubernetes(K8s)部署状态,您可以使用以下命令和步骤:
首先,运行以下命令来查看当前命名空间中的所有Pod状态:
kubectl get pods -n <namespace>
这里 <namespace>
是您要检查的Kubernetes命名空间。如果Pod的状态显示为 Running
或 Completed
,则表示它们正在正常运行。如果状态为 Pending
或 CrashLoopBackOff
,则需要进一步调查。
使用以下命令查看特定Pod的详细信息,包括事件和条件,这有助于理解为什么Pod卡在 Pending
或 Failed
状态:
kubectl describe pod <pod-name> -n <namespace>
Pod的日志是排查问题的关键。使用以下命令查看Pod的日志:
kubectl logs <pod-name> -n <namespace>
如果您想查看Pod上次运行的日志,可以使用 --previous
选项:
kubectl logs <pod-name> -n <namespace> --previous
要检查部署的状态,运行:
kubectl get deployments -n <namespace>
关注 READY
列,它应该与期望的副本数匹配。如果 UP-TO-DATE
和 AVAILABLE
不应为零,并且看起来有问题,可以使用以下命令描述部署的详细信息:
kubectl describe deployment <deployment-name> -n <namespace>
确保服务存在并正确暴露:
kubectl get svc -n <namespace>
检查服务的选择器是否匹配Pod的标签,并确保服务类型正确(如ClusterIP、NodePort、LoadBalancer)。
如果服务通过Ingress访问,还需要检查Ingress资源的状态和配置:
kubectl get ingress -n <namespace>
确保Ingress控制器正在运行,并且Ingress资源的配置正确。
以上步骤可以帮助您系统地检查Debian上Kubernetes部署的状态,并快速定位和解决问题。如果需要更详细的帮助,可以参考Kubernetes官方文档或使用专门的故障排除工具,如Lens。