
简介腾讯蓝鲸智云全体系文档是一份系统梳理蓝鲸智云平台的权威资料该平台由腾讯旗下互动娱乐事业群自研属于平台即服务开发框架核心目标是帮助企业构建覆盖研发、运维、运营全流程的一体化体系。文档重点解读了非侵入式集成、原子平台架构、开放生态与企业赋能等核心优势并围绕持续集成、持续部署、持续运营三条主线介绍了自动化运维、跨云管控、运维大数据分析及社区版与企业版的差异。资源为单个PDF文档便于离线查阅大小1.14MB已有528人学习下载适合运维工程师、研发人员及技术管理者阅读通过这份文档读者可快速建立对蓝鲸智云整体架构与落地路径的清晰认知为后续部署、二次开发或企业DevOps规划提供参考。1. 蓝鲸智云全体系文档在讲什么第一次打开“蓝鲸智云全体系文档”的工程师通常会被目录结构吓一跳从底层管控、配置平台、作业平台到PaaS、标准运维和数据链路10多个模块各自成册每一册又分部署、API、开发指南和运维手册。这种体量对应的是蓝鲸智云的真实复杂度——它并不只是一个CMDB或一套脚本执行工具而是一条覆盖“资源建模-任务下发-流程编排-应用托管”的完整技术链。这份文档要回答的核心问题是一个企业级运维PaaS平台应该怎么搭、怎么用、怎么扩展。本文面向正在选型或已经落地蓝鲸智云的运维和开发工程师把全体系文档里的架构主线、部署要点、二次开发路径和运维技巧按可执行的顺序梳理成文。2. 从全体系文档看蓝鲸智云的架构分层和依赖关系2.1 为什么蓝鲸智云要把管控层单独做成一个组件蓝鲸智云与其他运维工具最大的区别是它把“主机连接”这件事抽象成了独立管控组件GSE。GSE负责Agent的安装、心跳、文件传输和任务下发。全体系文档之所以用大量篇幅描述GSE是因为一旦Agent通道出问题上层所有依赖主机的功能会全部失效。这种解耦带来的好处是安全和管理边界更清晰。作业平台执行任务时不是通过SSH直连目标服务器而是经由GSE将脚本下发到Agent。运维团队可以只维护GSE到Agent的通道不需要为目标机器额外暴露SSH端口。在做二次开发时只要Agent在线任何一台目标主机的脚本执行都走同一套API不用关心目标机器操作系统差异。在常见部署方式下管控层的健康检查指标主要有三个Agent心跳在线率、文件分发成功率、任务下发响应延迟。心跳在线率长期低于99%就要怀疑网络策略或Agent版本不一致。这里给一个经验值Agent升级尽量按批次灰度一次全量升级失败时的回滚成本远高于分批操作。提议一个快速查看Agent状态的命令# 查看GSE管控Agent心跳状态判断连接是否正常 ./bkcli gse status这个命令返回的既是GSE进程状态也包含Agent心跳汇总。bkcli是蓝鲸中控的统一管理命令后面接模块名和动作。GSE模块的常见动作包括status、start、stop和restart。如果输出显示进程正常但心跳汇总偏低问题通常出在网络策略或Agent版本兼容性上而不是进程本身。2.2 平台层的CMDB、作业平台与PaaS三者之间的关系平台层的三个核心组件在全体系文档中是并列编排的但它们之间的调用关系并不是。CMDB负责建模业务、集群、模块、主机、云区域、动态分组作业平台负责执行脚本、文件、定时任务PaaS平台负责承载上层应用。往上层回看标准运维SOPS调用作业平台和CMDB的API监控告警平台又依赖数据平台提供的数据。组件核心职责依赖组件常用接口示例CMDB资源配置与拓扑管理MongoDB、Redislist_hosts_without_biz作业平台批量脚本与文件分发GSE、MySQLfast_execute_scriptPaaS平台应用托管与API网关MySQL、Consul/api/c/compapi/SOPS可视化流程编排CMDB、Job、PaaScreate_task这张表是整理全体系文档时最值得保留的速查表。做集成或二次开发时先确定目标组件在表里的位置就能知道该去哪个章节找接口信息。比如要做一个“从CMDB拉取一批IP再批量执行脚本”的功能前一步找CMDB的查询接口后一步找作业平台的快速执行接口中间的过渡逻辑放在自己应用里。需要特别提示的是蓝鲸智云的CMDB接口默认按“业务”进行数据隔离。不同业务之间的主机数据互不可见这是优势也是坑。开发者在调试接口时发现数据查不到先检查bk_biz_id是否传对再检查应用是否有权限不要一开始就去翻后端日志。2.3 全体系文档的阅读顺序建议蓝鲸团队在全体系文档中预设的章节顺序基本就是实施蓝鲸的标准顺序。不过建议首次接触蓝鲸智云的团队用一个更实用的顺序先读“总体架构”再读“快速部署”动手装一套最小环境然后回来看各组件的详细说明。原因在于许多术语如Appo、LessCode、Nodeman在纯理论阅读时没有真实参照物装一遍就容易对上号。文档中提供了一整套示例代码覆盖常见的CMDB和作业平台场景。这些东西不适合攒到最后统一看装完环境后立即跑一遍对整个依赖链的理解会更立体。至少跑一遍“快速执行脚本”的接口调用这是连接GSE、作业平台和CMDB三者最直接的链路。跑通后蓝鲸智云全体系文档的核心主干就算真正理解到位了。3. 蓝鲸智云部署实操从install.config到集群健康检查3.1 选部署模式前先看资源边界蓝鲸智云全体系文档提供两档部署模式单机All-in-One和标准集群。单机模式要求不高一台8核16GB的云主机即可跑通体验环境适合初次验证功能。生产环境至少准备3台以上节点并按数据面与管控面分离的原则分配角色。资源规划上有一个容易被忽略的点蓝鲸的存储组件不止MySQL还依赖Kafka、Redis、MongoDB、ZooKeeper、Consul等中间件。单机All-in-One模式下这些中间件进程同时占用内存16GB只够基础运行。内存不足的表现通常是Redis或MongoDB进程被OOM Kill用磁盘扩容解决不了只能调整组件内存上限或上集群。install.config是多机部署时的核心配置文件格式为“IP 模块列表”。模块命名与全体系文档目录中的组件名一致节点角色常见模块组合资源侧重基础节点iam,ssm,usermgr,gse,nodeman,consul,mongodb,redis内存和磁盘平台节点appo,paas,cmdb,job,lesscodeCPU和内存数据节点kafka,log磁盘IO和带宽同一行的模块共享同一条网络路径流量瓶颈通常发生在跨行模块的调用上。如果业务压力大建议把Kafka单独放到一台机器避免日志流量挤占其他服务的带宽。3.2 蓝鲸智云安装指令的关键步骤与参数以官方部署包为例安装过程主要由install目录下的脚本驱动cd /data/bkce/install # 第一步环境预检检查内核参数、端口冲突、磁盘空间 ./bk_install check_env # 第二步加载离线镜像和基础软件源离线安装场景必用 ./bk_install load_images # 第三步执行完整安装 ./bk_install allcheck_env的作用比表面看起来重要它会检查SSH互信、主机名解析、时区和时钟同步。蓝鲸智云组件之间大量依赖RPC与消息推送时钟漂移会直接导致任务调度异常。安装前确保所有节点上的chronyd正常运行否则后续排查时间会很长。安装参数中时区或域名可以通过脚本变量传入。建议避免在安装后修改主机名或域名因为改了域名需要同步的配置散布在各组件遗漏一处就会产生奇怪的调度问题。3.3 安装完成后的三层验证登录蓝鲸门户页成功只代表PaaS层正常运行。完整的验证步骤应覆盖三个层面# 1进程层检查各模块运行状态 cd /data/bkce ./bkcli status # 2端口层确认关键端口监听情况 ss -ltn | grep -E :(8080|8081|8083|8090) # 3服务层检查CMDB健康接口 curl -s -o /dev/null -w %{http_code}\n http://127.0.0.1:8083/healthz./bkcli status会输出所有模块的进程状态关注其中有没有ERROR或DOWN字样。关键端口对应各个服务入口8080是PaaS门户8081是作业平台8083是CMDB接口。CMDB健康接口返回非200时优先查MongoDB连接日志里通常会记录具体的报错信息。看到日志中出现“connection refused”字样定位方向就会更明确。4. 蓝鲸智云二次开发从应用框架到CMDB接口调用4.1 用PaaS框架跑通蓝鲸应用的本地调试蓝鲸智云的PaaS层提供蓝鲸开发框架底层是Python与Django内置权限中心接入和用户登录态封装。这套框架的价值在于省去了自行对接蓝鲸认证和权限体系的重复工作。创建应用的过程如下# 创建虚拟环境避免污染系统Python python -m venv bkvenv source bkvenv/bin/activate # 安装蓝鲸官方开发包 pip install blueapps # 基于模板生成工程 django-admin startproject --templateblueapps-template myapp cd myapp # 安装工程依赖 pip install -r requirements.txt # 本地启动开发服务器 python manage.py runserver 0.0.0.0:8000本地以runserver启动后页面登录态没有真正接入蓝鲸的SSO框架会用模拟登录的方式兜底。要验证真实的蓝鲸登录态必须把应用发布到PaaS平台后再通过平台的访问入口登录。应用在PaaS平台发布后会得到一个访问域名格式通常是myapp.bk.example.com该域名指向PaaS的应用托管容器。应用代码与PaaS平台之间的凭证通过环境变量或配置文件注入。bk_app_code对应应用IDbk_app_secret对应应用密钥。这两个值在PaaS管理台的应用信息页可以找到不要在代码里硬编码进Git仓库。4.2 用Python调用CMDB接口查询主机列表蓝鲸智云对外的统一接口入口是ESB路径前缀固定为/api/c/compapi/v2/。下面是通过CMDB接口查询主机列表的Python示例import requests # 应用凭证与用户身份 payload { bk_app_code: myapp, # PaaS平台分配的应用ID bk_app_secret: your-app-secret, # PaaS平台分配的密钥 bk_username: admin, # 用户在蓝鲸体系内的用户名 bk_biz_id: 2, # 业务ID数据隔离的维度 bk_obj_id: host, # 查询对象主机 fields: [bk_host_id, bk_host_innerip, bk_os_name], condition: [] # 过滤条件空数组表示全量 } resp requests.post( http://paas.example.com/api/c/compapi/v2/cc/list_hosts_without_biz/, jsonpayload, timeout10 ) data resp.json() if data.get(result): for host in data[data][info]: print(host[bk_host_innerip]) else: print(错误码, data.get(code), 信息, data.get(message))这段请求里bk_app_code和bk_app_secret代表应用身份bk_username代表用户身份。蓝鲸的权限中心按用户维度计算权限应用凭证只负责认证通道。如果用户对查询操作没有权限接口返回的是权限错误而不是数据为空。排查时先看返回的code字段蓝鲸智云全体系文档对每个组件都有独立的错误码表。fields字段的取值个数直接影响返回数据量和响应速度。生产环境里只请求需要的字段不要用全量字段尤其是在集群规模上千台主机时全量字段拉取会带来明显的网络和内存开销。4.3 标准运维的编排节点与执行链SOPS的编排在界面上看起来是拖流程但节点参数必须和后续API的字段对齐。最常见的坑是“目标IP”和“模块ID”同时使用时不知道优先级。实操中建议在一个流程里只用一种主机选择方式要么按动态分组要么固定IP列表。两种混用会导致流程在跨业务时拿错主机范围。节点类型目标参数执行结果作业平台节点IP列表或动态分组ID返回脚本执行日志CMDB节点模块ID或主机属性返回变更结果人工节点审批人列表等待审批SOPS节点真正执行时走的是编排层调用作业平台API的链路。流程任务卡住时先查看作业平台的执行记录再回来看SOPS的节点日志。这个排查顺序能节省大量时间。作业平台的执行记录保留周期可以配置默认保留时长足够覆盖大多数问题回溯场景无需自行修改。5. 蓝鲸智云巡检中的一个高频排查技巧5.1 把进程、端口与接口状态合并成一条巡检命令蓝鲸智云集群常态下比较稳定偶发问题集中在依赖组件失联上。把进程、端口、接口三层检查合并成一段脚本可以让日常巡检更高效# 左侧为三层检查的合并输出 echo 进程状态 /data/bkce/bkcli status | grep -E ERROR|DOWN || echo OK echo 端口状态 ss -ltn | awk {print $4} | grep -E :(8080|8081|8083|8090)$ echo CMDB健康 curl -s -o /dev/null -w %{http_code}\n http://127.0.0.1:8083/healthz这段巡检覆盖日常维护中最核心的检查项。进程异常通常表现为某个服务挂了端口异常多是服务没起来或端口被占用接口异常则要往各个依赖方向查。把这串命令保存成脚本纳入定时任务每天跑一次可以在用户反馈前发现大部分故障。5.2 从“接口超时”快速定位Redis连接瓶颈蓝鲸的ESB层把Redis用作限流与任务队列。当ESB接口频繁超时先查看Redis连接数redis-cli -h 127.0.0.1 -p 6379 info clients | grep connected_clients redis-cli -h 127.0.0.1 -p 6379 info stats | grep rejected如果连接数接近maxclients并且rejected_connections在增长说明ESB调用的并发已经压到瓶颈。调整Redis的maxclients不一定能解决核心手段是增加ESB的worker进程数。worker数量写在蓝鲸的配置文件中修改后需要重启ESB服务生效这类调优参数在蓝鲸智云全体系文档的“性能优化”部分有完整说明。本文还有配套的精品资源点击获取