蓝鲸部署文档
一. 包下载准备
1. 基础套餐和日志监控套餐
https://bk.tencent.com/download/
基础套餐包:bkce_basic_suite-6.0.3.tgz
监控日志套餐包:bkce_co_package-6.0.3.tgz
这个些包放在中控节点/data下
2. 证书文件提取
https://bk.tencent.com/download_ssl/
证书包:ssl_certificates.tar.gz
放在中控节点/data下
二. 环境准备
1. 虚拟机准备
虚拟机系统使用时centos7,其他配置如下表,每个节点部署的服务如下
节点 | cpu | 内存 | 磁盘 |
---|---|---|---|
192.168.2.203(中控节点) | 4 | 16G | 150G |
192.168.2.201 | 4 | 16G | 150G |
192.168.2.202 | 4 | 16G | 150G |
192.168.2.203 iam,ssm,usermgr,gse,license,redis,consul,mysql
192.168.2.202 nginx,paas,consul,mongodb,rabbitmq,appo
192.168.2.201 cmdb,job,zk(config),appt,consul,nodeman(nodeman)
2. yum源配置
蓝鲸的yum源要求包含EPEL,因为我使用的虚拟机可以访问外网,使用的是阿里的源
所有节点都要设置好源,需要下相关依赖
#备份目前使用的源
cd /etc/yum.repos.d
mkdir bak
mv ./*.repo ./bak/
#使用阿里的源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && wget -O /etc/yum.repos.d/epel.repo
3. 防火墙设置
#修改配置文件
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
reboot
#禁用firewalld
systemctl stop firewalld
systemctl disable firewalld
firewall-cmd --state
4. 安装 rsync 命令
注意这个必须安装,后面部署脚本很多使用这个命令
#检查是否有 rsync 命令,如果有返回 rsync 路径,可以跳过后面的命令
which rsync
#安装 rsync
yum -y install rsync
5. 调整最大文件打开数
ulimit -n
#调整为 102400 或更大
cp /etc/security/limits.conf /tmp//etc/security/limits.conf.bak
#修改limits.conf配置
cat >> /etc/security/limits.conf << EOF
root soft nofile 102400
root hard nofile 102400
EOF
#重启进入看配置是否生效
6. 服务器时间同步
服务器后台时间不同步会对时间敏感的服务带来不可预见的后果。务必在安装和使用蓝鲸时保证时间同步
#检查每台机器当前时间和时区是否一致,若相互之间差别大于3s(考虑批量执行时的时差),建议校时。
date -R
#查看和ntp server的时间差异(需要外网访问,如果内网有ntpd服务器,自行替换域名为该服务的地址)
ntpdate -d cn.pool.ntp.org
#和ntp服务器同步时间
ntpdate cn.pool.ntp.org
7. 检查是否存在全局 HTTP 代理
#检查 http_proxy https_proxy 变量是否设置,若为空可以跳过后面的操作。
echo "$http_proxy" "$https_proxy"
对于本机配置 http_proxy 变量的方式,请依次查找文件 /etc/profile、/etc/bashrc、$HOME/.bashrc 等是否有设置。 或者咨询网络管理员/IT 部门协助处理。
8. 部署机器的主机名
所有的机器都要设置hostname
#修改主机名,节点都要改
hostnamectl set-hostname <新主机名>
#确认主机名修改成功
hostname
9. 检查 DNS 配置文件
检查文件属性
lsattr /etc/resolv.conf
#如有加锁,请临时解锁处理
chattr -i /etc/resolv.conf
DNS 配置文件 /etc/resolv.conf 在安装蓝鲸过程中会自动修改。重启主机后,某些网络配置会导致该文件被还原为初始状态。
10. 中控节点操作
#环境变量添加
$BK_DOMAIN:需要更新的根域名。
$INSTALL_PATH:自定义安装目录。
BK_DOMAIN=qyos.com
INSTALL_PATH=/data/qyos
#这个不能使用root目录
#执行前请使用实际的顶级域名 (如:bktencent.com) 和安装目录进行替换
cd /data/install
./configure -d $BK_DOMAIN -p $INSTALL_PATH
------------------------------------------------------------------------
#自定义密码
cat > /data/install/bin/03-userdef/usermgr.env << EOF
BK_PAAS_ADMIN_PASSWORD=qydcos
EOF
三. 开始部署
前置准备
#解压套餐包(包含蓝鲸相关产品,如 PaaS、CMDB、JOB 等;蓝鲸依赖的 rpm 包,SaaS 镜像,定制 Python 解释器;部署脚本)
cd /data
tar xf bkce_basic_suite-6.0.3.tgz
#解压各个产品软件包
cd /data/src/; for f in *gz;do tar xf $f; done
#解压证书包
install -d -m 755 /data/src/cert
tar xf /data/ssl_certificates.tar.gz -C /data/src/cert/
chmod 644 /data/src/cert/*
#拷贝 rpm 包文件夹到/opt/目录
cp -a /data/src/yum /opt
生成并配置 install.config
这里注意最好你把nginx和paas放在同过一个节点,之前部署过一次,分开的报错域名不知道
cat << EOF >/data/install/install.config
192.168.2.203 iam,ssm,usermgr,gse,license,redis,consul,mysql
192.168.2.201 nginx,paas,consul,mongodb,rabbitmq,appo
192.168.2.202 cmdb,job,zk(config),appt,consul,nodeman(nodeman)
EOF
免密设置
必须使用这个免密设置,个人试过使用自己的免密方式,之后会出现一系列问题
这里执行可能会报错,没有关系,多执行几次,尝试ssh别的机器,如果可以ssh就ok
cd /data/install
bash /data/install/configure_ssh_without_pass
jq安装
第一次尝试jq安装不小,后续部署其他也会出现问题,第二次安装提前吧jq安装好
#安装EPEL
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
#检查是否已添加至源列表
OK,检查好已添加至源后就可以进行yum安装了
yum install jq
1. 初始化环境
#初始化环境
./bk_install common
#校验环境和部署的配置
./health_check/check_bk_controller.sh
2. 部署paas
#安装 PaaS 平台及其依赖服务
./bk_install paas
3. 部署 app_mgr
#部署SaaS运行环境,正式环境及测试环境
./bk_install app_mgr
这个模部署完提示部署nodeman,这个时候部署会报超时错误,尝试过多次,最后按官方文档的步骤放在后面部署,就会正常部署下去
4. 部署权限中心与用户管理
#权限中心
./bk_install saas-o bk_iam
#用户管理
./bk_install saas-o bk_user_manage
5. 部署 cmdb
#安装配置平台及其依赖服务
./bk_install cmdb
6. 部署 job
#安装作业平台后台模块及其依赖组件
./bk_install job
7. 部署 bknodeman
#安装节点管理后台模块、节点管理 SaaS 及其依赖组件
./bk_install bknodeman
8. 部署标准运维及流程管理
依次执行下列命令部署相关 SaaS。
#标准运维
./bk_install saas-o bk_sops
#流程管理
./bk_install saas-o bk_itsm
9. 加载蓝鲸相关维护命令
source ~/.bashrc
10. 初始化蓝鲸业务拓扑
./bkcli initdata topo
11. 检测相关服务状态
cd /data/install/
echo bkiam bkssm paas usermgr cmdb gse job consul | xargs -n 1 ./bkcli check
四. 访问配置
1. 本地host配置
192.168.2.202 paas.qyos.com cmdb.qyos.com job.qyos.com jobapi.qyos.com
192.168.2.203 nodeman.qyos.com
2. 查询模块所在机器
grep -E "nginx|nodeman" /data/install/install.config
192.168.2.201 nginx,paas,consul,mongodb,rabbitmq,appo
192.168.2.202 cmdb,job,zk(config),appt,consul,nodeman(nodeman)
3. 获取管理员账号和密码
在任意一台机器上,执行以下命令,获取管理员账号和密码
这个密码是初始密码,修改后这样查看还是初始密码
grep -E "BK_PAAS_ADMIN_USERNAME|BK_PAAS_ADMIN_PASSWORD" /data/install/bin/04-final/usermgr.env
qydcos
五. 卸载环境
cd /data/instll
cp ./uninstall/uninstall.sh ./
./uninstall.sh