安装 CMDB 及依赖

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

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

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

CMDB依赖简图

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

安装 MongoDB

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

./bkcec install mongodb
./bkcec initdata mongodb
./bkcec start mongodb

详解:

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

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

  3. 初始化mongodb

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

安装 Zookeeper

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

./bkcec install zk
./bkcec start zk

详解:

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

安装 cmdb

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

./bkcec install cmdb
./bkcec start cmdb
./bkcec initdata cmdb

详解:

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

安装 GSE

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

./bkcec install gse
./bkcec initdata gse
./bkcec start gse

详解:

  1. 安装 GSE
    1. 拷贝gse后台,cert目录到$INSTALL_PATH/下
    2. 根据globals.env里是否自动获取外网ip配置,来设定gse需要监听的ip地址
    3. 渲染配置模板
    4. 将agent,proxy,和证书打包,并传到nginx的miniweb下,供安装agent时使用。
  2. 初始化 GSE 的zk默认配置
  3. 启动 GSE 后台进程
Copyright © 腾讯蓝鲸 2012-2018 all right reserved,powered by Gitbook最后修订日期: 2019-06-17

results matching ""

    No results matching ""