腾讯蓝鲸智云平台部署

1、环境准备

单机部署:官方建议硬件要求为 4C/16G 以上

1 台 4 核 16G2 台 4 核 8G

1.1:获取安装包

官方建议新装环境及新用户建议下载完整包使用

1.2:系统环境设置

官方建议:要求 CentOS-7.0 以上版本,推荐 CentOS-7.5安装一些常用命令

[root@localhost ~]# yum install vim lrzsz net-tools ntp wget

1.2.1:关闭 selinux

#查看selinux状态 [root@localhost ~]# sestatus #关闭selinux [root@localhost ~]# setenforce 0 #修改配置文件 [root@localhost ~]# sed -ri s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config

1.2.2:重启系统

[root@localhost ~]# reboot

1.2.3:安装 rsync

# 检查是否有rsync命令,如果有返回rsync路径,可以跳过后面的命令 [root@localhost ~]# which rsync # 安装rsync [root@localhost ~]# yum -y install rsync

1.2.4:关闭防火墙

# 检查默认防火墙状态, 如果返回not running,可以跳过后面的命令 [root@localhost ~]# firewall-cmd --state #停止并禁用firewalld: [root@localhost ~]# systemctl stop firewalld # 停止firewalld [root@localhost ~]# systemctl disable firewalld# 禁用firewall开机启动

1.2.5:调整最大文件打开数

# 检查当前root账号下的max open files值 [root@localhost ~]# ulimit -n #如果为默认的1024,建议通过修改配置文件调整为或更大。 [root@localhost ~]# vim /etc/security/limits.d/99-nofile.conf root soft nofile root hard nofile 这里使用的单独的配置文件覆盖/etc/security/limits.conf默认值的方式,请根据系统环境自行调整。 修改后,重新使用root登录检查是否生效 [root@localhost ~]# su [root@localhost ~]# ulimit -n

1.2.6:时间同步

服务器后台时间不同步会对时间敏感的服务带来不可预见的后果。务必在安装和使用蓝鲸时保证时间同步。

# 检查每台机器当前时间和时区是否一致,若相互之间差别大于3s(考虑批量执行时的时差),建议校时。 [root@localhost ~]# yum -y install ntp [root@localhost ~]# date -R # 查看和ntp server的时间差异(需要外网访问,如果内网有ntpd服务器,自行替换域名为该服务的地址) [root@localhost ~]# ntpdate -d cn.pool.ntp.org #如果输出的最后一行offset大于1s建议校时 #和ntp服务器同步时间 [root@localhost ~]# ntpdate cn.pool.ntp.org

1.2.7:检查是否存在全局 HTTP 代理

蓝鲸服务器之间会有的 http 请求,如果存在 http 代理,且未能正确代理这些请求,会发生不可预见的错误。

#检查http_proxy https_proxy变量是否设置,若为空可以跳过后面的操作 [root@localhost ~]# echo "$http_proxy" "$https_proxy" 对于本机配置http_proxy变量的方式,请依次查找文件/etc/profile、/etc/bashrc、$HOME/.bashrc等是否有设置。

1.2.8:关闭 NetworkManager

#查看NetworkManager状态 [root@localhost ~]# systemctl status NetworkManager.service #关闭NetworkManager [root@localhost ~]# systemctl stop NetworkManager.service #将NetworkManager 服务设置开机不启动 [root@localhost ~]# systemctl disable NetworkManager.service

1.3:配置 YUM 源

1.3.1:获取 BASE 源

#备份默认源 [root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #获取网络源 [root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo #更新缓存 [root@localhost ~]# yum clean all [root@localhost ~]# yum makecache

1.3.2:获取 EPEL 源

[root@localhost ~]# wget -O /etc/yum.repos.d/epel.repo #更新缓存 [root@localhost ~]# yum clean all [root@localhost ~]# yum makecache

1.4:获取证书

通过命令得到本机的 MAC 地址,然后复制到上面网址中进行下载证书文件

2、安装前准备

2.1:解压程序包

#上传包至服务器并解压程序包到/data目录下 [root@localhost ~]# mkdir /data [root@localhost ~]# tar -xf bkce_src-5.0.4.tar.gz -C /data/ #解压后/data目录下有2个目录install 和 src目录 #解压ssl证书文件 [root@localhost ~]# tar -xf ssl_certificates.tar.gz -C /data/src/cert/

2.2:修改配置文件

2.2.1:install.conf

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

