整理蓝鲸社区版3-X部署文档
# 一,闲言碎语
在申请加入蓝鲸 qq 群的时候,被问到一个问题。
蓝鲸是什么? 记得我当时的答案是这样的:对于一个尚且不会开发的运维来说,蓝鲸就是一种慈善。
有时候只有经历过更忙更繁杂之后才能体会到,为什么,会有一个自动化时代的到来,而这种时代,是无可阻挡与避免的。
决定要好好琢磨一下蓝鲸,但是一开始并没有成功,我在官方的所谓文档里翻来覆去,不明就里,后来几乎就要放弃了的,后来所幸在另外一个地方看到一篇教程的文章,虽然与官方文档相差无几,但是读起来却感觉要容易理解的多,这也是我非常郁闷的地方,许多软件工具的官方文档,也不知道是哪些人在什么情况下写出来的,总之,一旦与官方文档挂钩,就几乎与难懂不好用扯在一起了。
不过还有另外一层体验,这层是在充分理解了民间所写的文档之后,我又回头跑去官方文档看了两遍,发现其中许多地方,倒也能够看懂了,是已经了解其中的门路回头再看就能够轻车熟路了,还是已入门槛产生了兴趣看的更仔细认真所以才理解了,我不得而知,总之,学习这条路,不抛弃,不放弃就对啦,如果暂时不行,那就想想别的办法,兴许别的路就是通往山顶的适合自己的路呢。
好了,啰嗦完了,从这里开始,下边的文字基本上都是整理,整理就是拿别人的东西过来,整理成自己的东西,也就是说大部分核心东西还都是官方文档或者民间文档,然后再通过自己的理解整理出来。
# 二,所有链接
蓝鲸官网:http://bk.tencent.com/
蓝鲸社区版本下载:http://bk.tencent.com/download/
蓝鲸官方论坛:http://bbs.bk.tencent.com/forum.php
蓝鲸 3.X 官方部署文档:http://bbs.bk.tencent.com/forum.php?mod=viewthread&tid=505
民间部署文档参考:https://segmentfault.com/a/1190000011431985
# 三,简单介绍
我们这里也着重讲解介绍的是蓝鲸社区版 3.X,算是为随后 4 版本的到来打一个前站吧。
# 四,环境准备
# 1,安装前准备
蓝鲸相关软件包(V3.X Beta)及加密证书, 可以下载最新的,基本上本文档适用所有 3.X 版本的。
所需要的一共有三项,主安装包(src),安装脚本包(install),证书包(ssl)。主安装包与安装脚本包在上边下载链接处点进去都可以下载到,证书包下载可通过下边这个链接进行下载 http://bk.tencent.com/download/#ssl 注意:下载时根据官方说明需要将其中两台部署主机的 mac 地址(用 netstat -ie 看到)输入,这里可以把三台服务器的 mac 地址都填进去,并用英文的; 分开。
# 2,系统环境准备
准备三台主机,这是官方要求的最少主机数配置,且每台配置最好不低于 4 核 8G。我在第一次部署的时候,其中两台主机使用了自己电脑虚拟机开出来的 1 核 1G 的主机进行协调,但是由于这个服务相当丰富庞大,较为耗费资源,所以当时就遇到了搭建部署成功之后,结果登陆的时候就一直转圈圈,加载半天也没个动静。
主机环境准备如下(这里统一使用 CentOS 7 系统)
这里的模块角色听起来好像有点高端,其实就是三台服务端主机上分别安装的不同组件,看到这样一堆组件,想必就能够理解为什么蓝鲸是一个庞大的蓝鲸了吧。
# 3,服务器初始化配置
所有机器之间保证内网络可以 SSH 免密登陆(分别将本机的密码传给另外两台以及本机,很奇怪,我在第一次部署的时候曾经遇到过登录本机需要认证的情况,所以这里为免卡壳,最好这样配置)
关闭 SELinux,保证机器相互之间的互通 (可以在安装完成后再根据服务所需策略添加防火墙规则)
安装过程中, 需要保证所有机器都可以联网,若无法做到,可以自建一个 yum 源以及 pip 源
安装开发工具包: yum -y groupinstall “Development Tools”
安装 epel 源: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm (后面安装 rabbitmnq-server 时会用到)
# 五,开始安装
# 1,配置域名解析
首先,先将以下解析全部写入到每台服务器的 hosts 中,就不必再去搭建本地 dns 了。
192.168.106.2 bk-1
192.168.106.3 bk-2
192.168.106.4 bk-3
192.168.106.2 paas.ops.aniu.so jobs.ops.aniu.so cmdb.ops.aniu.so
2
3
4
5
同时,也要将最后一条解析写入到本地 hosts 当中,以便部署完成之后本地通过域名访问。注意:如果跟随我的文档进行部署,那么请暂时所有的配置与我保持一致,能够全部都做通了之后,最后会有更换域名啦之类的操作方法的。所有的学习都是这样的一个过程。
# 2,初步的部署准备
在中控主机上创建 / data 目录,然后将三包传到这个目录下,以后所有操作也都在这台主机上,所有数据也都会自动进行同步的。
$ cd /data
$ tar xf bkce_src-3.1.6.tgz
$ tar xf install_ce-1.0.14.tgz
$ tar xf ssl_certificates.tar.gz -C ./src/cert/
2
3
4
# 3,配置相关配置文件
$ vi install.config
192.168.106.2 nginx,appt,rabbitmq,kafka,zk,es,bkdata,consul,fta
192.168.106.3 license,appo,kafka,zk,es,mysql,beanstalk,consul
192.168.106.4 paas,cmdb,job,gse,kafka,zk,es,consul,redis,bkarchiva
2
3
4
5
注
\1. zk 表示 zookeeper, es 表示 elasticsearch
\2. 该配置文件,要保证逗号前后没有空白字符,行末没有空白字符, ip 后面使用空格与服务名称隔开 (不能使用 tab)
\3. 含有多个内网 ip 的机器,install.config 中使用 /sbin/ifconfig 输出中的第一个内网 ip
\4. 在 ip 后面写上该机器要安装的服务列表即可。
\5. nginx 与 cmdb 不能部署在同一台机器
\6. gse 与 redis 需要部署在同一台机器上
\7. 安装 zk 的机器, 不能有外网 IP, 或者必须通过防火墙策略限制 zk 端口的访问
\8. gse 若需要跨云支持, gse 所在机器必须有外网 IP
\9. 增加机器数量时, 可以将以上配置中的服务挪到新的机器上。 要保证: kafka, es, zk 的每个组件的总数量为 3
\10. 设置的 mysql 密码不能有 #以及 / .
# 根据实际情况修改 global.env , ports.env
- ports.env 中可以配置各项服务的端⼝信息
- globals.env 配置⽂件中, 设定域名,账号密码等信息, 强烈建议修改掉默认值
- global.env 中配置的域名,必须保证可以在服务器上被解析到, 建议使⽤ DNS 进⾏配置,域名解析对应的 A 记录要求填写 nginx 所在机器的 ip 地址.若⽆ DNS 服务, 则,需要在安装蓝鲸服务的机器上都配置 hosts , 把 paas , job , cmdb 的域名都指向 nginx 所在 ip ,
2
3
示例如下
$ vi globals.env
# vim:ft=sh
# 产品信息含义
# PAAS 集成平台
# CMDB 配置平台
# JOB 作业平台
# GSE 管控平台
# BKDATA 数据平台
## environment variables
# 域名信息
export BK_DOMAIN="ops.aniu.so" # 蓝鲸根域名(不含主机名)
export PAAS_FQDN="paas.$BK_DOMAIN" # PAAS 完整域名
export CMDB_FQDN="cmdb.$BK_DOMAIN" # CMDB 完整域名
export JOB_FQDN="job.$BK_DOMAIN" # JOB 完整域名
export APPO_FQDN="o.$BK_DOMAIN" # 正式环境完整域名
export APPT_FQDN="t.$BK_DOMAIN" # 测试环境完整域名
# DB 信息
export MYSQL_USER="root" # mysql 用户名
export MYSQL_PASS="@Aniudb123." # mysql 密码
export REDIS_PASS="@Aniuredis123." # redis 密码
# 账户信息(建议修改)
export MQ_USER=admin
export MQ_PASS=aniumq
export ZK_USER=aniuzk
export ZK_PASS='anwg123.'
export PAAS_ADMIN_USER=admin
export PAAS_ADMIN_PASS=anwg123.
# 以下变量值不可以修改.每个企业统一
export IMAGE_NAME='bkbase/python:1.0'
You have new mail in /var/spool/mail/root
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
# 4,更改 pip 源
vim src/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple
trusted-host = mirrors.aliyun.com
2
3
4
5
# 5,配置 Nginx repo
# 在bk1 bk3上配置
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2
3
# 6,开始安装
安装过程的输出说明:
白色: 普通输出
蓝色: 步骤说明
黄色: 警告消息,可忽略
红色: 失败提示,或者错误提示
注:安装过程中会出现少量的非脚本输出日志 (无 ip 和日期前缀的输出行)。也会出现红色的 警告 消息,请忽略。
这里使用集群安装,单步安装请参考官方文档。
$ ./bk_install base_service # 安装基础环境
$ ./bk_install bk_products # 安装蓝鲸主要产品,并初始化数据
# 该步骤安装完成后,可以通过浏览器打开蓝鲸了。cmdb,job 都应该能访问才算是正常
$ ./bk_install app_mgr # 安装 开发者中心的 App 管理器
# 该步骤安装完成后, 可以在开发者中心的 服务器信息 和 第三方服务信息 中看到已经成功激活的服务器
# 此步骤可能会提示安装Rabbitmq失败,解决方法:
** yum install erlang -y # 安装Rabbitmq-server需要的环境 **
$ ./bk_install gse_agent # 在所有机器上安装 gse_agent
# 该步骤安装完成后,可以在 CC 的资源池中看到安装蓝鲸的服务器 ip 列表
2
3
4
5
6
7
8
9
如果安装过程中出现什么问题,请根据出现问题进行解决,这里有官方论坛收集的问题可以参考。 http://bbs.bk.tencent.com/forum.php?mod=viewthread&tid=570&extra=page%3D1
现在这个时候可以通过 IP 或者刚刚配置好的域名进行访问。
接下来就是配置使用啦!!!