概述
在开发调试蓝鲸CMDB时,往往可能只需要部署一个CMDB服务即可,而不需要使用到整个蓝鲸平台,所以根据开源社区提供的CMDB部署指南,这边整理成一个比较简单快速的的方式进行部署蓝鲸CMDB。
CMDB 微服务进程清单
1. web层服务进程
- cmdb_webserver
2. 服务网关进程
- cmdb_apiserver
3. 场景层服务进程
- cmdb_adminserver
- cmdb_eventserver
- cmdb_hostserver
- cmdb_procserver
- cmdb_toposerver
- cmdb_datacollection
4. 资源管理服务进程
- cmdb_auditcontroller
- cmdb_hostcontroller
- cmdb_objectcontroller
- cmdb_proccontroller
一、环境准备
1、配置yum
for i in /etc/yum.repos.d/*.repo;do cp $i ${i%.repo}_bak;done
rm -rf /etc/yum.repos.d/*.repo
wget -P /etc/yum.repos.d/
wget -O /etc/yum.repos.d/epel.repo
sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf
yum clean all && yum makecache
2、在线yum安装 docker
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo
yum clean all && yum makecache
-- 安装docker
yum install docker-ce docker-ce-cli containerd.io -y
-- 安装docker-compose
curl -L `uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
--启动docker服务
systemctl start docker
systemctl enable docker
systemctl status docker
二、CMDB前置依赖安装部署
1、安装 mongodb (版本4.0.4)
docker pull mongo:4.0.4
mkdir -p /data/mongo
docker run --name mongo -v /data/mongo:/data/db -d -p 27017:27017 mongo:4.0.4
2、安装 redis (版本5.0.2)
docker pull redis:5.0.2
mkdir -p /data/redis
docker run --name redis -v /data/redis:/data -d -p 16379:6379 redis:5.0.2 redis-server --requirepass password
3、 安装 zookeeper (版本3.4.13)
docker pull zookeeper:3.4.13
mkdir -p /data/zookeeper
docker run --name zookeeper -v /data/zookeeper:/data -d -p 2181:2181 zookeeper:3.4.13
4、创建mongodb用户
需要为cmdb创建一个mongodb的用户
docker exec -it mongo /bin/ bash
mongo
use cmdb
db.createUser({user: "cc",pwd: "cc",roles: [ { role: "readWrite", db: "cmdb" } ]})
>>查看mongodb中数据
mongo
use cmdb
show collections
db.cc_ServiceCategory.find().pretty()
三、 编译安装cmdb
1、安装和配置golang
wget
tar -xvf go1.13.6.linux-amd64.tar.gz -C /usr/local/
cat >> /etc/profile << EOF
export GOPATH=/data/cmdb
export PATH=/usr/local/go/bin:$PATH
export GOPROXY="#34;
EOF
2、安装node和npm
yum -y install npm
cat >> /etc/profile << EOF
alias cnpm="npm --registry= \
--cache=$HOME/.npm/.cache/cnpm \
--disturl= \
--userconfig=$HOME/.cnpmrc"
EOF
3、创建编译路径
mkdir -p /data/cmdb/src
cd /data/cmdb/src
git clone configcenter
4、编译CMDB
cd /data/cmdb/src/configcenter/src
make #同时编译前端UI和后端服务
编译完成后根目录如下:
四、初始化CMDB
1、初始化配置
mv /data/cmdb/src/configcenter/src/bin/build/* /data/cmdb/
cd /data/cmdb/
python init.py \
--discovery 172.16.xx:2181 \
--database cmdb \
--redis_ip 172.16.xxx \
--redis_port 16379 \
--redis_pass fxxx \
--mongo_ip 172.16.xxx \
--mongo_port 27017 \
--mongo_user cc \
--mongo_pass cc \
--blueking_cmdb_url \
--listen_port 8083 \
--auth_scheme internal \
--auth_enabled false \
--full_text_search off \
--log_level 3
五、启动cmdb并测试
1、启动服务
cd /data/cmdb
./start.sh
2、服务启动之后初始化数据库
cd /data/cmdb
./init_db.sh
3、系统运行页面
打开浏览器: 数据cmdb_webserver 监听的地址:
这里存在3个问题:
1、主机的导入功能(按字段类型对应导入excel表),因为密码比较复杂,而蓝鲸CMDB选了短字符和长字符都无法导入,部分特殊符号是不支持的,后面再看怎么处理
2、单单看CMDB的话多用户管理及自定义流程是不支持的
3、暂时没发现对外的API接口,不好跟其他系统做交互。