环境准备
官方建议
- 准备至少3台 CentOS 7 以上操作系统的机器
- 最低配置:2核4G
- 建议配置: 4核12G 以上
- 部署前关闭待安装主机之间防火墙,保证蓝鲸主机之间通信无碍
- 部署前关闭SELinux
- 系统的ulimit -n需要大于1024,建议102400以上。
- NTP保持时间同步一致
- 检查系统的umask,建议设为0022
- 主机有 rsync 命令
- 检查系统是否有配置全局的HTTP代理,如果有,部署前先取消。
- 如非特别说明,安装过程中均使用root账号操作
(以下内容在每台主机上都要操作)
#更新软件包 [root@localhost ~]# yum -y update # 安装常用命令 root@localhost ~# yum -y install rsync wget curl vim 关闭防火墙: # 检查SELinux的状态,如果它已经禁用,可以跳过后面的命令 sestatus # 通过命令禁用SELinux setenforce 0 # 或者修改配置文件 sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux #检查默认防火墙状态, 如果返回not running,可以跳过后面的命令 firewall-cmd --state # 停止firewalld systemctl stop firewalld # 禁用firewall开机启动 systemctl disable firewalld # 禁用NetworkManager开机启动 systemctl disable NetworkManager # 停止NetworkManager systemctl stop NetworkManager 调整最大连接数: #检查连接数 ulimit -n #调整连接数 ulimit -n 102400 #修改配置文件添加如下内容 vim /etc/security/limits.d/99-nofile.conf root soft nofile 102400 root hard nofile 102400 同步时间: #查看当前时间 date -R Wed, 30 Jan 2019 12:25:10 +0800 #如时间不一致,需要同步 ntpdate cn.pool.ntp.org 检查是否存在http代理: #蓝鲸服务器之间会有的http请求,如果存在http代理,且未能正确代理这些请求,会发生不可预见的错误。 # 检查http_proxy https_proxy变量是否设置,若为空可以跳过后面的操作 echo "$http_proxy" "$https_proxy" 配置YUM源: mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup yum -y install epel-release yum clean all yum makecache yum -y update
下载安装包
(以下内容任选一台操作)
下载地址: http://bk.tencent.com/download/
将下载的蓝鲸社区版完整包上传到中控机,并解压到 同级 目录下。以解压到/data 目录为例:
mkdir /data tar xf bkce_src-4.1.16.tgz -C /data/
解压之后, 得到两个目录: src, install
- src: 存放蓝鲸产品软件, 以及依赖的开源组件
- install: 存放安装部署脚本、安装时的参数配置、日常运维脚本等
修改配置文件
在 install 目录下, 共有三个配置
- install.config
- globals.env
- ports.env
install.config 主配置文件,用于描述在哪些机器上安装哪些服务。 每行两列,第一列是IP地址;第二列是以英文逗号分隔的服务名称。 详情参考install.config.3IP.sample文件可将install.config.3IP.sample 复制为install.config)
cd /data/install/ mv install.config.3IP.sample install.config vim install.config #根据实际情况协调 10.128.120.231 kafka,zk,es,consul,rabbitmq 10.128.120.232 kafka,zk,es,consul,mysql,beanstalk,mongodb 10.128.120.233 kafka,zk,es,consul,influxdb 10.128.120.237 bkdata,fta,paas,appt,nginx 10.128.120.238 appo,job,cmdb,gse,license,redis
说明:
- 该配置文件,ip 后面使用空格与服务名称隔开,含有多个内网 ip 的机器,默认使用 /sbin/ifconfig 输出中的第一个内网ip, 在 ip 后面写上该机器要安装的服务列表即可, 部署过程中默认使用标准私有地址, 若企业环境使用非标准私有地址, 请参考非标准内网ip处理的处理方法。
- zk 表示 zookeeper, es 表示 elasticsearch
- gse 与 redis 需要部署在同一台机器上
- gse 若需要跨云支持, gse 所在机器必须有外网 IP
- 增加机器数量时, 可以将以上配置中的服务挪到新的机器上。 要保证: kafka, es, zk 的每个组件的总数量为3
该文件定义了各类组件的账号密码信息. 功能开关控制选项等. 可根据实际情况进行修改.
配置项含义, 请查看文件中的注释
- 该文件含密码信息,请保证除了root用户外,其他用户不可读。
- 各类账号密码建议修改, 注意设置的各类密码不能有 / $ ` < > &等特殊字符
- 配置HTTP代理: 若公司不能访问外网, 但有自己的 proxy, 在该配置文件的 BK_PROXY 选项中指定代理地址.
- 若需要跨云管理功能(服务器在不同的 IDC, 内网不互通的情况):
- 若GSE 所在机器不能访问外网, 则需要把 gse 所在机器的外网IP填到该文件中 GSE_WAN_IP 配置项中的括号里 如: export GSE_WAN_IP=(1.2.3.4), 若没有外网IP 则留空
- 若 GSE 所在机器能访问外网, 则配置 export AUTO_GET_WANIP=1 即可
- HAS_DNS_SERVER 配置默认为0,表示配置的蓝鲸域名需要通过/etc/hosts来解析,此时部署脚本会自动修改每台机器的/etc/hosts添加相关域名。如果想走自己的dns配置,改为非0即可。
该配置文件中提供了访问蓝鲸三大平台的域名配置, 需要提前准备好.
[root@localhost install]# vim globals.env # 域名信息 export BK_DOMAIN="bkpro.com" # 蓝鲸根域名(不含主机名) export PAAS_FQDN="paas.$BK_DOMAIN" # PAAS 完整域名 export CMDB_FQDN="cmdb.$BK_DOMAIN" # CMDB 完整域名 export JOB_FQDN="job.$BK_DOMAIN" # JOB 完整域名 export APPO_FQDN="o.$BK_DOMAIN" # 正式环境完整域名 export APPT_FQDN="t.$BK_DOMAIN" # 测试环境完整域名
端口定义。 默认情况下, 不用修改。特殊场景下,若有端口冲突,可以自行定义。
在线安装时,依赖pip,需要配置可用的 pip 源。
vi src/.pip/pip.conf [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple
获取证书
- 通过ifconfig或者ip addr命令获取install.config文件中,license和gse模块所在服务器的第一个内网网卡的MAC地址。如果分别属于两台服务器,那么两个的MAC地址以英文;分隔。
- 在官网证书生成页面根据输入框提示填入MAC地址,生成并下载证书。
上传证书到中控机,并解压到 src/cert 目录下
tar xf ssl_certificates.tar.gz -C /data/src/cert/
配置 SSH 免密登陆
登录到中控机,执行以下操作
cd /data/install bash configure_ssh_without_pass # 根据提示输入各主机的 root 密码完成免密登陆配置
安装前校验环境是否满足
按文档要求做完环境和部署的配置后,准备开始安装前,请运行以下脚本,来校验是否满足:
cd /data/install bash precheck.sh start <> ... [OK] start < > ... [OK] start < > ... [OK] start < > ... [OK] start < > ... [OK] start < > ... [OK] start < > ... [OK] start < > ... [OK] start < > ... [OK] start < > ... [OK]
如果发现有[FAIL]的报错,按照提示和本文档修复。修复后,可继续跑precheck.sh脚本,直到不再出现[FAIL]。如果需要从头开始检查,请使用 precheck.sh -r 参数。
正式部署
环境准备后, 可以开始安装蓝鲸平台。
以下步骤若有报错/失败,需要根据提示修复错误后,在重新执行相同的命令(断点续装)。
每一个步骤执行如果有报错,需要修复错误,保证安装成功后,才可以继续。因为安装蓝鲸平台的顺序是有依赖关系的。 前面的平台没有成功,如果继续往下安装,会遇到更多的报错。修复错误所需要了解的相关命令,请参考维护文档。
模块安装
cd /data/install # 该步骤后,可以打开 paas 平台 ./bk_install paas # 安装paas 平台及其依赖服务 # 该步骤完成后, 可以打开 cmdb, 看到蓝鲸业务及示例业务 ./bk_install cmdb # 安装 cmdb 及其依赖服务 # 该步骤完成后, 可以打开作业平台, 并执行作业 # 同时在配置平台中可以看到蓝鲸的模块下加入了主机 ./bk_install job # 安装作业平台及其依赖组件,并在安装蓝鲸的服务器上装好 gse_agent 供验证 # 该步骤完成后可以在开发者中心的 服务器信息 和 第三方服务信息 中看到已经成功激活的服务器 # 同时也可以进行 saas 应用(除蓝鲸监控和日志检索)的上传部署 ./bk_install app_mgr # 部署正式环境及测试环境 # 安装该模块后,可以开始安 saas 应用: 蓝鲸监控及日志检索 ./bk_install bkdata # 安装蓝鲸数据平台基础模块及其依赖服务 # 安装 fta 后台 ./bk_install fta # 安装故障自愈的后台服务 # 重装一下 gse_agent 并注册正确的集群模块到配置平台 ./bkcec install gse_agent # 部署官方SaaS到正式环境(通过命令行从/data/src/official_saas/目录自动部署SaaS) ./bkcec install saas-o
测试
改一下本地host文件:即可使用。 10.128.120.237 paas.bkpro.com 10.128.120.237 cmdb.bkpro.com 10.128.120.237 job.bkpro.com 在浏览器访问以下链接: http://paas.bkpro.com:80 登陆用户名: admin 登陆密码: xXM7]GI0W