本次实验环境:Cent OS 7.7_x64 (3台虚拟机)
IP地址:192.168.1.7(中控机) 192.168.1.8 192.168.1.9
蓝鲸完整包5.1.27
基础环境搭建:参考蓝鲸智云文档中心-部署维护完成基础环境的准备工作。
EPEL (Extra Packages for Enterprise Linux) 是由 Fedora Special Interest Group 为企业 Linux 创建、维护和管理的一个高质量附加包集合适用于但不仅限于 Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux (SL), Oracle Linux (OL)。
[root@JSH-01 ~]# cd /etc/yum.repos.d/
[root@JSH-01 yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
# epel(RHEL5系列)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-5.repo
# epel(RHEL6系列)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-6.repo
# epel(RHEL7系列)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
[root@JSH-01 yum.repos.d]# yum clean all
[root@JSH-01 yum.repos.d]# yum makecache
修改配置文件 /etc/selinux/config 内容为: SELINUX=disabled
[root@JSH-01 ~]# vim /etc/selinux/config #修改配置文件(永久生效)——推荐
[root@JSH-01 ~]# setenforce 0 #临时禁用(重启后失效)
[root@JSH-01 ~]# systemctl stop firewalld #停用 firewalld
[root@JSH-01 ~]# systemctl disable firewalld #禁止 firewalld 开机启动
[root@JSH-01 ~]# yum install -y rsync
[root@JSH-01 ~]# systemctl stop NetworkManager #停用 NetworkManager
[root@JSH-01 ~]# systemctl disable NetworkManager #禁止 NetworkManager 开机启动
[root@JSH-01 ~]# cat << EOF >> /etc/security/limits.conf
> root soft nofile 102400
> root hard nofile 102400
> EOF
[root@JSH-02 ~]# ulimit -n #查看当前root账户下 max open files 的值
102400
[root@JSH-01 ~]# date -R #查看每台机器当前时间与时区是否一致,若差别大于3s,建议校时。
[root@JSH-01 ~]# yum install -y ntpdate #安装 ntpdate
[root@JSH-01 ~]# ntpdate -d cn.pool.ntp.org #查看和 ntp server 的时间差,如果输出的最后一行 offset 大于 1s 建议校时。
[root@JSH-01 ~]# ntpdate cn.pool.ntp.org #校时(和 ntp 服务器同步时间)
蓝鲸服务器之间会有的 HTTP 请求,如果存在 HTTP 代理,且未能正确代理这些请求,会发生不可预见的错误。
[root@JSH-01 ~]# echo "$http_proxy" "$https_proxy" #返回值为空,代表未设置全局代理
[root@JSH-01 ~]# lsattr /etc/resolv.conf #检查是否被加密无法修改,检查是否有“i”加密字样
---------------- /etc/resolv.conf
[root@JSH-01 ~]# chattr -i /etc/resolv.conf #如有“i”加密字样,需临时解密处理
● install.config
是模块和服务器对应关系的配置文件,描述在哪些机器上安装哪些模块。(可将 install.config.3IP.sample 复制为 install.config)
● zk 表示 ZooKeeper, es 表示 ElasticSearch。
● gse 与 redis 需要部署在同一台机器上。
● 增加机器数量时,可将配置中的服务挪到新的机器上分担负载。要保证:kafka,es,zk 的每个组件的总数量为 3。
[root@JSH-01 ~]# mkdir /data/ #创建 /data/ 目录
[root@JSH-01 data]# tar -zxvf bkce_src-5.1.27.tar.gz #上传后解压缩
[root@JSH-01 data]# ls #解压后包含 install/ src/ 两个目录
bkce_src-5.1.27.tar.gz install src
[root@JSH-01 data]# cd install/ #进入 install/ 目录
[root@JSH-01 install]# cp install.config.3ip.sample install.config
[root@JSH-01 install]# vim install.config #修改配置文件,指定模块与服务器的对应关系
[bkce-basic]
192.168.1.8 nginx,rabbitmq,kafka(config),zk(config),es,appt,fta,consul,bkdata(databus)
192.168.1.9 mongodb,appo,kafka(config),zk(config),es,mysql,consul,bkdata(dataapi),beanstalk
192.168.1.7 paas,cmdb,job,gse,license,kafka(config),zk(config),es,redis,influxdb,consul,bkdata(monitor)
● 该文件定义了各类组件的账号密码信息。 功能开关控制选项等。可根据实际情况进行修改。
● 该文件含密码信息,请保证除了 root 用户外,其他用户不可读。
● 各类账号密码建议修改,注意设置的各类密码不能有 / $ ` < > & 等特殊字符。
● 该配置文件中提供了访问蓝鲸三大平台的域名配置,需要提前准备好。
# 产品信息含义
# PAAS 集成平台
# CMDB 配置平台
# JOB 作业平台
# GSE 管控平台
# BKDATA 数据平台
## environment variables
# 域名信息
# BK_DOMAIN 的值不能为 "com" "net" 这种顶级域名,至少二级域名开始
# PAAS_FQDN、CMDB_FQDN、JOB_FQDN 的值都必须在 BK_DOMAIN 定义的根域名之下,保证登陆鉴权的 cookie 文件有效
export BK_DOMAIN="bk.com" # 蓝鲸根域名(不含主机名)
export PAAS_FQDN="paas.$BK_DOMAIN" # PAAS 完整域名
export CMDB_FQDN="cmdb.$BK_DOMAIN" # CMDB 完整域名
export JOB_FQDN="job.$BK_DOMAIN" # JOB 完整域名
export DOCS_FQDN="docs.$BK_DOMAIN" # 私有文档准备
export APPO_FQDN="o.$BK_DOMAIN" # 正式环境完整域名
export APPT_FQDN="t.$BK_DOMAIN" # 测试环境完整域名
端口定义。默认情况下,不用修改。特殊场景下,若有端口冲突,可以自行定义。
在线安装时依赖 pip ,需要配置可用的 pip 源。可以查看默认的pip源,并curl
在每台机器上对 pip.conf
中配置的 url 进行操作:curl http://xxxxxxx
,若能正常返回列表信息则为成功。
[root@JSH-01 src]# ls -a
. bkdata cert ENTERPRISE gse license miniweb open_paas .pip VERSION
.. blueking.env cmdb fta job MD5 official_saas paas_agent service
[root@JSH-01 src]# vim /data/src/.pip/pip.conf
[global]
index-url = http://mirrors.cloud.tencent.com/pypi/simple
trusted-host = mirrors.cloud.tencent.com
[root@JSH-01 src]# curl http://mirrors.cloud.tencent.com/pypi/simple
302 Found
302 Found
nginx
通过 ifconfig
或者 ip addr
命令获取在配置文件 /data/install/install.config 中部署 license 和 gse 模块所在服务器的第一 个内网网卡的 MAC 地址。如果分别属于两台服务器,那么两个的 MAC 地址以英文;分隔。
证书生成地址:https://bk.tencent.com/download_ssl/
本实验环境中,在主机名为 JSH-01 、IP地址为 192.168.1.7 中部署 license 和 gse 模块。
本实验环境中,主机名为 JSH-01 、IP地址为192.168.1.7 为中控机。
[root@JSH-01 cert]# cd /data/install #进入中控机 /data/install/ 目录
[root@JSH-01 install]# bash configure_ssh_without_pass #运行脚本,根据提示输入 root用户密码
Generating public/private rsa key pair.
Created directory '/root/.ssh'.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:tzBXJNFvCoXTY4vipgFdlJU+busADHwIWQVhFjpJ9MU root@JSH-01
The key's randomart image is:
+---[RSA 2048]----+
| .+oB*o..o+*. |
| ..O oE o +o* |
| + =... . =.+ |
| ..+. . =.. o |
| .o.Sooo o |
| ..o=o.. |
| +.... |
| . .. |
| .. |
+----[SHA256]-----+
Warning: Permanently added '192.168.1.8' (ECDSA) to the list of known hosts.
Warning: Permanently added '192.168.1.9' (ECDSA) to the list of known hosts.
[email protected]'s password: #输入 root 密码并回车
Warning: Permanently added '192.168.1.7' (ECDSA) to the list of known hosts.
[email protected]'s password: #输入 root 密码并回车
做完步骤 3.1--3.14 的操作后,运行以下脚本,来校验是否满足,如果发现有 [FAIL] 的报错,按照错误提示进行修复。修复后,可继续跑 precheck.sh 脚本,直到不再出现 [FAIL]。
[root@JSH-01 cert]# cd /data/install
[root@JSH-01 install]# bash precheck.sh
start <> ... [OK]
start <> ... [OK]
start <> ... [OK]
start <> ... [OK]
start <> ... [OK]
start <> ... [OK]
start <> ... [OK]
start <> ... [OK]
start <> ... [OK]
start <> ... [OK]
start <> ... [OK]
start <> ... [OK]
start <> ... [OK]
start <> ... [OK]
start <> ... [OK]