一、环境准备
- 体验功能:建议 4 核 16 G,硬盘 50G 以上
- 生产环境:建议 8 核 32 G,硬盘 100G 以上(可根据实际情况适当调整配置)
- 机器数量:3 台(假设 ip 分别为:192.168.66.105,192.168.66.106,192.168.66.107)
注意:以上配置要求是必须的,不然服务无法顺利部署起来,最低最低内存不得低于12G
- 选择一台为中控机(假设为 192.168.66.105)进行安装部署操作,使用 root 账号登录。
HostName | OS | Mem | CPU | IP | Function |
blueKing01 | CentOS7.6 | 16G | 8C | 192.168.66.105 | 中控机,Nginx/ES等 |
blueKing02 | CentOS7.6 | 16G | 8C | 192.168.66.106 | ES,Kafka,MySQL等 |
blueKing03 | CentOS7.6 | 16G | 8C | 192.168.66.107 | GSE/LICENSE/JOB等 |
1.1、获取文件
1.1.1:获取证书
- 通过
ifconfig
或者ip addr
命令分别获取三台机器第一个内网网卡 MAC 地址 - 前往蓝鲸官网证书生成页面(https://bk.tencent.com/download_ssl/),根据提示在输入框中填入英文分号分隔的三个 MAC 地址,生成并下载证书
- 上传证书包至中控机
/data
- 证书包包名:
ssl_certificates.tar.gz
- 证书包包名:
[root@localhost ~]# ip a


[root@localhost ~]# mkdir /data
1.1.2:下载安装包
#登陆中控机
cd /data
yum -y install wget
wget https://bkopen-1252002024.file.myqcloud.com/ce/bkce_src-6.0.0.tgz
1.2、主机配置
环境准备阶段,三节点都需要执行以下的所有操作
1.2.1:修改主机名
hostnamectl set-hostname blueKing01
hostnamectl set-hostname blueKing02
hostnamectl set-hostname blueKing03
1.2.2:修改DNS
cat << EOF > /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
nameserver 8.8.8.8
EOF
1.2.3:修改YUM源
#备份系统旧配置文件
yum -y install wget
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#备份旧的epel源(如有配置其他epel源)
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
# epel(RHEL7系列)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#更新缓存
yum clean all
yum makecache
1.3、环境设置
#安装一些常用命令
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++
1.3.1:关闭selinux
#查看selinux状态
sestatus
#关闭selinux
setenforce 0
getenforce
#修改配置文件
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
1.3.2:安装Rsync
# 检查每个节点是否有rsync命令,如果有返回rsync路径,可以跳过后面的命令
which rsync
# 安装rsync
yum -y install rsync
1.3.3:关闭防火墙
# 检查默认防火墙状态, 如果返回not running,可以跳过后面的命令
firewall-cmd --state
#停止并禁用firewalld:
systemctl stop firewalld # 停止firewalld
systemctl disable firewalld # 禁用firewall开机启动
1.3.4:调整文件打开数
# 检查当前root账号下的max open files值
ulimit -n
#如果为默认的1024,建议通过修改配置文件调整为102400或更大。
cat << EOF >> /etc/security/limits.conf
root soft nofile 102400
root hard nofile 102400
EOF
#这里使用的单独的配置文件覆盖/etc/security/limits.conf默认值的方式,请根据系统环境自行调整。
#修改后,重新使用root登录检查是否生效
su
ulimit -n
1.3.5:时间同步
- 服务器后台时间不同步会对时间敏感的服务带来不可预见的后果。务必在安装和使用蓝鲸时保证时间同步。
# 检查每台机器当前时间和时区是否一致,若相互之间差别大于3s(考虑批量执行时的时差),建议校时。
yum -y install ntp
date -R
# 查看和ntp server的时间差异(需要外网访问,如果内网有ntpd服务器,自行替换域名为该服务的地址)
ntpdate -d cn.pool.ntp.org
#如果输出的最后一行offset大于1s建议校时
#和ntp服务器同步时间
ntpdate cn.pool.ntp.org
1.3.6:检查HTTP代理
- 蓝鲸服务器之间会有的http请求,如果存在http代理,且未能正确代理这些请求,会发生不可预见的错误。
#检查http_proxy https_proxy变量是否设置,若为空可以跳过后面的操作
echo "$http_proxy" "$https_proxy"
对于本机配置http_proxy变量的方式,请依次查找文件/etc/profile、/etc/bashrc、$HOME/.bashrc等是否有设置。
1.3.7:关闭NetworkManager
#查看NetworkManager状态
systemctl status NetworkManager.service
#关闭NetworkManager
systemctl stop NetworkManager.service
#将NetworkManager 服务设置开机不启动
systemctl disable NetworkManager.service
1.3.8:重启系统
reboot
二、安装前准备
2.1:解压文件
- 以下操作全部在中控机
BlueKing01
服务器上操作
2.1.1:解压完整包
- 包含蓝鲸相关产品,如 PaaS、CMDB、JOB 等;蓝鲸依赖的 rpm 包,SaaS 镜像,定制 Python 解释器;部署脚本
#解压后/data目录下有2个目录install 和 src目录
[root@blueking01 ~]# cd /data/
[root@blueking01 data]# tar -zxvf bkce_src-6.0.0.tgz
2.1.2:解压产品包
[root@blueking01 data]# cd /data/src/; for f in *gz;do tar xf $f; done
2.1.3:解压证书包
[root@blueking01 src]# install -d -m 755 /data/src/cert
[root@blueking01 src]# tar xf /data/ssl_certificates.tar.gz -C /data/src/cert/
[root@blueking01 src]# chmod 644 /data/src/cert/*
2.1.4:拷贝RPM包
- 拷贝 rpm 包文件夹到
/opt/
目录
[root@blueking01 src]# cp -a /data/src/yum /opt
2.2:修改配置
install.conf
install.config
是模块和服务器对应关系的配置文件,描述在哪些机器上安装哪些模块。 每行两列,第一列是IP地址;第二列是以英文逗号分隔的模块名称。- 请根据实际机器的 IP 进行替换第一列的示例 IP 地址,确保三个 IP 之间能互相通信
[root@blueking01 ~]# cat << EOF >/data/install/install.config
192.168.66.105 iam,ssm,usermgr,gse,license,redis,consul,es7,monitorv3(influxdb-proxy),monitorv3(monitor),monitorv3(grafana)
192.168.66.106 nginx,consul,mongodb,rabbitmq,appo,influxdb(bkmonitorv3),monitorv3(transfer),fta,beanstalk
192.168.66.107 paas,cmdb,job,mysql,zk(config),kafka(config),appt,consul,log(api),nodeman(nodeman)
EOF
2.3:配置免密
- 对
install.config
中的主机配置中控机 ssh 登录免密。根据提示,依次输入每台机器的 root 密码
[root@blueking01 ~]# bash /data/install/configure_ssh_without_pass
三、开始安装
————-部署前修改域名————–
- 注意:该目录下默认是空的,需要自己建文件,操作如下
cat > /data/install/bin/03-userdef/global.env << EOF
# 安装目录
BK_HOME=/data/bkce
BK_CERT_PATH=/data/bkce/cert
BK_DOMAIN="bktencent.com"
# 访问PaaS平台的域名
BK_PAAS_PUBLIC_URL="http://paas.bktencent.com:80"
BK_PAAS_PUBLIC_ADDR="paas.bktencent.com:80"
BK_PAAS_PRIVATE_ADDR="paas.service.consul:80"
BK_PAAS_PRIVATE_URL="http://paas.service.consul:80"
# 访问CMDB的域名
BK_CMDB_PUBLIC_ADDR="cmdb.bktencent.com:80"
BK_CMDB_PUBLIC_URL="http://cmdb.bktencent.com:80"
# 访问Job平台的域名
BK_JOB_PUBLIC_ADDR="job.bktencent.com:80"
BK_JOB_PUBLIC_URL="http://job.bktencent.com:80"
BK_JOB_API_PUBLIC_ADDR="jobapi.bktencent.com:80"
BK_JOB_API_PUBLIC_URL="http://jobapi.bktencent.com:80"
BK_NODEMAN_PUBLIC_DOWNLOAD_URL=nodeman.bktencent.com
————-部署前修改密码————–
#部署前修改 admin 密码:
将 blueking 使用自定义的密码进行替换,下面为自定义统一登入入口密码
cat > /data/install/bin/03-userdef/usermgr.env << EOF
BK_PAAS_ADMIN_PASSWORD=admindqz
EOF
3.0:初始化操作
- 执行初始化操作
# 快速部署暂不支持自定义安装目录
[root@blueking01 ~]# cd /data/install/
[root@blueking01 install]# ./bk_install common


- 执行过程中会有提示
检查以上输出的变量,请确保它们的值不为空
时直接忽略,社区版不需要这些变量值 - 有可能第一次执行不是上面的提示,那么重新再运行一次命令即可
[root@blueking01 install]# ./health_check/check_bk_controller.sh

3.1:安装PaaS平台
- 该步骤完成后,可以打开 PaaS 平台
[root@blueKing01 ~]# cd /data/install/
[root@blueKing01 install]# ./bk_install paas

- 进行域名解析后即可访问

3.2:安装SaaS环境
[root@blueKing01 install]# ./bk_install app_mgr

部署 SaaS 超时解决方案
- 部署好SaaS环境服务后,提前修改appo的检测超时时间,防止下面安装SaaS平台时检测超时的问题
[root@blueking02 ~]# vim /data/bkce/etc/paas_agent_config.yaml

#返回中控机执行重启命令
[root@blueKing01 install]# /data/install/bkcli restart appo
#systemd方式重启
[root@blueking02 ~]# systemctl restart bk-paasagent.service
[root@blueking02 ~]# systemctl status bk-paasagent.service
[root@blueking03 ~]# vim /data/bkce/open_paas/paas/conf/settings_production.py
#文件的最下面添加如下参数:
EVENT_STATE_EXPIRE_SECONDS = 36000

#返回中控机执行重启命令
[root@blueKing01 install]# /data/install/bkcli restart paas
3.3:安装配置平台
- 该步骤完成后,可以打开配置平台,看到蓝鲸业务及示例业务
[root@blueKing01 install]# ./bk_install cmdb

- 进行域名解析后即可访问

3.4:安装作业平台
- 该步骤完成后,可以打开作业平台,并执行作业。同时在配置平台中可以看到蓝鲸的模块下加入了主机。
[root@blueKing01 install]# ./bk_install job

- 进行域名解析后即可访问

3.5:安装节点管理
[root@blueKing01 install]# ./bk_install bknodeman

- 进行域名解析后即可访问

3.6:安装监控平台
[root@blueKing01 install]# ./bk_install bkmonitorv3
- 进行域名解析后即可访问

3.7:安装日志平台
[root@blueKing01 install]# ./bk_install bklog

3.8:部署故障自愈
[root@blueKing01 install]# ./bk_install fta

3.9:部署官方SaaS
- 权限中心
[root@blueKing01 install]# ./bk_install saas-o bk_iam

- 用户管理
[root@blueKing01 install]# ./bk_install saas-o bk_user_manage

- 标准运维
[root@blueKing01 install]# ./bk_install saas-o bk_sops

- 服务流程管理
[root@blueKing01 install]# ./bk_install saas-o bk_itsm

- 故障自愈SaaS
[root@blueKing01 install]# ./bk_install saas-o bk_fta_solutions

3.10:初始化蓝鲸业务拓扑
[root@blueKing01 install]# ./bkcli initdata topo
3.11:加载蓝鲸相关维护命令
[root@blueKing01 install]# source ~/.bashrc
3.12:检查相关服务状态
cd /data/install/
echo bkssm bkiam usermgr paas cmdb gse job consul bklog | xargs -n 1 ./bkcli check
四、访问页面
4.1 配置本地 hosts
- Windows 配置 用文本编辑器(如
Notepad++
)打开文件:C:\Windows\System32\drivers\etc\hosts
将以下内容复制到上述文件内,并将以下 IP 需更换为本机浏览器可以访问的 IP,然后保存。
192.168.66.106 paas.bktencent.com cmdb.bktencent.com job.bktencent.com jobapi.bktencent.com
192.168.66.107 nodeman.bktencent.com
- 注意:192.168.66.106 为 nginx 模块所在的机器,192.168.66.107 为 nodeman 模块所在的机器。IP 需更换为本机浏览器可以访问的 IP。查询模块所分布在机器的方式:
grep -E "nginx|nodeman" /data/install/install.config
- 注意:如果遇到无法保存,请右键文件 hosts 并找到“属性” -> “安全”,然后选择你登陆的用户名,最后点击编辑,勾选“写入”即可。
- Linux / Mac OS 配置 将以下内容复制到
/etc/hosts
中,并将以下 IP 需更换为本机浏览器可以访问的 IP,然后保存。
192.168.66.106 paas.bktencent.com cmdb.bktencent.com job.bktencent.com jobapi.bktencent.com
192.168.66.107 nodeman.bktencent.com
4.2 获取管理员账户名密码
在任意一台机器上,执行以下命令,获取管理员账号和密码。
grep -E "BK_PAAS_ADMIN_USERNAME|BK_PAAS_ADMIN_PASSWORD" /data/install/bin/04-final/usermgr.env
4.3 访问蓝鲸开始使用
- 默认蓝鲸工作台入口:http://paas.bktencent.com

4.4:变更域名
- 备份中控机的 install 目录
- 运行脚本变更域名脚本 (请使用实际的域名进行替换)
./bin/change_bk_domain.sh bktencent.org
- 上述脚本运行成功后:
- 如果域名是配置的本地 hosts 文件,请修改本机的 hosts 文件。
- 如果是通过 DNS 解析的,请修改相应的 DNS 解析。
五、问题总结
问题1:初始化权限中心失败

- 执行以下命令检查蓝鲸业务
/data/install/health_check/check_cmdb_blueking_id
查询<蓝鲸>业务的bizid失败
- 解决方案:中控机下执行以下命令
cd /data/install/
./bkcli stop bkiam
./bkcli start bkiam
./bkcli initdata cmdb
问题2:ERROR deploy failed: timeout
- 原因:服务有可能还未启动完成,超出了检查时间,默认为300s
- 解决:登入appo机器更改appo的检测超时时间
[root@blueking02 ~]# vim /data/bkce/etc/paas_agent_config.yaml

- 更改之后重启appo服务
[root@blueKing01 install]# /data/install/bkcli stop appo
[root@blueKing01 install]# /data/install/bkcli start appo
- systemd方式重启
[root@blueking02 ~]# systemctl restart bk-paasagent.service
[root@blueking02 ~]# systemctl status bk-paasagent.service
- appo重启完成后登入中控机再次部署相关服务
参考博主的文章一次部署完成
可以可以,比官方文档详细多了
参考官方文档没有部署起来,参考博主的文章一次部署完成
部署起来就行😁