基于Java HelloWorld的Docker镜像ACR推送及K8s部署相关技术咨询
验证Kubernetes部署状态的步骤
既然你已经完成了Java应用的Kubernetes部署,咱们可以通过以下几个关键步骤来确认它是否正常运行:
1. 检查Deployment的整体状态
首先查看Deployment的基本信息,确认它是否成功创建并完成了Pod的调度:
kubectl get deployments
你会看到类似这样的输出:
NAME READY UP-TO-DATE AVAILABLE AGE dockerproject 1/1 1 1 5m
重点关注这几个核心字段:
- READY: 格式为
运行中的Pod数/期望的Pod数,如果是1/1就说明目标Pod已经正常启动 - UP-TO-DATE: 表示已经更新到指定版本的Pod数量
- AVAILABLE: 表示当前可以对外提供服务的Pod数量
如果状态异常(比如READY是0/1),可以用下面的命令查看Deployment的详细事件和配置,快速定位问题:
kubectl describe deployment dockerproject
2. 检查Pod的运行状态
Deployment最终是通过Pod来运行应用的,所以需要确认Pod是否处于正常运行状态:
kubectl get pods
输出里的STATUS列如果显示Running,说明Pod已经成功启动。如果出现Pending(集群资源不足无法调度)、CrashLoopBackOff(应用反复崩溃重启)等异常状态,就需要进一步排查:
查看Pod的应用日志(最常用的排查方式)
把命令里的<pod-name>替换成你实际的Pod名称,查看应用的控制台输出:
kubectl logs <pod-name>
如果Pod已经重启过,可以加上--previous参数查看上一次启动的日志:
kubectl logs <pod-name> --previous
查看Pod的详细状态和生命周期事件
如果日志里没有明确的错误信息,可以用describe命令查看Pod从创建到启动的全流程事件:
kubectl describe pod <pod-name>
在输出的Events板块,你能看到镜像拉取是否成功、容器启动是否报错、资源分配是否正常等关键信息。
3. 验证应用的实际输出
因为你的应用是简单的Hello World程序,正常运行后应该会在控制台输出对应的内容。通过上面的kubectl logs命令,如果能看到Hello World的输出,就说明应用本身也在正常运行了。
内容的提问来源于stack exchange,提问作者marhg
相关产品推荐
相关产品推荐

