一、安装环境准备
1.1 安装说明
- 准备好硬件,安装完原生 CentOS 系统后。需要对初始系统做一些配置,保证后续安装过程的顺畅和蓝鲸平台的运行。
- 系统版本: 推荐 CentOS-7.9
- 建议 4 核 16 G,硬盘 100G 以上(可根据实际情况适当调整配置)
- 机器数量:3 台(假设ip分别为:192.168.137.128,192.168.137.129,192.168.137.130)
- 选择一台为中控机(假设为 192.168.137.128)进行安装部署操作,使用 root 账号登录
分类 | 介质 | 补充说明 |
---|---|---|
OS | CentOS 7.9 | MEM>=16G,CPU>=4C, BK_DISK>=100GB |
OS | bkce_src-6.0.2.tgz | 蓝鲸平台安装文件 |
\ | Offline-RPM | oniguruma,jq,pssh,parallel,beanstalkd的RPM文件 |
\ | ssl_certificates.tar.gz | 内网网卡对应的SSL认证文件,配置免密登录用 |
注:由于是离线安装,因此上述介质要提前准备好。
注:Offline-RPM中涉及到的RPM版本要兼容操作系统版本。
表中提到的ssl_certificates.tar.gz 的下载地址为:
https://bk.tencent.com/download_ssl/
方法是登陆该网址后,将蓝鲸平台所用服务器内网地址MAC列在输入框中,MAC之间用“;”隔开,输入完毕后点下载即可。
内网ip | 模块分布 |
---|---|
192.168.137.128 | iam,ssm,usermgr,gse,license,redis,consul,es7,monitorv3(influxdb-proxy),monitorv3(monitor),monitorv3(grafana) |
192.168.137.129 | nginx,consul,mongodb,rabbitmq,appo,influxdb(bkmonitorv3),monitorv3(transfer),fta,beanstalk |
192.168.137.130 | paas,cmdb,job,mysql,zk(config),kafka(config),appt,consul,log(api),nodeman(nodeman),log(grafana) |
其中192.168.31.106为中控,所有的安装介质都放在该机器上,BK安装时的指令也将在该机器上执行,该机器上的BK相关的目录如下:
目录位置 | 内容说明 |
---|---|
/data/software | 蓝鲸平台相关的安装介质 |
/data/install,/data/src | 蓝鲸平台社区版解压目录 |
/data/bkce | 蓝鲸平台的安装位置,其他两台也会存在该目录。 |
- 注:以下步骤1.2和1.3需要在所有服务器上执行。
1.2 Yum源的配置
在yum配置前,将CentOS7.9的ISO中的文件复制到/data/software/linuxOS7目录下,
mount -t auto /root/CentOS-7.9-x86_64-DVD-2009 /mnt
cp -rpf /mnt/* /data/software/linuxOS7
新增文件/etc/yum.repos.d/centos7.repo,文件的内容如下:
[centos7]
name=centos7
baseurl=file:///data/software/linuxOS7
enabled=1
gpgcheck=0
由于是离线安装,在/etc/yum.repos.d/目录下只保留centos7.repo,其他的repo文件可以删除,也可以移动到别处,然后更新YUM的cache信息:
yum clean all && yum makecache
为了方便管理,安装如下工具包(除rsync,其余的可选):
yum -y install rsync tigervnc-server net-tools
yum -y install ntpdate
yum -y install yum-utils device-mapper-persistent-data lvm2
安装BK所需的离线工具包(必须):
cd /data/software/offline-rpm
yum install -y beanstalkd-1.10-2.el7.x86_64.rpm
yum install -y oniguruma-6.8.2-1.el7.x86_64.rpm
yum install -y jq-1.6-2.el7.x86_64.rpm
yum install -y parallel-20160222-1.el7.noarch.rpm
yum install -y pssh-2.3.1-5.el7.noarch.rpm
1.3 操作系统配置
操作系统上的配置过程如下:
- A. 关闭selinux,关闭完成后用“sestatus”指令来确认:
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
- B. 查看防火墙,关闭完成后确认指令为“firewall-cmd --state”:
systemctl stop firewalld # 停止 firewalld
systemctl disable firewalld # 禁用 firewall 开机启动
- C. 设置limits.conf,指令如下:
cat << EOF >> /etc/security/limits.conf
soft nofile 204800
hard nofile 204800
EOF
- D. 将IP设置为静态IP,以192.168.137.128为例:
先将网卡名称改为eth0,然后将IP改为静态,以其中一台BK的服务器为例,修改过程如下:
cd /etc/sysconfig/network-scripts
mv ifcfg-ens33 ifcfg-eth0
vi ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=4e7a86c2-cbda-45c2-9530-933bff35df3b
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.137.128 ###根据实际修改
PREFIX=24
GATEWAY=192.168.1.1
修改/etc/sysconfig/grub,在CMD哪一行加上“net.ifnames=0 biosdevname=0”完成后的效果如下:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=ol/root rd.lvm.lv=ol/swap net.ifnames=0 biosdevname=0 rhgb quiet"
执行如下指令重新编译GRUB:
grub2-mkconfig -o /boot/grub2/grub.cfg
- E. 关闭network manager,关闭完成后用“systemctl status NetworkManager”来确认
systemctl stop NetworkManager && systemctl disable NetworkManager
- F. 修改机器名为预定义的名称
hostnamectl set-hostname <机器名>
修改/etc/hosts,加入机器名称的解析。
- G. 同步BK所使用的服务器时间
修改timezone为中国上海:
timedatectl set-timezone Asia/Shanghai
打开虚拟机的设置,勾上“与主机时间同步”,如果是物理机,建议使用ntpdate指令定期和NTP服务器做时间同步。
服务器后台时间不同步会对时间敏感的服务带来不可预见的后果。务必在安装和使用蓝鲸时保证时间同步。
检查每台机器当前时间和时区是否一致,若相互之间差别大于3s(考虑批量执行时的时差),建议校时。
date -R
查看和ntp server的时间差异(需要外网访问,如果内网有ntpd服务器,自行替换域名为该服务的地址)
ntpdate -d cn.pool.ntp.org
- H. 确认是否有proxy在运行,如果有则手工关闭
echo "$http_proxy" "$https_proxy"
/etc/profile、/etc/bashrc、$HOME/.bashrc
- I. 检查resolv.conf是否有修改权限:
检查 /etc/resolv.conf 是否被加密无法修改(即便是 root),执行如下命令,检查是否有“i”加密字样:
lsattr /etc/resolv.conf
----i--------e-- /etc/resolv.conf
如果有则执行命令则解密处理,执行如下命令:
chattr -i /etc/resolv.conf
平台部署安装完毕后,确认 resolv.conf 配置文件的首行,即第一个DNS地址需为 127.0.0.1,如下所示:
nameserver 127.0.0.1 ###如果不是则手工添加
安装前先确认 “修改 /etc/resolv.conf 并重启主机,是否被还原” 。如果被还原,可以参考以下红帽官方的文档解决: https://access.redhat.com/solutions/7412
如果 resolv.conf不应该被通过 DHCP 获得的 DNS 服务器覆盖,那么 DHCP 接口应该有 PEERDNS=no在他们的 ifcfg 文件中设置,例如:
生的
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
DEVICE=eth0
BOOTPROTO=dhcp
PEERDNS=no
- J. 执行如下指令,修复安装的BUG
cd /usr/lib/
ln -s /usr/lib64/mysql
cd /usr/bin
ln -s /usr/sbin/ip ###先确认ip在那个目录再执行
上述步骤配置完成后,重启服务器。
二、蓝鲸平台的部署和管理
2.1 蓝鲸平台安装前的配置
mkdir -p /data/software/
运行/data/install/的configure脚本自定义域名
将蓝鲸平台的安装介质复制到/data/software/目录,然后准备好以下的shell脚本进行安装前的配置。该脚本的功能如下:
- 解压介质到对应的安装目录
- 配置install.config
- 配置admin密码
- 配置免密登录
#!/bin/bash
##############By Compard, 2022.02 ###########
##########No parameter, ./lanjing.sh ####
TAR=bkce_basic_suite-6.0.5.tgz
echo begin at `date`
cd /data/software/
tar xf $TAR -C /data
cd /data/src/; for i in *gz;do tar xf $i; done
install -d -m 755 /data/src/cert
tar xf /data/software/ssl_certificates*.tar.gz -C /data/src/cert/
chmod 644 /data/src/cert/*
cp -a /data/src/yum /opt
cd /data/install
cat << EOF >/data/install/install.config
192.168.137.128 iam,ssm,usermgr,gse,license,redis,consul,es7,monitorv3(influxdb-proxy),monitorv3(monitor),monitorv3(grafana)
192.168.137.129 nginx,consul,mongodb,rabbitmq,appo,influxdb(bkmonitorv3),monitorv3(transfer),fta,beanstalk
192.168.137.130 paas,cmdb,job,mysql,zk(config),kafka(config),appt,consul,log(api),nodeman(nodeman),log(grafana)
EOF
sleep 5
#部署前修改 admin 密码:
#将 blueking 使用自定义的密码进行替换
cat > /data/install/bin/03-userdef/usermgr.env << EOF
BK_PAAS_ADMIN_PASSWORD="zht123123"
EOF
bash /data/install/configure_ssh_without_pass
echo end at `date` last is :
echo Last Command : /data/install/configure_ssh_without_pass
脚本执行时会有输入密码的提示,输入完毕,没有任何报错即可进行下一步。
2.2 安装蓝鲸平台
蓝鲸平台包括基础模块,平台服务,SAAS-O三大部分,安装时需要按照顺序,以下是具体的步骤:
* 在install目录执行如下指令安装蓝鲸平台的基础模块:
./bk_install common
* 执行如下指令安装蓝鲸平台的模块及SAAS的后台服务:
./health_check/check_bk_controller.sh ###检查
./bk_install paas #PaaS平台
./bk_install app_mgr #SaaS 运行环境
./bk_install cmdb #配置平台
./bk_install job #作业平台
./bk_install bknodeman #节点管理,如果报错见“章节3的说明”
./bk_install bkmonitorv3 #监控平台
./bk_install bklog #日志检索
./bk_install fta #故障自愈后台
* 执行如下指令部署SAAS-O:
./bk_install saas-o bk_iam # 权限中心
./bk_install saas-o bk_user_manage # 用户管理
./bk_install saas-o bk_sops # 标准运维
./bk_install saas-o bk_itsm # 服务流程管理
./bk_install saas-o bk_fta_solutions # 故障自愈SaaS,在bk_install fta之后就开始部署
* 完成安装并确认结果:
./bkcli initdata topo #初始化蓝鲸业务拓扑
- 检测相关服务状态
source ~/.bashrc
cd /data/install/
echo bkssm bkiam usermgr paas cmdb gse job consul bklog | xargs -n 1 ./bkcli check
整个安装过程持续时间比较长,因此建议在VNC中执行,等待安装结束后,查看日志,如果未发现需要关注的问题,则安装成功,否则需要根据问题来做对应的处理
2.3 访问蓝鲸平台
安装完毕后,每个蓝鲸平台的服务器上和客户端需要访问蓝鲸平台,在hosts中加入如下信息:
192.168.31.107 aiops.bk.com cmdb.bk.com job.bk.com jobapi.bk.com
192.168.31.108 nodeman.bk.com
然后打开chrome,输入http://aiops.bk.com来访问蓝鲸平台平台,使用admin用户登陆.
蓝鲸平台默认安装的SAAS模块,都部署在appo环境上,官方推荐使用最新版的chrome来访问蓝鲸平台。
三、遇到的问题
3.1 内网访问itsm无内容
在公司内网部署了itsm,在没网的情况下,打开itsm是一片空白的,在社区看到有人说需要升级到2.5.9以上的版本。
- 解决
提前准备好需要升级的版本
https://bk.tencent.com/s-mart/application/265/histroy
打开paas平台,选择开发者中心
3.2 gse检查出现问题
重新启动gse服务即可
./bkcli restart gse