产品介绍

​ 腾讯蓝鲸智云,简称蓝鲸,是腾讯互动娱乐事业群(Interactive Entertainment Group,简称 IEG)自研自用的一套用于构建企业研发运营一体化体系的 PaaS 开发框架,提供了 aPaaS(DevOps 流水线、运行环境托管、前后台框架)和 iPaaS(持续集成、CMDB、作业平台、容器管理、数据平台、AI 等原子平台)等模块,帮助企业技术人员快速构建基础运营 PaaS。

版本类别

​ 腾讯蓝鲸智云有 2 个主要版本线:社区版和企业版,根据软件包的功能和技术服务提供方的不同,细分为软件基础包、软件增强包、合作商软件包。各版本的描述和产品内容详见下表:

版本类别 详细描述
社区版 可以从腾讯蓝鲸智云官方网站下载,并免费使用,用户以运维社区的个人/企业为主,通过社区力量,协助腾讯蓝鲸更好地验证产品的功能和性能。目前该版本的软件由基础平台(管控平台、配置平台、作业平台、PaaS 平台)和官方提供的 SaaS(节点管理、日志检索、蓝鲸监控、故障自愈、标准运维等)组成,且 PaaS 平台上可运行基于腾讯蓝鲸统一开发框架研发的各种场景 SaaS。
企业版 企业版是付费软件,通过购买 License 的方式永久授权。用户以企业客户为主。其软件产品在功能、性能、服务等方面均优于社区版。蓝鲸的 “企业版技术合作伙伴” 为软件销售和实施的授权方。

功能架构

​ 社区版的功能架构图如下,企业版的包含虚化部分的功能。对于中小型的运维场景,企业版足够了。

img

环境准备

​ 社区版的部署方式包括:单机部署和标准部署。标准部署需要3台服务器,把各个组件分散到不同的服务器上,并且zk,kafka等组件做了分布式。单机部署只需要一台服务器,但是对服务器的要求较高,经过几次不成功的尝试,建议越高越好。

  • 虚拟机:8核16G内存500GB硬盘一台
  • 操作系统:CentOS Linux release 7.4.1708

部署准备

下载社区版

从官网下载最新的稳定版(完整包):https://bk.tencent.com/download/ ,我使用的是5.1.28版本。

同时下载部署脚本:https://bk.tencent.com/download_sdk/ ,我使用1.6版本。

最后需要下载社区版的证书:https://bk.tencent.com/download_ssl/ ,输入部署服务器的MAC地址即可。(需要使用QQ号登陆)

设置系统环境

​ 根据官方的部署文档要求,需要对系统进行一些设置,提供后面脚本部署的基础环境。

配置yum源

如果是离线安装的情况,需要配置本地的源;本次部署使用在线的方式,全部更换成腾讯的源。

1
2
3
4
5
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
yum clean all
yum makecache

其他设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 检查 SELinux 的状态,如果它已经禁用,可以跳过后面的命令
sestatus
# 通过命令临时禁用 SELinux
setenforce 0
# 或者修改配置文件(需要重启)
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

# 检查默认防火墙状态,如果返回 not running,可以跳过后面的命令
firewall-cmd --state
systemctl stop firewalld # 停止 firewalld
systemctl disable firewalld # 禁用 firewall 开机启动

# 检查是否有 rsync 命令,如果有返回 rsync 路径,可以跳过后面的命令
which rsync
# 安装 rsync
yum -y install rsync

# 停止并禁用 NetWorkManager
systemctl stop NetworkManager
systemctl disable NetworkManager

# 检查当前 root 账号下的 max open files 值
ulimit -n
# 如果为默认的 1024,建议通过修改配置文件调整为 102400 或更大
cat << EOF >> /etc/security/limits.conf
root soft nofile 102400
root hard nofile 102400
EOF

# 和 ntp 服务器同步时间(离线环境下和内网校时服务器校时)
ntpdate cn.pool.ntp.org

# 修改resolv.conf配置文件,首行DNS地址需为 127.0.0.1,如下所示:

nameserver 127.0.0.1
nameserver 192.168.1.100

# 安装一些常用命令,脚本部署时也会自动安装
yum -y install vim lrzsz ntp wget curl git bash-completion bash-completion-extras gcc make lsof pcre pcre-devel zlib zlib-devel openssl openssl-devel dos2unix sysstat iostat iftop iotop net-tools bind-utils httpd-tools gcc-c++

此外还需要查看是否存在http代理,最后重启系统,给虚拟机做快照!

部署设置

1
2
# 上传三个下载包到服务器上,解压到/data下(后面都不建议自定义目录,照着官方文档来,方便查异常)
tar -zxvf bkce_src-5.1.28.tar.gz -C /data/

在data文件夹下解压生成install和src两个文件夹,在 install 目录下,共有三个配置:

  • install.config
  • globals.env
  • ports.env

修改配置文件

install.config 是模块和服务器对应关系的配置文件,描述在哪些机器上安装哪些模块。标准部署时需要设置。单机部署时,这个文件安装脚本会自动生成,无需自行配置。

