BlueKing / DevOps

蓝鲸智云社区版V6部署

温馨提示:本文最后更新于2021-04-10 17:45:19,某些文章具有时效性,若有错误或已失效,请在下方留言或提交工单提交工单
浅时光 · 3月22日 · 2021年 · 本文8641个字,预计阅读22分钟 22563次已读

一、环境准备


  • 体验功能:建议 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 账号登录。
HostNameOSMemCPUIPFunction
blueKing01CentOS7.616G8C192.168.66.105中控机,Nginx/ES等
blueKing02CentOS7.616G8C192.168.66.106ES,Kafka,MySQL等
blueKing03CentOS7.616G8C192.168.66.107GSE/LICENSE/JOB等

1.1、获取文件

1.1.1:获取证书

  • 通过 ifconfig 或者 ip addr 命令分别获取三台机器第一个内网网卡 MAC 地址
  • 前往蓝鲸官网证书生成页面(https://bk.tencent.com/download_ssl/),根据提示在输入框中填入英文分号分隔的三个 MAC 地址,生成并下载证书
  • 上传证书包至中控机 /data
    • 证书包包名:ssl_certificates.tar.gz
[[email protected] ~]# ip a
蓝鲸智云社区版V6部署-浅时光博客
跳转到腾讯蓝鲸证书下载页面输入MAC地址然后点击下载
蓝鲸智云社区版V6部署-浅时光博客
在中控机创建data目录,然后将下载下来的证书文件上传至该目录下
[[email protected] ~]# 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目录
[[email protected] ~]# cd /data/
[[email protected] data]# tar -zxvf bkce_src-6.0.0.tgz

2.1.2:解压产品包

[[email protected] data]# cd /data/src/; for f in *gz;do tar xf $f; done

2.1.3:解压证书包

[[email protected] src]# install -d -m 755 /data/src/cert
[[email protected] src]# tar xf /data/ssl_certificates.tar.gz -C /data/src/cert/
[[email protected] src]# chmod 644 /data/src/cert/*

2.1.4:拷贝RPM包

  • 拷贝 rpm 包文件夹到/opt/目录
[[email protected] src]# cp -a /data/src/yum /opt

2.2:修改配置

install.conf

  • install.config 是模块和服务器对应关系的配置文件,描述在哪些机器上安装哪些模块。 每行两列,第一列是IP地址;第二列是以英文逗号分隔的模块名称。
  • 请根据实际机器的 IP 进行替换第一列的示例 IP 地址,确保三个 IP 之间能互相通信
[[email protected] ~]# 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 密码
[[email protected] ~]# 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:初始化操作

  • 执行初始化操作
# 快速部署暂不支持自定义安装目录
[[email protected] ~]# cd /data/install/
[[email protected] install]# ./bk_install common
蓝鲸智云社区版V6部署-浅时光博客
蓝鲸智云社区版V6部署-浅时光博客
  • 执行过程中会有提示检查以上输出的变量,请确保它们的值不为空时直接忽略,社区版不需要这些变量值
  • 有可能第一次执行不是上面的提示,那么重新再运行一次命令即可
检查相关配置
[[email protected] install]# ./health_check/check_bk_controller.sh
蓝鲸智云社区版V6部署-浅时光博客

3.1:安装PaaS平台

  • 该步骤完成后,可以打开 PaaS 平台
[[email protected] ~]# cd /data/install/
[[email protected] install]# ./bk_install paas
蓝鲸智云社区版V6部署-浅时光博客
  • 进行域名解析后即可访问
蓝鲸智云社区版V6部署-浅时光博客

3.2:安装SaaS环境

[[email protected] install]# ./bk_install app_mgr
蓝鲸智云社区版V6部署-浅时光博客

部署 SaaS 超时解决方案

  • 部署好SaaS环境服务后,提前修改appo的检测超时时间,防止下面安装SaaS平台时检测超时的问题
1、登入appo机器更改
[[email protected] ~]# vim /data/bkce/etc/paas_agent_config.yaml
蓝鲸智云社区版V6部署-浅时光博客
2、重启appo服务
#返回中控机执行重启命令
[[email protected] install]# /data/install/bkcli restart appo 
#systemd方式重启
[[email protected] ~]# systemctl restart bk-paasagent.service
[[email protected] ~]# systemctl status bk-paasagent.service
3、修改PaaS超时时间
[[email protected] ~]# vim /data/bkce/open_paas/paas/conf/settings_production.py
#文件的最下面添加如下参数:
EVENT_STATE_EXPIRE_SECONDS = 36000
蓝鲸智云社区版V6部署-浅时光博客
4、重启PaaS服务
#返回中控机执行重启命令
[[email protected] install]# /data/install/bkcli restart paas

3.3:安装配置平台

  • 该步骤完成后,可以打开配置平台,看到蓝鲸业务及示例业务
[[email protected] install]# ./bk_install cmdb
蓝鲸智云社区版V6部署-浅时光博客
  • 进行域名解析后即可访问
蓝鲸智云社区版V6部署-浅时光博客

3.4:安装作业平台

  • 该步骤完成后,可以打开作业平台,并执行作业。同时在配置平台中可以看到蓝鲸的模块下加入了主机。
[[email protected] install]# ./bk_install job
蓝鲸智云社区版V6部署-浅时光博客
  • 进行域名解析后即可访问
蓝鲸智云社区版V6部署-浅时光博客

3.5:安装节点管理

[[email protected] install]# ./bk_install bknodeman
蓝鲸智云社区版V6部署-浅时光博客
  • 进行域名解析后即可访问
蓝鲸智云社区版V6部署-浅时光博客

3.6:安装监控平台

[[email protected] install]# ./bk_install bkmonitorv3
  • 进行域名解析后即可访问
蓝鲸智云社区版V6部署-浅时光博客

3.7:安装日志平台

[[email protected] install]# ./bk_install bklog
蓝鲸智云社区版V6部署-浅时光博客

3.8:部署故障自愈

[[email protected] install]# ./bk_install fta
蓝鲸智云社区版V6部署-浅时光博客

3.9:部署官方SaaS

请按顺序执行:
  • 权限中心
[[email protected] install]# ./bk_install saas-o bk_iam
蓝鲸智云社区版V6部署-浅时光博客
  • 用户管理
[[email protected] install]# ./bk_install saas-o bk_user_manage
蓝鲸智云社区版V6部署-浅时光博客
  • 标准运维
[[email protected] install]# ./bk_install saas-o bk_sops
蓝鲸智云社区版V6部署-浅时光博客
  • 服务流程管理
[[email protected] install]# ./bk_install saas-o bk_itsm
蓝鲸智云社区版V6部署-浅时光博客
  • 故障自愈SaaS
[[email protected] install]# ./bk_install saas-o bk_fta_solutions
蓝鲸智云社区版V6部署-浅时光博客

3.10:初始化蓝鲸业务拓扑

[[email protected] install]# ./bkcli initdata topo

3.11:加载蓝鲸相关维护命令

[[email protected] 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

下面介绍的操作均可能覆盖现有 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 访问蓝鲸开始使用

蓝鲸智云社区版V6部署-浅时光博客

4.4:变更域名

安装部署后,BK_DOMAIN 默认使用的是 bktencent.com,如果需要修改成其他的域名。例如换成 bktencent.org,可以按以下步骤进行:
  • 备份中控机的 install 目录
  • 运行脚本变更域名脚本 (请使用实际的域名进行替换)
./bin/change_bk_domain.sh bktencent.org
  • 上述脚本运行成功后:
    • 如果域名是配置的本地 hosts 文件,请修改本机的 hosts 文件。
    • 如果是通过 DNS 解析的,请修改相应的 DNS 解析。

五、问题总结


问题1:初始化权限中心失败

蓝鲸智云社区版V6部署-浅时光博客
  • 执行以下命令检查蓝鲸业务
/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的检测超时时间
[[email protected] ~]# vim /data/bkce/etc/paas_agent_config.yaml
蓝鲸智云社区版V6部署-浅时光博客
  • 更改之后重启appo服务
[[email protected] install]#  /data/install/bkcli stop appo
[[email protected] install]#  /data/install/bkcli start appo
  • systemd方式重启
[[email protected] ~]# systemctl restart bk-paasagent.service
[[email protected] ~]# systemctl status bk-paasagent.service
  • appo重启完成后登入中控机再次部署相关服务




本文作者:浅时光
原文链接:https://www.dqzboy.com/4884.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可
转载时请以超链接形式标明文章原始出处和作者信息

3 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!

  1. 好運黏黏上海2021-3-22 · 20:21

    可以可以,比官方文档详细多了

  2. 流年未知2021-3-22 · 14:03

    参考官方文档没有部署起来,参考博主的文章一次部署完成

本站已稳定运行: | 耗时 0.419 秒 | 查询 14 次 | 内存 38.38 MB