前言
话不多说~直接开干
本文部署的是标准版,即部署在三台机器上,且机房是无法连接外网的,资源全部配置为离线资源
1.环境准备
官方文档
感觉官方文档有些地方说的比较模糊,无法直接按照文档操作,本文罗列了让我疑惑的点以及解决方式
三台机器均需要做一遍配置
1.1配置离线yum源且源包含EPEL
官方文档中提供的镜像文件包含安装所需的所有软件,选择高版本的下载即可(低版本系统可以用高版本的源),且yum源、epel源用一个即可
官方yum源镜像文件,下载链接在最底部
- yum源配置
配置离线yum源
上面的文章是通过ftp的方式配置yum源,镜像文件使用官方给的 - EPEL配置
EPEL
就是额外的安装包,英语不好难死中青年
EPEL需要安装,原系统是没有的,文件名为epel-release-7-12.noarch.rpm
下载地址:https://centos.pkgs.org/从这里面直接搜索下载即可
上传到服务器,执行安装命令rpm -ivh epel-release-7-12.noarch.rpm
切换到配置目录cd /etc/yum.repos.d/
编辑EPEL配置文件vi epel.rpo
,将文件的内容替换即删除掉原来的内容
[epel]
name=epelFtp
//此处即ftp的地址
baseurl=ftp://10.0.5.48/pub
enabled=1
gpgcheck=0
修改完成后记得,更新下缓存,执行以下命令
yum clean all
yum makecache
1.2CentOS系统设置
这步不特殊直接copy过来
我的系统是7.3,修改临时状态不管用,也没有细究,因此采用的是修改配置文件的方式
=========关闭SELinux=========
# 检查 SELinux 的状态,如果它已经禁用,可以跳过后面的命令
sestatus
# 通过命令临时禁用 SELinux
setenforce 0
# 或者修改配置文件 需要重启
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 重启命令
reboot
=========关闭防火墙=========
# 检查默认防火墙状态,如果返回 not running,可以跳过后面的命令
firewall-cmd --state
systemctl stop firewalld # 停止 firewalld
systemctl disable firewalld # 禁用 firewall 开机启动
=========安装 rsync 命令=========
# 检查是否有 rsync 命令,如果有返回 rsync 路径,可以跳过后面的命令(我的系统有自带)
which rsync
# 安装 rsync 上面已经配置了离线yum源直接yum安装就行
yum -y install rsync
=========停止并禁用 NetWorkManager=========
systemctl stop NetworkManager
systemctl disable NetworkManager
=========调整最大文件打开数=========
# 检查当前 root 账号下的 max open files 值
ulimit -n
##开启编辑模式
vi /etc/security/limits.conf
## 直接将下面两行内容放到文件末尾
root soft nofile 102400
root hard nofile 102400
## 重新登录一下账户,执行查看 配置生效
ulimit -n
=========确认服务器时间同步=========
见代码块下方链接,我使用是ntp
=========检查是否存在全局 HTTP 代理=========
# 检查 http_proxy https_proxy 变量是否设置,若为空可以跳过后面的操作。
echo "$http_proxy" "$https_proxy"
ntp时间同步集群搭建
1.3配置文件
文字有点多就不复制了,看官方文档
我只修改了install.config
,即将三个ip改为自己的
1.4获取证书
需要license、gse模块的mac地址
license即主控机,gse即是install.config
配置文件中ip后面带gse的机器,拿到两个机器的mac地址,license地址在前用英文;
隔开,去官网生成即可
文件上传到主控机,然后解压一波
tar xf ssl_certificates.tar.gz -C /data/src/cert/
1.5配置 SSH 免密登陆
cd /data/install
bash configure_ssh_without_pass # 根据提示输入各主机的 root 密码完成免密登陆配置
1.6检查
# 假设你把蓝鲸包解压到data下
cd /data/install
bash precheck.sh
正常结果如下,如果有fail就解决,按照上面操作应该是不会失败的
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]
2.安装
直接按照官方文档的的命令安装,当然很可能报错,可以参见本人经验
cd /data/install
# 安装 PaaS 平台及其依赖服务,该步骤完成后,可以打开 PaaS 平台。
./bk_install paas
# 安装配置平台及其依赖服务,该步骤完成后,可以打开配置平台,看到蓝鲸业务及示例业务。
./bk_install cmdb
# 该步骤完成后,可以打开作业平台,并执行作业。同时在配置平台中可以看到蓝鲸的模块下加入了主机。
# 安装作业平台及其依赖组件,并在安装蓝鲸的服务器上装好 gse_agent 供验证。
./bk_install job
# 部署正式环境及测试环境
# 该步骤完成后可以在开发者中心的服务器信息和第三方服务信息中看到已经成功激活的服务器
# 同时也可以进行 SaaS 应用(除蓝鲸监控和日志检索)的上传部署
./bk_install app_mgr
# 安装蓝鲸数据平台基础模块及其依赖服务。安装该模块后,可以开始安装使用 SaaS 应用: 蓝鲸监控和日志检索
### 安装完有隐藏指令,直接执行隐藏指令即可
./bk_install bkdata
# 安装故障自愈的后台模块及依赖其服务
# 安装该模块后,可以开始安装使用 SaaS 应用: 故障自愈
### 安装完有隐藏指令,直接执行隐藏指令即可
./bk_install fta
# 重装 gse_agent 并注册正确的集群模块到配置平台
# 执行完该操作后,可以在配置平台中看到主机按照 install.config 中的配置分布到对应拓扑下
./bkcec install gse_agent
#部署官方 SaaS 到正式环境(通过命令行从 /data/src/official_saas/ 目录自动部署 SaaS )
# 执行完该操作后,可以在蓝鲸工作台看到并使用所有官方 SaaS
./bkcec install saas-o
3.访问
蓝鲸通讯都是使用的域名,因此在本地访问需要配置host,这个直接百度就行,把用到的域名都加到host就能
正常访问了
安装完paas后就能访问平台了,但没有功能,此时别手贱修改密码,因为后面的模块需要用到admin的密码 --!,且会导致安装失败
4.安装中遇到的问题
我的安装目录在 /opt/ylbzj 下,解决问题时记得换一下
- 在执行
./bk_install app_mgr
时遇到问题
异常如下
Collecting meld3>=0.6.5 (from supervisor)
Installing collected packages: meld3, supervisor
Running setup.py install for supervisor: started
Running setup.py install for supervisor: finished with status 'done'
Successfully installed meld3-1.0.2 supervisor-3.3.3
[10.0.5.48]20200303-101329 233 generate env variable settings.
[10.0.5.48]20200303-101329 151 exec: pip install --no-cache-dir -r requirements.txt (/opt/ylbzj/bkce/paas_agent/paas_agent)
Collecting Django==1.8.11 (from -r requirements.txt (line 1))
Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known',)': /pypi/simple/django/
Retrying (Retry(total=3, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known',)': /pypi/simple/django/
Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known',)': /pypi/simple/django/
Retrying (Retry(total=1, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known',)': /pypi/simple/django/
Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno -2] Name or service not known',)': /pypi/simple/django/
Could not find a version that satisfies the requirement Django==1.8.11 (from -r requirements.txt (line 1)) (from versions: )
No matching distribution found for Django==1.8.11 (from -r requirements.txt (line 1))
[10.0.5.48]20200303-101337 177 pip install (--no-cache-dir ) for paas_agent. FAILED
[10.0.5.48]20200303-101337 47 Abort
解决(咨询的官方技术支持):
# 一次执行一下命令即可解决问题
touch /opt/ylbzj/src/paas_agent/paas_agent/SELF_CONTAINED_PIP_PKG
cd /opt/ylbzj/install/
echo appo appt | xargs -n1 ./bkcec sync
source utils.fc
- 仍然是在执行
./bk_install app_mgr
时遇到问题
Collecting idna<2.9,>=2.5 (from requests==2.21.0->-r requirements.txt (line 3))
Could not find a version that satisfies the requirement idna<2.9,>=2.5 (from requests==2.21.0->-r requirements.txt (line 3)) (from versions: )
No matching distribution found for idna<2.9,>=2.5 (from requests==2.21.0->-r requirements.txt (line 3))
[10.0.5.48]20200303-145115 177 pip install (--no-cache-dir --no-index --find-links=/opt/ylbzj/src/paas_agent/support-files/pkgs) for paas_agent. FAILED
解决:
原因是/opt/ylbzj/src/paas_agent/support-files/pkgs 没有idna-2.8-py2.py3-none-any.whl这个包,从其他文件夹复制过来
cp /opt/ylbzj/src/open_paas/support-files/pkgs/idna-2.8-py2.py3-none-any.whl /opt/ylbzj/src/paas_agent/support-files/pkgs/
- 依旧是在执行
./bk_install app_mgr
时遇到问题
--> Finished Dependency Resolution
Error: Package: [selinux-policy-targeted-3.13.1-229.el7_6.6.noarch](selinux-policy-targeted-3.13.1-229.el7_6.6.noarch) (epel)
Requires: policycoreutils >= 2.5-24
Installed: [policycoreutils-2.5-8.el7.x86_64](policycoreutils-2.5-8.el7.x86_64) (@anaconda)
policycoreutils = [2.5-8.el7](2.5-8.el7)
Error: Package: [selinux-policy-3.13.1-229.el7_6.6.noarch](selinux-policy-3.13.1-229.el7_6.6.noarch) (epel)
Requires: libsemanage >= 2.5-13
Installed: [libsemanage-2.5-4.el7.x86_64](libsemanage-2.5-4.el7.x86_64) (@anaconda)
libsemanage = [2.5-4.el7](2.5-4.el7)
Error: Package: [gcc-gfortran-4.8.5-11.el7.x86_64](gcc-gfortran-4.8.5-11.el7.x86_64) (@anaconda)
Requires: gcc = [4.8.5-11.el7](4.8.5-11.el7)
Removing: [gcc-4.8.5-11.el7.x86_64](gcc-4.8.5-11.el7.x86_64) (@anaconda)
gcc = [4.8.2-16.el7](4.8.2-16.el7)
gcc = [4.8.5-11.el7](4.8.5-11.el7)
Updated By: [gcc-4.8.5-36.el7.x86_64](gcc-4.8.5-36.el7.x86_64) (epel)
gcc = [4.8.5-36.el7](4.8.5-36.el7)
gcc = [4.8.2-16.el7](4.8.2-16.el7)
Error: Package: [libquadmath-devel-4.8.5-11.el7.x86_64](libquadmath-devel-4.8.5-11.el7.x86_64) (@anaconda)
Requires: gcc = [4.8.5-11.el7](4.8.5-11.el7)
Removing: [gcc-4.8.5-11.el7.x86_64](gcc-4.8.5-11.el7.x86_64) (@anaconda)
gcc = [4.8.2-16.el7](4.8.2-16.el7)
gcc = [4.8.5-11.el7](4.8.5-11.el7)
Updated By: [gcc-4.8.5-36.el7.x86_64](gcc-4.8.5-36.el7.x86_64) (epel)
gcc = [4.8.5-36.el7](4.8.5-36.el7)
gcc = [4.8.2-16.el7](4.8.2-16.el7)
Error: Package: [selinux-policy-3.13.1-229.el7_6.6.noarch](selinux-policy-3.13.1-229.el7_6.6.noarch) (epel)
Requires: policycoreutils >= 2.5-24
Installed: [policycoreutils-2.5-8.el7.x86_64](policycoreutils-2.5-8.el7.x86_64) (@anaconda)
policycoreutils = [2.5-8.el7](2.5-8.el7)
You could try using --skip-broken to work around the problem
** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows:
[ipa-client-4.4.0-12.el7.centos.x86_64](ipa-client-4.4.0-12.el7.centos.x86_64) has installed conflicts freeipa-client: [ipa-client-4.4.0-12.el7.centos.x86_64](ipa-client-4.4.0-12.el7.centos.x86_64)
[ipa-client-common-4.4.0-12.el7.centos.noarch](ipa-client-common-4.4.0-12.el7.centos.noarch) has installed conflicts freeipa-client-common: [ipa-client-common-4.4.0-12.el7.centos.noarch](ipa-client-common-4.4.0-12.el7.centos.noarch)
[ipa-common-4.4.0-12.el7.centos.noarch](ipa-common-4.4.0-12.el7.centos.noarch) has installed conflicts freeipa-common: [ipa-common-4.4.0-12.el7.centos.noarch](ipa-common-4.4.0-12.el7.centos.noarch)
解决:
这个是由于yum源中的版本比较低,切换为高版本的yum源即可(还好当时我有一个7.6的yum源,直接切了事)
- 修改域名
第一步:修改 globale.env 中的域名配置信息。
第二步:修改 每台机器上的 /etc/hosts 匹配上新的域名。host文件是安装脚本自动写的,如修改域名需要修改host文件,否则部分业务会出现会掉失败的情况
第三步:修改完成后按如下命令顺序执行:
cd 蓝鲸install目录
./bkcec sync common
echo fta bkdata job cmdb paas nginx | xargs -n 1 ./bkcec stop
echo fta bkdata job cmdb paas nginx | xargs -n 1 ./bkcec render
echo nginx paas cmdb job bkdata fta | xargs -n 1 ./bkcec start
第四部:如果有安装 SaaS ,到 开发者中心->Smart 应用->已上线 的 SaaS 操作栏里的【部署 】按钮,重新【一键部署】 SaaS。记得重新部署否则也会出现调用失败的情况