BlueKing / DevOps / 云计算

腾讯蓝鲸智云平台部署

浅时光 · 3月2日 · 2020年 19851次已读

一、环境准备

  • 1台4核16G
  • 2台4核8G
  • 安装GSE,JOB,PASS等平台的服务器配置一定要大
  • 我们线上使用文章来源(Source):浅时光博客的3台8C16G的服务器

本文使用三台服务器进行标准部署

HostName OS Mem CPU IP Function
BlueKing01 CentOS7.6 4G 4C 192.168.66.60 中控机,Nginx/ES等文章来源(Source):https://www.dqzboy.com
BlueKing02 CentOS7.6 4G 4C 文章来源(Source):浅时光博客 192.168.66.61 ES,Kafka,MySQL等
BlueKing03 CentOS7.6 4G文章来源(Source):浅时光博客 4C 192.168.66.62 GSE/LICENSE/JOB等
  • 环境准备阶段,三节点都需要执行以下的所有操作

1.1、获取程序

腾讯蓝鲸智云平台部署-浅时光博客
  • 官方建议新装环境及新用户建议下载完整包使用

1.2、配置YUM

#备份系统旧配置文件
[[email protected] ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[[email protected] ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo

#备份系统旧配置文件
[[email protected] ~]# mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup

# epel(RHEL7系列)
[[email protected] ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo


#更新缓存
[[email protected] ~]# yum clean all
[[email protected] ~]# yum makecache

1.3、环境设置

文章来源(Source):https://www.dqzboy.com
  • 官方建议:要求CentOS-7.0以上版本,推荐CentOS-7.5
#安装一些常用命令
[[email protected] ~]# 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状态
[[email protected] ~]# sestatus
#关闭selinux
[[email protected] ~]# setenforce 0
[[email protected] ~]# getenforce 
Permissive

#修改配置文件
[[email protected] ~]# sed -ri 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

1.3.2:安装Rsync

# 检查每个节点是否有rsync命令,如果有返回rsync路径,可以跳过后面的命令
[[email protected] ~]# which rsync
# 安装rsync
[[email protected] ~]# yum -y install rsync

1.3.3:关闭防火墙

# 检查默认防火墙状态, 如果返回not running,可以跳过后面的命令
[[email protected] ~]# firewall-cmd --state

#停止并禁用firewalld:
[[email protected] ~]# systemctl stop firewalld     # 停止firewalld
[[email protected] ~]# systemctl disable firewalld  # 禁用firewall开机启动

1.3.4:调整文件打开数

# 检查当前root账号下的max open files值
[[email protected] ~]# ulimit -n

#如果为默认的1024,建议通过修改配置文件调整为102400或更大。
[[email protected] ~]# cat << EOF >> /etc/security/limits.conf
root soft nofile 102400
root hard nofile 102400
EOF
#这里使用的单独的配置文件覆盖/etc/security/limits.conf默认值的方式,请根据系统环境自行调整。

#修改后,重新使用root登录检查是否生效
[[email protected] ~]# su
[[email protected] ~]# ulimit -n
102400

1.3.5:时间同步

  • 服务器后台时间不同步会对时间敏感的服务带来不可预见的后果。务必在安装和使用蓝鲸时保证时间同步。
# 检查每台机器当前时间和时区是否一致,若相互之间差别大于3s(考虑批量执行时的时差),建议校时。
[[email protected] ~]# yum -y install ntp
[[email protected] ~]# date -R
# 查看和ntp server的时间差异(需要外网访问,如果内网有ntpd服务器,自行替换域名为该服务的地址)
[[email protected] ~]# ntpdate -d cn.pool.ntp.org

#如果输出的最后一行offset大于1s建议校时
#和ntp服务器同步时间
[[email protected] ~]# ntpdate cn.pool.ntp.org

1.3.6:检查HTTP代理

  • 蓝鲸服务器之间会有的http请求,如果存在http代理,且未能正确代理这些请求,会发生不可预见的错误。
#检查http_proxy https_proxy变量是否设置,若为空可以跳过后面的操作
[[email protected] ~]# echo "$http_proxy" "$https_proxy"
  • 对于本机配置http_proxy变量的方式,请依次查找文件/etc/profile、/etc/bashrc、$HOME/.bashrc等是否有设置。

1.3.7:关闭NetworkManager

#查看NetworkManager状态
[[email protected] ~]# systemctl status NetworkManager.service

#关闭NetworkManager  
[[email protected] ~]# systemctl stop NetworkManager.service

#将NetworkManager 服务设置开机不启动
[[email protected] ~]# systemctl disable NetworkManager.service  

1.3.8:重启系统

[[email protected] ~]# reboot

二、安装前准备

2.1:解压文件

  • 以下操作全部在中控机BlueKing文章来源(Source):https://www.dqzboy.com01服务器上操作
#上传包至服务器并解压程序包到/data目录下
[[email protected] ~]# mkdir /data

#解压后/data目录下有2个目录install 和 src目录
[[email protected] ~]# tar -zxvf bkce_src-5.1.26.tar.gz -C /data/
  • 进入install目录,创建install.conf文件,并输入以下组件;注意GSE所在的服务器地址,然后到对应服务器上获取MAC地址,下面需要获取SSL证书文件,我这里GSE安装在了192.168.66.62这台服务器上
[[email protected] ~]# cd /data/install
[[email protected] install]# vim install.config
[bkce-basic]
192.168.66.60 nginx,rabbitmq,kafka(config),zk(config),es,appt,fta,consul,bkdata(databus)
192.168.66.61 mongodb,appo,kafka(config),zk(config),es,mysql,consul,bkdata(dataapi),beanstalk
192.168.66.62 paas,cmdb,job,gse,license,kafka(config),zk(config),es,redis,influxdb,consul,bkdata(monitor)
[[email protected] ~]# ip a show ens33
腾讯蓝鲸智云平台部署-浅时光博客
腾讯蓝鲸智云平台部署-浅时光博客
#解压ssl证书文件至/data/src/cert/
[[email protected] ~]# tar -xf ssl_certificates.tar.gz -C /data/src/cert/
文章来源(Source):https://www.dqzboy.com

2.2:修改配置

2.2.1:install.conf

install.config 是模块和服务器对应关系的配置文件,描述在哪些机器上安装哪些模块。 每行两列,第一列是IP地址;第二列是以英文逗号分隔的模块名称。

2.2.2:globals.env

  • 该文件定义了各类组件的账号密码信息. 功能开关控制选项等. 可根据实文章来源(Source):https://www.dqzboy.com际情况进行修改
  • 该文件含密码信息,请保证除了root用户外,其他用户不可读。
  • 各类账号密码建议修改, 注意设置的各类密码不能有/ $ < > &等特殊字符
  • 配置HTTP代理: 若公司不能访问外网, 但有自己的 proxy, 在该配置文件的 BK_PROXY 选项中指定代理地址
  • 若需要跨云管理功能(服务器在不同的 IDC, 内网不互通的情况): 需要将 gse 所在机器的外网IP填到该文件中 GSE_WAN_IP 配置项中的括号里 如: export GSE_WAN_IP=(1.2.3.4), 若没有外网IP 则留空
  • HAS_DNS_SERVER 配置默认为0,表示配置的蓝鲸域名需要通过/etc/hosts来解析,此时部署脚本会自动修改每台机器的/etc/hosts添加相关域名。如果想走自己的dns配置,改为非0即可。
  • HTTP_SCHEMA=http 默认HTTP_SCHEMA设置为http即蓝鲸软件全站为http,若设置为https则蓝鲸软件全站为https,可支持http和https的切换。
  • 该配置文件中提供了访问蓝鲸三大平台的域名配置, 需要提前准备好
#下面的域名根据实际情况进行修改为自己的
export BK_DOMAIN="bk.com"                 # 蓝鲸根域名(不含主机名)
export PAAS_FQDN="yppaas.$BK_DOMAIN"     # PAAS 完整域名
export CMDB_FQDN="ypcmdb.$BK_DOMAIN"     # CMDB 完整域名
export JOB_FQDN="ypjob.$BK_DOMAIN"       # JOB 完整域名

[[email protected] install]# vim globals.env
腾讯蓝鲸智云平台部署-浅时光博客
腾讯蓝鲸智云平台部署-浅时光博客
腾讯蓝鲸智云平台部署-浅时光博客
  • 其余默认即可

2.2.3:pip.conf

[[email protected] ~]# vim /data/src/.pip/pip.conf
[[email protected] ~]# curl -I http://mirrors.cloud.tencent.com/pypi/simple
腾讯蓝鲸智云平台部署-浅时光博客

2.3:配置免密

[[email protected] ~]# cd /data/install/
[[email protected] install]# bash configure_ssh_without_pass
  • 根据提示输入各主机的 root 密码完成免密登陆配置
腾讯蓝鲸智云平台部署-浅时光博客

2.4:环境检查

[[email protected] ~]# cd /data/install/
[[email protected] install]# bash precheck.sh
  • 正常如图下所示
腾讯蓝鲸智云平台部署-浅时光博客
  • 如果发现有[FAIL]的报错,按照提示和本文档修复。修复后,可继续跑precheck.sh脚本,直到不再出现[FAIL]。如果需要从头开始检查,请使用 precheck.sh -r 参数

三、开始安装

  • 可以通过以下命令部署全部组件
[[email protected] ~]# cd /data/install
[[email protected] install]# ./install_minibk -y
腾讯蓝鲸智云平台部署-浅时光博客
腾讯蓝鲸智云平台部署-浅时光博客

3.1:安装PaaS平台

  • 该步骤完成后,可以打开 PaaS 平台
[[email protected] ~]# cd /data/install/
[[email protected] install]# ./bk_install paas
......
enter a absolute path [/data/bkce]: #输入安装的位置(我这里默认)
......
腾讯蓝鲸智云平台部署-浅时光博客
腾讯蓝鲸智云平台部署-浅时光博客
腾讯蓝鲸智云平台部署-浅时光博客
  • 下面进行域名解析后即可访问

3.2:安文章来源(Source):浅时光博客装配置平台

  • 该步骤完成后,可以打开配置平台,看到蓝鲸业务及示例业务
[[email protected] install]# ./bk_install cmdb
腾讯蓝鲸智云平台部署-浅时光博客
腾讯蓝鲸智云平台部署-浅时光博客

3.3:安装作业平台

  • 该步骤完成后,可以打开作业平台,并执行作业文章来源(Source):https://www.dqzboy.com。同时在配置平台中可以看到蓝鲸的模块下加入了主机。
[[email protected] install]# ./bk_install job
腾讯蓝鲸智云平台部署-浅时光博客

3.4:安装文章来源(Source):https://www.dqzboy.comAPPO服务

  • 该步骤完成后可以在开发者中心的服务器信息和第三方服务信息中看到已经成功激活的服务器
  • 同时也可以进行 SaaS 应用(除蓝鲸监控和日志检索)的上传部署
[[email protected] install]# ./bk_install app_mgr
腾讯蓝鲸智云平台部署-浅时光博客

3.5:安装数据平台

  • 安装该模块后,可以开始安装使用 SaaS 应用: 蓝鲸监控和日志检索
  • 先安装一些文章来源(Source):https://www.dqzboy.com组件依赖,三台服务器都安装下吧,防止安装失败
[[email protected] install]# yum install mysql-deve snappy-devel

#查找系统中存在的库文件,然后软链至/usr/lib下
[[email protected] install]# find / -name '*mysqlclient*'
[[email protected] install]# ln -s /usr/lib64/mysql/libmysqlclient_r.so /usr/lib/libmysqlclient_r.so

[[email protected] install]# ln -s /usr/lib64/mysql/libmysqlclient.so /usr/lib/libmysqlclient.so

[[email protected] install]# ln -s /usr/lib64/mysql/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

[[email protected] install]# ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib/libmysqlclient.so.18.0.0
  • 中控机执行安装bkdata(192.168.66.60)
[[email protected] install]# ./bk_install bkdata
腾讯蓝鲸智云平台部署-浅时光博客

3.6:安装故障自愈

  • 安装该模块后,可以开始安装使用 SaaS 应用: 故障文章来源(Source):浅时光博客自愈
[[email protected] install]# ./bk_install fta
腾讯蓝鲸智云平台部署-浅时光博客

3.7:重装GSEAgent

  • 重装 gse_agent 并注册正确的集群模块到配置平台
  • 执行完该操作后,可以在配置平台中看到主机按照 install.con文章来源(Source):浅时光博客fig 中的配置分布到对应拓扑下
[[email protected] install]# ./bkcec install gse_agent
腾讯蓝鲸智云平台部署-浅时光博客

3.8:部署官方SaaS

  • 部署官方 SaaS 到正式环境(通过命令行从 /data/src/official_saas/ 目录自动部署 SaaS )
  • 执行完该操作后,可以在蓝鲸工作台看到并使用所有官方 SaaS
  • 执行这步之前,先查看3.9.7的问题,解决了之后在安装
[[email protected] install]#./bkcec install saas-o
腾讯蓝鲸智云平台部署-浅时光博客
文章来源(Source):https://www.dqzboy.com

3.9:部署问题总结

3文章来源(Source):https://www.dqzboy.com.9.1:解析CC错误

  • 问题描述:
    • parse cc respo文章来源(Source):浅时光博客nse error  解析cc错误
  • 解决方案:
#官方给出
[[email protected] install]# source /data/install/utils.fc
[[email protected] install]# cd /data/install
[[email protected] install]# ./bkcec sync all
[[email protected] install]# ./bkcec stop gse
[[email protected] install]# ./bkcec install gse 1
[[email protected] install]# ./bkcec initdata gse

# 再次执行安装
[[email protected] install]# ./install_minibk -y

3.9.2:数据平台安装失败

  • 问题截图:
腾讯蓝鲸智云平台部署-浅时光博客
  • 问题原因:
    • ld找不到对应的库, 确保 mysql-devel 已经安装
  • 解决方案:
[[email protected] install]# yum install mysql-deve

# 查找系统中存在的库文件,然后软链至/usr/lib下
[[email protected] install]# find / -name '*mysqlclient*'
[[email protected] install]# ln -s /usr/lib64/mysql/libmysqlclient_r.so /usr/lib/libmysqlclient_r.so

[[email protected] install]# ln -s /usr/lib64/mysql/libmysqlclient.so /usr/lib/libmysqlclient.so

[[email protected] install]# ln -s /usr/lib64/mysql/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

[[email protected] install]# ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib/libmysqlclient.so.18.0.0

#	然后在重新安装bkdata
[[email protected] install]# ./bk_install bkdata

3.9.3:找不到libmysqlclient.so.20

  • 问题截图:
腾讯蓝鲸智云平台部署-浅时光博客
  • 解决方案
    • 按照3.9.2的解决方案解决

3.9.4:ERROR: init_snapshot_config

  • 问题描述:
    • ERROR: init_snapshot_config (databus.tests.DatabusHealthTestCase)
腾讯蓝鲸智云平台部署-浅时光博客
  • 解决文章来源(Source):浅时光博客方案:
    • 登陆到bkdata机器(社区版 5.1 登陆到 databus 所在机器)查看 consul 配置是否生成 databus.json 配置。
[[email protected] install]# ls /data/bkce/etc/consul.d/bkdata.json

# 若无则重装 consul
[[email protected] install]# ./bkcec stop consul
[[email protected] install]# ./bkcec install consul 1
[[email protected] install]# ./bkcec start consul
[[email protected] install]# ./bkcec status consul

# 登陆到 databus 所在机器查看是否生成 bkdata.json(社区版 5.1 为 bkdata-databus.json,bkdata-dataapi.jsonbkdata-monitor.json)
[[email protected] install]# ls /data/bkce/etc/consul.d/bkdata.json

# 启动 bkdata
[[email protected] install]# ./bkcec start bkdata

3.9.5:ERROR: update_reserved_dataid

  • 问题描述:
    • 安装数据平台报以下错误
      • ERROR: update_reserved_dataid (databus.tests.DatabusHealthTestCase)
腾讯蓝鲸智云平台部署-浅时光博客
  • 问题原文章来源(Source):浅时光博客因:
    • 原因可能是安装 CMDB 时,有报错并且没有正确处理报错和重新初始化 CMDB 导致的
  • 解决方案:
    • 重新初始化无报错,检查cmdb服务正常后,再重新部署bkdata
[[email protected] install]# ./bkcec initdata cmdb
[[email protected] install]# ./bkcec status cmdb
[[email protected] install]# ./bk_install bkdata

3.9.6:升级过程中 upgrade bkdata 报错

  • 问题截图:
腾讯蓝鲸智云平台部署-浅时光博客
  • 问题原因:
    • 由于部分下游产品的需求,要预留部分数据id。
    • 之前是通过在创建表的时候设置AUTO_INCREMENT的参数为2000预留 0~2000段的id。
    • 早版本的MySQL这个配置仅保存在内存中, 重启之后,会将表的这个游标改成max(id)。这块使用上可能就会有歧义,在MySQL 8.0才调整了这文章来源(Source):浅时光博客个策略
    • 所以用户的环境在第一次使用日志检索、蓝鲸监控创建数据之前就重启了mysql实例会遇到这个问题
  • 简单排查方法:
    • 如果存在大于等于2000的id,用户的环境不受影响
mysql> use bk_bkdata_api;
mysql> select * from config_data_couplein where data_id >= 2000;
  • 解决方案:
/data/bkce/bkdata/dataapi/databus/db_helper.py 注释 self.update_bizid(blueking_bizid)该行;目前该配置文件中已经没有该参数

3.9.7:SaaS部署失败

  • 问题描述:
    • 登入到appo所在服务器查看日志发下以下错误提示
      • ERROR: Package ‘setuptools’ requires a different Python: 2.7.9 not in ‘>=3.5’
  • 问题原因:
    • SaaS部署的时候会创建虚拟环境,我们使用的是virtualenv  这个工具。
    • 在创建virtualenv 的时候他本身会去在线安装setuptools最新版本,所以也就导致为什么早部署的可以部署,后面部署的就失败了,因为pypi官网更新了版本,新版本45.0.0开始不支持py2了 
  • 解决方案:
    • 在安装virtualenv 禁止在线去安装就避免这个问题了
    • 后面添加 –no-setuptools 参数,然后保存退出,重新安装SaaS
[[email protected] ~]# vim /data/bkce/paas_agent/paas_agent/etc/build/virtualenv/saas/buildsaas
腾讯蓝鲸智云平台部署-浅时光博客
[[email protected] ~]# rm /data/bkce/paas_agent/apps/Envs/bk_monitor/ -rf
[[email protected] ~]# rm /data/bkce/paas_agent/apps/projects/bk_monitor/ -rf

#然后到中控机重新部署SaaS应用
[[email protected] ~]# ./bkcec install saas-o

四、访问页面

4.1:域名解析

  • windows:修改hosts文件进行域名解析
C:\Windows\System32\drivers\etc\hosts
192.168.66.60 paas.dqz123.com
192.168.66.60 cmdb.dqz123.com
192.168.66.60 job.dqz123.com
  • 注意:登入的用户和密码是配置文件globals.env中设置的;一般用户为admin,密码为自己修改的密码
腾讯蓝鲸智云平台部署-浅时光博客

4.2:PasS后台

  • 浏览器输入  paas.dqz123.com /admin
腾讯蓝鲸智云平台部署-浅时光博客

以上就是蓝鲸智云平台的标准部署的教程,还有我部署时遇到的所有问题的总结和解决方案。

腾讯蓝鲸智云平台部署-浅时光博客
相关文章
暂无相关文章!
0 条回应
    本站已安全运行: | 耗时 0.443 秒 | 查询 99 次 | 内存 22.71 MB