本文主要介绍如何部署腾讯的蓝鲸CMDB
蓝鲸CMDB官网:https://github.com/Tencent/bk-cmdb
蓝鲸CMDB部署官网:https://github.com/Tencent/bk-cmdb/blob/master/docs/wiki/container-support.md
蓝鲸CMDB镜像地址官网:https://console.cloud.tencent.com/tke2/registry/qcloud/default/detail/tag?rid=1&reponame=bk.io%252Fcmdb-standalone
建议你有自己的nexus,解决各种网络加速问题,参考:Docker部署Nexus和nexus配置的一些实践
1.安装和部署
1.1 概述
1 2 3
| docker pull ccr.ccs.tencentyun.com/bk.io/cmdb-standalone:v3.9.28 docker volume create vo-cmdb docker run --name qa-cmdb3 -p 18083:8090 -e TZ=Asia/Shanghai -v /etc/localtime:/etc/localtime:ro --restart=always --privileged=true -dit ccr.ccs.tencentyun.com/bk.io/cmdb-standalone:v3.9.28
|
1.2 准备mongo
1 2 3 4 5 6 7 8
| 登录mongo并创建库和账号 db.auth("mongo_admin","你的管理员密码");
use tk_cmdb db.createUser({ user: 'tk_cmdb', pwd: '创建一个密码', roles: [{ role: "readWrite", db: "tk_cmdb" },{ role: 'readWrite', db: 'monstache' }] }); db.grantRolesToUser('tk_cmdb', [{ role: 'readWrite', db: 'tk_cmdb' }]); use monstache db.grantRolesToUser('tk_cmdb', [{ role: 'readWrite', db: 'monstache' }]);
|
1.3 修改镜像的配置
这里的主要问题是:蓝鲸的镜像是all in one,也就是自己内部继承了mongodb、redis、zookeeper,我们需要对数据进行持久化以及使用我们自己的库。
蓝鲸的容器参数化做的不够好,我们先启动蓝鲸的容器,然后修改容器配置,基于容器再打一个内部专用的镜像即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| docker cp qa-cmdb:/data/run.sh:./
docker cp qa-cmdb:/data/cmdb/cmdb_adminserver:./
docker cp qa-cmdb:/data/sidecar/initialize.sh:./
docker cp run.sh qa-cmdb3:/data/
docker cp initialize.sh qa-cmdb3:/data/sidecar/
chmod 755 ./cmdb_adminserver/init_db.sh docker cp ./cmdb_adminserver/init_db.sh qa-cmdb3:/data/cmdb/cmdb_adminserver/
docker login --username=你的docker账号 --password="你的docker密码" registry-vpc.cn-qingdao.aliyuncs.com docker commit -m "修改蓝鲸CMDB" qa-cmdb registry-vpc.cn-qingdao.aliyuncs.com/xxxxx-images/tk-cmdb:1.10
docker run --name qa-cmdb3 -p 18083:8090 -e TZ=Asia/Shanghai -v /etc/localtime:/etc/localtime:ro --restart=always --privileged=true -dit registry-vpc.cn-qingdao.aliyuncs.com/xxxxx-images/tk-cmdb:1.16
|