globals.env该文件定义了各类组件的账号密码信息。 功能开关控制选项等。可根据实际情况进行修改。 配置项含义,请查看文件中的注释。

  • 该文件含密码信息,请保证除了 root 用户外,其他用户不可读。
  • 各类账号密码建议修改,注意设置的各类密码不能有 / $ ` < > & 等特殊字符。
  • 配置 HTTP 代理:若公司不能访问外网,但有自己的 proxy,在该配置文件的 BK_PROXY 选项中指定代理地址。
  • HTTP_SCHEMA=http 默 认 HTTP_SCHEMA 设置为 HTTP 即蓝鲸软件全站为 HTTP,若设置为 HTTPS 则蓝鲸软件全站为 HTTPS,可支持 HTTP 和 HTTPS 的切换。
  • 该配置文件中提供了访问蓝鲸三大平台的域名配置,需要提前准备好。
1
2
3
4
export BK_DOMAIN="bk.com"                # 蓝鲸根域名(需要自己准备)
export PAAS_FQDN="paas.$BK_DOMAIN" # PAAS 完整域名
export CMDB_FQDN="cmdb.$BK_DOMAIN" # CMDB 完整域名
export JOB_FQDN="job.$BK_DOMAIN" # JOB 完整域名

ports.env端口定义。默认情况下,不用修改。特殊场景下,若有端口冲突,可以自行定义。

解压证书

1
tar xf ssl_certificates.tar.gz -C /data/src/cert/

开始部署

如果部署全部组件,请执行:

1
2
$ cd /data/install
$ ./install_minibk -y

如果按需部署,假设只需要 PaaS,CMDB,JOB 平台,请执行:

1
2
3
$ cd /data/install
$ ./install_minibk
$ ./bk_install paas && ./bk_install cmdb && ./bk_install job

安装第一步会先创建免密登陆(本机免密,如果是标准部署需要各个节点间做免密访问)

1
2
Generating public/private rsa key pair.
Created directory '/root/.ssh'.

然后是安装环境的检查,安装和更新缺少的包,并选择默认的安装位置,强烈建议默认。

image-20200607173248317

之后就是使用rsync拷贝文件到指定为,并提示是否同意腾讯的协议,输入yes。

image-20200607173144942

脚本会依次安装各大平台组件,注意一下输出屏幕,如果在哪个环节报错了,可能需要手动的查原因解决。

当显示如下图所示,证明这个组件安装成功,可以访问了。

image-20200607175326632

image-20200607174911484

在部署的时候也推荐依次安装组件,这样哪个组件安装出问题后可以解决后再安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
cd /data/install

# 安装 PaaS 平台及其依赖服务,该步骤完成后,可以打开 PaaS 平台。
./bk_install paas

# 安装配置平台及其依赖服务,该步骤完成后,可以打开配置平台,看到蓝鲸业务及示例业务。
./bk_install cmdb

# 该步骤完成后,可以打开作业平台,并执行作业。同时在配置平台中可以看到蓝鲸的模块下加入了主机。
# 安装作业平台及其依赖组件,并在安装蓝鲸的服务器上装好 gse_agent 供验证。
./bk_install job

# 部署正式环境及测试环境
# 该步骤完成后可以在开发者中心的服务器信息和第三方服务信息中看到已经成功激活的服务器
# 同时也可以进行 SaaS 应用(除蓝鲸监控和日志检索)的上传部署
./bk_install app_mgr

# 安装蓝鲸数据平台基础模块及其依赖服务。安装该模块后,可以开始安装使用 SaaS 应用: 蓝鲸监控和日志检索
./bk_install bkdata

# 安装故障自愈的后台模块及依赖其服务
# 安装该模块后,可以开始安装使用 SaaS 应用: 故障自愈
./bk_install fta

# 重装 gse_agent 并注册正确的集群模块到配置平台
# 执行完该操作后,可以在配置平台中看到主机按照 install.config 中的配置分布到对应拓扑下
./bk_install gse_agent

#部署官方 SaaS 到正式环境(通过命令行从 /data/src/official_saas/ 目录自动部署 SaaS )
# 执行完该操作后,可以在蓝鲸工作台看到并使用所有官方 SaaS
./bkcec install saas-o

错误处理

1、install bkdata时报错

image-20200607180902235

​ 原因是系统找不到对应的库, 确保 mysql-devel 已经安装,如果你已经安装,可以通过如下命令解决:

1
2
3
4
5
6
7
8
# 查找系统中存在的库文件,然后软链至/usr/lib下
find / -name '*mysqlclient*'
ln -s /usr/lib64/mysql/libmysqlclient_r.so /usr/lib/libmysqlclient_r.so
ln -s /usr/lib64/mysql/libmysqlclient.so /usr/lib/libmysqlclient.so
ln -s /usr/lib64/mysql/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib/libmysqlclient.so.18.0.0
# 然后在重新安装bkdata
./bk_install bkdata

2、其他的一些可能遇到的问题:

https://bk.tencent.com/docs/document/5.1/10/243

登陆使用

全部安装正常完成以后,就可以在浏览器访问Paas平台,在平台上可以看到已经安装的各种应用。

image-20200607211050112

可以在开发者中心,下架已经安装的应用,或者创建应用,部署第三方应用等。

image-20200607213647093

日常运维

日常维护主要注意组件的启动停止,以及硬盘空间的清理,这两个部分参考官方的文档即可。因为还没有深入的使用,所以这部分暂时留空,后续会补上。

官方文档:https://bk.tencent.com/docs/document/5.1/20/668