• 安装 CMDB 及依赖
    • 安装 MongoDB
    • 安装 Zookeeper
    • 安装 cmdb
    • 安装 GSE

    安装 CMDB 及依赖

    cmdb是蓝鲸的配置平台,数据库采用mongodb,服务发现和配置管理使用zookeeper,快照数据使用redis存储,快照采集依赖gse。

    CMDB的架构可以参考github上的《蓝鲸智云配置平台的架构设计》

    CMDB依赖的组件和服务如下:

    CMDB依赖简图

    github上也有cmdb的安装说明,蓝鲸社区版集成时稍微做了些规范改造和安装自动化,需要了解为什么这样安装mongodb的,可以阅读《CMDB部署文档》

    安装 MongoDB

    安装cmdb的依赖中,mongodb是最重要的存储依赖,且目前只有cmdb独享,故先介绍mongodb的安装

    1. ./bkcec install mongodb
    2. ./bkcec initdata mongodb
    3. ./bkcec start mongodb

    详解:

    • mongodb 二进制在蓝鲸的 service/ 目录下已经自包含,所以安装时直接用 rsync 将 src/service/mongodb 目录同步到 bkce/service/下即可。

    • mongodb的配置文件模板只有一个 mongodb.yaml,里面具体配置的含义,请参考MongoDB官方的配置说明文档

    • 初始化mongodb

      • 首先以不开启鉴权的方式启动mongodb,并创建管理员sysadmin的角色,和globals.env里定义的$MONGODB_USER用户,并配置为sysadmin角色。
      • 创建 bk_cmdb 用户,创建 cmdb 数据库,并授予 bk_cmdb 用户读写它的权限。
      • 关闭 mongodb 进程
    • 调用 $INSTALL_PATH/service/mongodb/bin/mongodb.sh start 启动 mongodb

    安装 Zookeeper

    zookeeper作为cmdb的服务发现组件,开始安装。

    1. ./bkcec install zk
    2. ./bkcec start zk

    详解:

    • 拷贝java和zookeeper代码目录到 $INSTALL_PATH/service/下
    • 渲染配置文件模板,主要是zoo.cfg,并创建软连接到$INSTALL_PATH/etc/zoo.cfg
    • 启动 zk

    安装 cmdb

    需要特别注意的是 cmdb 先启动,再初始化数据

    1. ./bkcec install cmdb
    2. ./bkcec start cmdb
    3. ./bkcec initdata cmdb

    详解:

    • 安装 cmdb
      • 安装依赖,从 dependences.env 里读取到 cmdb 依赖 nginx。需要先 yum 安装 nginx
      • rsync将 src/cmdb 拷贝到 bkcec/下
      • 创建一个名为 cmdb 的虚拟环境,给supervisord使用
      • 渲染 cmdb 模板文件
      • 软连接 bkcec/etc/nginx.conf 到 /etc/nginx/nginx.conf 覆盖 nginx 默认的配置
      • 将globals.env里配置的 CMDB_FQDN 域名写入 /etc/hosts
    • 启动 cmdb
      • 需要等待 zk服务可用,通过 dig +short zk.service.consul 是否解析成功来判断。
      • 启动 nginx,如果nginx进程已经启动,则 reload
      • workon cmdb; supervisord -c $INSTALL_PATH/etc/supervisor-cmdb-server.conf 启动 cmdb 后台进程
      • 启动 cmdb 后,cmdb_adminserver 会将所有进程的配置文件写入 zk 节点内,其他进程启动时从 zk 读取配置
    • 初始化 cmdb
      • 初始化 cmdb 前需要保证所有 cmdb 后台进程的端口均可用。如果不可用说明启动cmdb虽然进程running,但是端口未监听,此时可以尝试重启 cmdb。
      • 调用 cmdb_adminserver 的http接口(/migrate/v3/migrate/community/0),来初始化cmdb

    安装 GSE

    CMDB的快照数据,依赖蓝鲸组件 gse 后台:

    1. ./bkcec install gse
    2. ./bkcec initdata gse
    3. ./bkcec start gse

    详解:

    • 安装 GSE
      • 拷贝gse后台,cert目录到$INSTALL_PATH/下
      • 根据globals.env里是否自动获取外网ip配置,来设定gse需要监听的ip地址
      • 渲染配置模板
      • 将agent,proxy,和证书打包,并传到nginx的miniweb下,供安装agent时使用。
    • 初始化 GSE 的zk默认配置
    • 启动 GSE 后台进程