使用腾讯云云服务部署蓝鲸7.1

使用腾讯云云服务部署蓝鲸7.1

蓝鲸 7.1 相对于 蓝鲸 6.X 最大的区别在于部署方式的不同,蓝鲸 7.1 是基于 Kubernetes 改造的全平台容器化形态。

本教程描述了如何针对云原生服务场景进行蓝鲸 7.1 部署。


单实例 RabbitMQ 切换高可用(镜像)队列模式

RabbitMQ 是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。

在蓝鲸组件中,以下产品依赖 RabbitMQ 服务:

  • PaaS 平台(需要注册 RabbitMQ 服务,提供给通过 PaaS 平台部署的 SaaS 用)
  • 后台 Django 工程使用 celery 任务的 (节点管理、用户管理、监控平台等)
  • 作业平台(job)
  • 蓝盾(bkci)

本教程描述了如何在单机部署的蓝鲸社区版中将单点部署的 Rabbitmq 切换至高可用(镜像)队列模式。


扩容 MongoDB RS 集群(切片集集群)

MongoDB 是一种通用文档型数据库。在蓝鲸后台架构中,主要为以下平台提供存储服务:

  • 配置平台(CMDB)的核心数据
  • 作业平台(Job)的执行日志
  • 管控平台(GSE)的插件信息

本教程描述了如何在蓝鲸社区版中扩容 Mongod 副本集。要使一个副本集能提供足够的冗余,至少需要部署三个节点,所以新增节点数必须为偶数,至少增加两台机器。


扩容 Kafka 集群

Kafka 在蓝鲸架构中,用于数据上报通道的队列缓存。在数据链路中,生产者是 GSE 组件的 gse_data 进程,将 agent 上报的监控时序数据或者日志采集数据 写入到 kafka 集群。消费者是监控后台的 transfer 进程,将队列中的数据消费,清洗,并入库到相应存储中。

本教程描述了如何在蓝鲸社区版中扩容 Kafka 集群。

  • 要使一个副本集能提供足够的冗余,至少需要部署三个 Broker ,所以新增节点数必须为偶数,至少增加两台机器。
  • 官方的扩容指引:https://kafka.apache.org/0100/documentation.html#basic_ops_cluster_expansion
  • Kafka 扩容集群很简单,只需要分配一个唯一的 Broke id 即可加入集群
  • 扩容完成后,新的 Broker 中如果没有新增 Topic,这个节点是不会承载任何数据,所以需要用户手动迁移老的数据到新的 broker,以达到集群内均匀的负载分布。具体操作参考官方文档说明:https://kafka.apache.org/0100/documentation.html#basic_ops_cluster_expansion
  • 单机版部署的蓝鲸只有单 Kafka 集群,建议扩容至 3 个 Broker,实现容错和高可用性

ZooKeeper 单点切换至集群

Apache ZooKeeper 是 Apache 软件基金会的一个软件项目,为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。

蓝鲸后台产品中,使用到 Zookeeper 的有:

  • cmdb 用作服务发现
  • gse 用作服务发现和 dataid 数据存储
  • 蓝鲸监控 metadata 后台 读取 gse 的 dataid 数据部分

本教程描述了如何在单机部署的蓝鲸社区版中将单点部署的 Zookeeper 切换至集群模式。一个 Zookeeper 集群至少需要三台机器,所以新增节点数必须为偶数,至少增加两台机器。


Configure Bk Domain

安装部署后,BK_DOMAIN 默认使用的是 bktencent.com,PaaS 的访问域名为 paas.bktencent.com。

此文档将以配置为 *.bk.example.com 为目标展开说明(此时 PaaS 的 paas.bk.example.com)