Kubernetes - 腾讯蓝鲸配置平台(CMDB)开源版部署

  蓝鲸配置平台(蓝鲸CMDB)是一个基于运维场景设计的企业配置管理服务。主要功能:

  1. 拓扑化的主机管理:主机基础属性、主机快照数据、主机归属关系管理

  2. 组织架构管理:可扩展的基于业务的组织架构管理

  3. 模型管理:既能管理业务、集群、主机等内置模型,也能自定义模型

  4. 进程管理:基于模块的主机进程管理

  5. 事件注册与推送:提供基于回调方式的事件注册与推送

  6. 通用权限管理:灵活的基于用户组的权限管理

  7. 操作审计:用户操作行为的审计与回溯

  

  官网地址:

  源码地址:https://github.com/tencent/bk-cmdb

 

架构设计

  

Kubernetes - 腾讯蓝鲸配置平台(CMDB)开源版部署

 

  1. 资源层(store):提供系统所需的资源存储、消息队列以及缓存系统服务

  2. 服务层(service layer): 服务层划分为两大模块

      a. 资源管理模块:

    在配置平台中我们把资源类型进行了抽象,目前划分为主机、进程、通用对象三大类,支持横向扩展,每一类资源由一类微服务进程来管理。

      b. 业务场景模块:

    业务场景模块是基于资源管理模块的原子接口对应用场景的封装。

    基于操作的相关度,目前划分出admin、event、host、topo、process、datacollection几个微服务:

        admin服务负责系统的配置刷新、初始化数据写入等操作;

        event服务负责系统的事件订阅与推送服务;

        process、topo、host分别负责系统进程、拓扑模型、主机数据的使用场景;

        datacollection 服务负责系统快照数据的接收与写入。

  3. 接口层(api): 这一层是系统的api服务网关。

  4. web层(web): web层是系统提供的web服务。通过配置平台提供的web服务界面,用户可以进行资源的操作。

 

交互说明

  

Kubernetes - 腾讯蓝鲸配置平台(CMDB)开源版部署

 

  1. Zookeeper作为配置中心,利用Admin Server推送配置到Zookeeper,Zookeeper再把配置同步到各个服务的本地。

  2. Zookeeper作为服务中心,服务启动时自上报IP端口到Zookeeper,Zookeeper把各个服务的访问地址同步到各个服务本地。

  3. Zookeeper Node Watch机制:配置或服务地址更新,都将同步到各个服务本地。

  4. Web只通过ajax与Web Server交互,Web Server与Api Server交互,Api Server和各个业务场景模块、资源管理模块交互。

 

在线预览

  

  当前的CMDB基于web pack打包的js文件比较大,第一次加载会比较慢。

  服务器在香港,有可能会稍有延迟。

  站点做了流量控制,一个ip每秒100次,一个ip每天100000次,如果接收到“Too Many Requests”的错误,请稍后再试。

  

Kubernetes - 腾讯蓝鲸配置平台(CMDB)开源版部署

 图1

 

  

Kubernetes - 腾讯蓝鲸配置平台(CMDB)开源版部署

图2

部署步骤

  0. 环境准备

名称   操作系统   IP   说明  
master   CentOS 7   192.168.132.130  

k8s master

 
node   CentOS 7   192.168.132.136   k8s node  
db   CentOS 7   192.168.132.139   数据库服务器,安装mongodb、redis、zookeeper  
registry   --   --   镜像仓库(可选),可使用公有云仓库,可自建仓库  

 

 

 

 

 

 

 

 

  1. 安装mongodb(db服务器,docker安装,版本4.0.4)

  docker pull mongo:4.0.4 

  mkdir -p /opt/mongo

  docker run --name mongo -v /opt/mongo:/data/db -d -p 27017:27017 mongo:4.0.4

 

  2. 安装redis(db服务器,docker安装,版本5.0.2)

  docker pull redis:5.0.2

  mkdir -p /opt/redis

  docker run --name redis -v /opt/redis:/data -d -p 6379:6379 redis:5.0.2 redis-server --requirepass cc

 

  3. 安装zookeeper(db服务器,docker安装,版本3.4.13)

  docker pull zookeeper:3.4.13

  mkdir -p /opt/zookeeper 

  docker run --name zookeeper -v /opt/zookeeper:/data -d -p 2181:2181 zookeeper:3.4.13

 

  4. 配置mongodb(db服务器)

  docker exec -it mongo /bin/bash

  mongo

  use cmdb

  db.createUser({user: "cc",pwd: "cc",roles: [ { role: "readWrite", db: "cmdb" } ]})

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdgyp.html