[root@localhost ~]# cd /data/install/ [root@localhost install]# cp install.config.3IP.sample install.config [root@localhost install]# vim install.config

2.2.2:globals.env

该文件定义了各类组件的账号密码信息. 功能开关控制选项等. 可根据实际情况进行修改该文件含密码信息,请保证除了 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 完整域名 [root@localhost install]# vim globals.env

其余默认即可

2.2.3:pip.conf

[root@localhost ~]# vim /data/src/.pip/pip.conf [root@localhost ~]# curl -I

2.3:配置免密登入

[root@localhost ~]# cd /data/install/ [root@localhost install]# bash configure_ssh_without_pass# 根据提示输入各主机的 root 密码完成免密登陆配置

2.4:安装前检查环境

[root@localhost ~]# cd /data/install/ [root@localhost install]# bash precheck.sh 正常如图下所示554 x 244如果发现有[FAIL]的报错,按照提示和本文档修复。修复后,可继续跑 precheck.sh 脚本,直到不再出现[FAIL]。如果需要从头开始检查,请使用 precheck.sh -r 参数

3、开始安装

3.1:执行安装

[root@localhost ~]# mkdir /usr/local/blueking [root@localhost ~]# cd /data/install/ [root@localhost install]# ./install_minibk -y …… enter a absolute path [/data/bkce]: /usr/local/blueking #输入安装的位置 directory /usr/local/blueking exists, are you sure to install blueking suite to /usr/local/blueking (y/n)? y

出现错误:parse cc response error 解析 cc 错误解决方案:官方给出[root@localhost ~]# source /data/install/utils.fc [root@localhost ~]# cd /data/install [root@localhost install]# ./bkcec sync all [root@localhost install]# ./bkcec stop gse [root@localhost install]# ./bkcec install gse 1 [root@localhost install]# ./bkcec initdata gse 再次执行安装[root@localhost install]# ./install_minibk -y

4、访问页面

windows:修改 hosts 文件进行域名解析C:\Windows\System32\drivers\etc\hosts192.168.66.35 localhost.localdomain192.168.66.35 paas.bk.com192.168.66.35 cmdb.bk.com192.168.66.35 job.bk.com192.168.66.35 rbtnode1

注意:登入的用户和密码是配置文件 globals.env 中设置的一般用户为 admin,密码为自己修改的密码

5、网络管理部署

5.1:下载插件包

下载部署第三方的网络管理平台

插件包地址 https://bk.tencent.com/download_sdk/

5.2:解压安装

#先执行下环境变量文件 [root@rbtnode1 ~]# source /data/install/globals.env #上传插件包进行解压安装 [root@rbtnode1 ~]# tar xf bknetwork.tgz -C /data/src/ [root@rbtnode1 ~]# tar xf /data/src/bknetwork/bknetwork-3.6.1.tgz-C/data/src/ [root@rbtnode1 ~]# rsync -a /data/src/bknetwork/install//data/install/

5.3:根据实际情况修改域名

根据实际情况修改中控机/data/install/third/globals_bknetwork.env 网络管理域名等信息

5.4:部署网络管理

[root@rbtnode1 ~]# cd /data/install/ [root@rbtnode1 install]# ./bkco_install bknetwork

5.5:win 系统添加域名解析

windows:修改 hosts 文件进行域名解析C:\Windows\System32\drivers\etc\hosts192.168.66.35 bknetwork.bk.com

5.6:访问页面

http://bknetwork.bk.com

554 x 242

6、部署 CICD 插件

6.1:下载插件包和脚本

https://bk.tencent.com/download_sdk/

6.2:解压安装

[root@rbtnode1 ~]# tar -xf bkce_cicdkit-1.0.0.tgz -C /data [root@rbtnode1 ~]# tar -xf install_ce-cicdkit_fix-1.0.2.tar -C /data

注意:安装 CICDKit 的机器可用配置不能低于 4C8G,系统版本不能低于 Centos7.0,建议单独一台机器部署

6.3:修改配置

中控机 install/third/globals_cicdkit.env 域名信息(CICDKIT_FQDN)install.config 新增 cicdkit 及其依赖的 mysql5.7 的配置[root@rbtnode1 install]# vim install.config 192.168.66.36 mysql57,cicdkit

6.4:安装 CICDKit 后台

