多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

蓝鲸PaaS应用终端指南:如何直接进入运行中的应用容器排查问题

蓝鲸PaaS应用终端指南:如何直接进入运行中的应用容器排查问题 蓝鲸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会把它转换为自定义资源bkappOperator 控制器监听 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 集群一条命令即可进入运行中的应用容器终端# 找到应用对应的 Podbkapp 命名与你的应用名相关 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.pyPod 健康状态检查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),仅供参考
返回列表