蓝鲸PaaS应用终端指南:如何直接进入运行中的应用容器排查问题
【免费下载链接】blueking-paas蓝鲸智云 PaaS 平台是一个开放式的开发平台,让开发者可以方便快捷地创建、开发、部署和管理 SaaS 应用。它提供了完善的前后台开发框架、服务总线(ESB)、API Gateway、调度引擎、公共组件 等服务。旨在帮助用户快速、低成本的构建免运维运营系统与支撑工具。项目地址: https://gitcode.com/GitHub_Trending/bl/blueking-paas
在蓝鲸PaaS平台上创建的应用,最终都以 Kubernetes 容器(Pod)的形式运行。当应用出现异常、日志缺失或行为不符合预期时,直接进入应用容器终端是最快的排查方式。本指南面向新手,介绍蓝鲸PaaS应用容器的运行原理,并给出进入容器终端、排查问题的完整操作步骤。
蓝鲸PaaS应用运行原理:从 bkapp 到容器 Pod
理解"应用在哪里运行",是进入容器终端的前提。整个链路非常清晰:
- 你在蓝鲸PaaS界面上创建应用,平台后端
apiserver会把它转换为自定义资源bkapp; - Operator 控制器监听 bkapp 变化,将其翻译成标准 Kubernetes 资源(Deployment、Service 等);
- Kubernetes 集群拉起 Pod,你的应用容器就运行在这些 Pod 里。
相关源码可以对照阅读:
- bkapp 类型定义:bkapp_types.go
- 控制器入口:bkapp_controller.go
- 平台侧进程(Pod)管理模块:apiserver/paasng/paas_wl/bk_app/processes/
进入应用容器终端的 3 种方法
方法一:kubectl exec 直连 Pod(最通用)
如果你能访问应用所在的 Kubernetes 集群,一条命令即可进入运行中的应用容器终端:
# 找到应用对应的 Pod(bkapp 命名与你的应用名相关) kubectl get pods -n <你的命名空间> | grep <应用关键字> # 进入容器终端 kubectl exec -it <pod名称> -- /bin/bash💡 如果容器里没有 bash,可以换成
/bin/sh。多容器 Pod 需要用-c <容器名>指定目标容器。
方法二:通过蓝鲸PaaS界面定位实例,再进入终端
新手建议先在平台界面上确认应用状态:查看进程列表、重启记录等信息,锁定出问题的具体实例(Pod 名称),再用方法一进入。平台侧的状态获取逻辑可参考:
- 进程状态常量与模型:apiserver/paasng/paas_wl/bk_app/processes/constants.py、apiserver/paasng/paas_wl/bk_app/processes/entities.py
- Pod 健康状态检查:apiserver/paasng/paas_wl/utils/kubestatus.py
方法三:利用开发沙箱调试(适合频繁排查)
如果只是反复调试,可以不必每次改代码都重新部署。蓝鲸PaaS 提供了开发沙箱(dev sandbox)能力,在接近生产的环境中运行应用进程,调试效率更高。相关模块:
- 开发沙箱核心逻辑:apiserver/paasng/paas_wl/bk_app/dev_sandbox/
- 部署命令执行器(可用于在集群中执行一次性命令):apiserver/paasng/paas_wl/bk_app/deploy/actions/exec.py
容器终端里的常用排查命令速查表
进入应用容器终端后,这几类命令能解决 90% 的常见问题:
| 排查目标 | 命令示例 | 说明 |
|---|---|---|
| 进程是否存活 | ps -ef | 确认应用进程是否在运行 |
| 环境变量 | env \| grep -i <关键词> | 检查配置项是否正确注入 |
| 配置内容 | cat /etc/<配置文件> | 核对容器内实际配置 |
| 磁盘空间 | df -h | 排查日志写满磁盘 |
| 网络连通性 | curl -v <内部服务地址> | 排查服务间调用失败 |
| 应用日志 | 查看容器日志目录(如/data/app_logs) | 补充平台日志看不到的细节 |
容器终端排查注意事项
- ⚠️只看不改:生产容器内的文件属于临时文件系统,重启后可能丢失,不要依赖它保存数据;
- ⚠️操作要克制:容器终端里
kill进程、删文件都可能影响线上服务,动手前先在测试环境验证; - 📌先定位后进入:先用平台界面的进程状态和重启记录判断问题范围,再进入具体 Pod,避免盲目排查;
- 📌Pod 名称会变:重新部署后 Pod 会被重建、名称变化,排查时以最新的 Pod 名称为准。
相关模块路径汇总
| 模块 | 路径 |
|---|---|
| Operator 控制器(bkapp → K8s 资源) | operator/controllers/ |
| bkapp CRD 定义 | operator/api/v1alpha2/ |
| 应用进程(Pod)管理 | apiserver/paasng/paas_wl/bk_app/processes/ |
| 部署命令执行 | apiserver/paasng/paas_wl/bk_app/deploy/ |
| 开发沙箱 | apiserver/paasng/paas_wl/bk_app/dev_sandbox/ |
| 前端界面(进程/终端相关展示) | webfe/package_vue/src/views/ |
掌握"平台定位实例 + kubectl exec 进入容器终端 + 速查命令"这套组合拳,你就能在蓝鲸PaaS平台上快速定位并解决绝大多数运行期问题。
【免费下载链接】blueking-paas蓝鲸智云 PaaS 平台是一个开放式的开发平台,让开发者可以方便快捷地创建、开发、部署和管理 SaaS 应用。它提供了完善的前后台开发框架、服务总线(ESB)、API Gateway、调度引擎、公共组件 等服务。旨在帮助用户快速、低成本的构建免运维运营系统与支撑工具。项目地址: https://gitcode.com/GitHub_Trending/bl/blueking-paas
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考