#先刷新一下环境变量 [root@rbtnode1 install]# source globals.env [root@rbtnode1 install]# source /data/install/third/globals_cicdkit.env #设置免密,拷贝秘钥: [root@rbtnode1 install]# ssh-copy-id [email protected] #执行数据拷贝至cicd服务器 [root@rbtnode1 install]# ./bkcec sync all #安装CICDKit [root@rbtnode1 install]# ./bkco_install cicdkit

[root@rbtnode1 ~]# source /data/install/utils.fc [root@rbtnode1 install]# echo $CICDKIT_FQDN cicdkit.bk.com [root@rbtnode1 install]# vim /etc/hosts 10.18.198.92 cicdkit.bk.com #重启进程 [root@rbtnode1 install]# ./bkcec stop cicdkit self [root@rbtnode1 install]# ./bkcec start cicdkit self

6.5:部署 cicdkit-saas

#下载 cicdkit-saas 包

#从 paas 页面中进入开发者中心进行部署

6.6:访问页面

7、服务器重启后的操作

确认 /etc/resolv.conf 里第一个 nameserver 是 127.0.0.1,option 选项不能有 rotate检查重启机器的 crontab,是否有自动拉起进程的配置 crontab -l | grep process_watch,重启后的自动拉起主要靠 crontab中控机上确认所有进程状态:./bkcec status all, 正常情况下应该都是正常拉起 RUNNING 状态,如果有 EXIT 的,则尝试手动拉起。手动拉起的具体方法参考组件的启动停止 #start_stop如果社区版所有机器同时重启,很大概率会有很多进程启动失败,因为不同机器上组件恢复的时间没法控制,导致依赖的组件还没启动起来,导致失败,连锁反应。所以这种情况,遵循和安装时的启动原则:先启动 db启动依赖的其他开源组件及服务启动蓝鲸产品如果已经部署过 SaaS,那么手动拉起。[root@rbtnode1 ~]# cd /data/install/ [root@rbtnode1 install]# ./bkcec start saas-o # 正式环境 [root@rbtnode1 install]# ./bkcec start saas-t # 测试环境 #检查所有服务启动状态,全为RUNNING为正常,如有EXIT则手动拉起 [root@rbtnode1 install]# ./bkcec status all #手动拉起某个服务,例如 [root@rbtnode1 install]# ./bkcec start bknetwork [root@rbtnode1 install]# ./bkcec status bknetwork

8、离线安装 Agent

8.1:离线准备

下载好 ISO 镜像文件,地址如下,此 iso 镜像已经包含了安装 agent 所需的软件挂载到每台机器上:

mkdir -p /mnt/centos7 mount/dev/sr0 /mnt/centos7

8.2:配置离线 repo

Vim /etc/yum.repos.d/offline-centos7.repo [offline-centos7] name=Bk repo baseurl=file:///mnt/centos7 enabled=1 gpgcheck=0

8.3:更新缓存

yum clean all yum makecache yum repolist

8.4:在节点配置中添加 Agent 即可

9、常见问题总结

9.1:zookpeer 启动失败

检查日志存在脏数据,日志路径 [root@rbtnode1 ~]# rm -rf /安装目录/public/zk/data/version-2/ [root@rbtnode1 ~]# rm -rf /安装目录/public/zk/datalog/version-2/ [root@rbtnode1 ~]# cd /data/install [root@rbtnode1 install]#./bkcec start zk [root@rbtnode1 install]#./bkcec status zk

9.2:GSE 启动失败

重启gse [root@rbtnode1 ~]# cd /data/install [root@rbtnode1 install]#./bkcec stop gse [root@rbtnode1 install]#./bkcec initdata gse [root@rbtnode1 install]#./bkcec start gse [root@rbtnode1 install]#./bkcec status gse

9.3:重启服务后访问 SaaS 应用都报 502

原因:重启服务后有残余进程解决方案:在开发者中心将这些应用重新部署

10、如何给一个 SaaS 应用加白名单

官方文档:https://bk.tencent.com/s-mart/community/question/569

11、手动卸载各节点 Agent

登入到各个管控节点服务器,然后执行下面的操作停gse_agent: [root@node1 ~]# /usr/local/gse/agent/bin/gsectl stop 停采集器: [root@node1 ~]# cd /usr/local/gse/plugins/bin/ && ./stop.sh basereport 删除GSE相关目录 [root@node1 ~]# rm -rf /usr/local/gse/ /var/log/gse/ /var/run/gse/ /var/lib/gse/

本文参考腾讯蓝鲸智云官方部署文档