蓝鲸智云 5.1.29 搭建

2020/11/15 Linux

蓝鲸智云 5.1.29 搭建

由于官方的安装指导文件更新于 2020-01-20,而 5.1.29 的安装包则是 2020-09-27 释出的,所以安装过程中会有坑,这里会对整个安装过程进行记录。

获取安装包并检验MD5码

axel https://bkopen-1252002024.file.myqcloud.com/ce/bkce_src-6.0.0.tgz -n 10 --output=/root/bkce_src-6.0.0.tgz
md5sum /root/bkce_src-6.0.0.tgz

操作系统配置

1. yum 源更新

# centos7 为基准
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
yum clean all
yum makecache

# centos7 epel
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
yum clean all
yum makecache

2. 关闭 SELinux

# 检查 SELinux 的状态,如果它已经禁用,可以跳过后面的命令
sestatus

# 通过命令临时禁用 SELinux
setenforce 0
# 或者修改配置文件
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
reboot

3. 关闭默认防火墙(firewalld)

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

systemctl stop firewalld    # 停止 firewalld
systemctl disable firewalld # 禁用 firewall 开机启动

4. 安装 rsync 命令

# 检查是否有 rsync 命令,如果有返回 rsync 路径,可以跳过后面的命令
which rsync

# 安装 rsync
yum -y install rsync

5. 停止并禁用 NetWorkManager

# 检查 NetworkManager 运行状态
systemctl status NetworkManager

# 关闭并禁用 NetworkManager 
systemctl stop NetworkManager
systemctl disable NetworkManager

6. 调整最大文件打开数

# 检查当前 root 账号下的 max open files 值
ulimit -n

# 备份之前的配置文件
cp /etc/security/limits.conf /etc/security/limits.conf.bak

# 增加配置信息
cat << EOF >> /etc/security/limits.conf
root soft nofile 102400
root hard nofile 102400
EOF

7. 确认服务器时间同步

# 检查每台机器当前时间和时区是否一致,若相互之间差别大于3s(考虑批量执行时的时差),建议校时。
date -R

# 查看和ntp server的时间差异(需要外网访问,如果内网有ntpd服务器,自行替换域名为该服务的地址)
ntpdate -d cn.pool.ntp.org

如果输出的最后一行 offset 大于 1s 建议校时。

# 和 ntp 服务器同步时间
ntpdate cn.pool.ntp.org

# 使用 ntpd 进行时间同步
http://xstarcd.github.io/wiki/sysadmin/ntpd.html

8. 检查 resolv.conf 是否有修改权限

检查 /etc/resolv.conf 是否被加密无法修改(即便是 root),执行如下命令,检查是否有“i”加密字样:

lsattr /etc/resolv.conf
----i--------e-- /etc/resolv.conf

如果有则执行命令,临时解密处理,执行如下命令:

chattr -i /etc/resolv.conf

需要注意,在 resolv.conf 配置文件的首行,即第一个DNS地址需为 127.0.0.1,如下所示:

nameserver 127.0.0.1
nameserver 192.168.1.100
nameserver 192.168.2.100

备注说明:resolv 配置文件无需人工修改内容,后续安装脚本会自动为主机进行配置 127.0.0.1,因此只需检查是否允许修改即可。关于首行需要 127.0.0.1,这是由于后面蓝鲸内部组件的调用所需,域名通过 consul 解析,会探测服务运行状态,然后返回IP地址, 例如访问 es,那么内部需要解析 es.service.consul 等,若首行不是 127.0.0.1,否则这些域名就通过外网去解析,无法返回正确的响应,导致服务运行异常,或者 SaaS 无法正常打开等情况。

程序安装

1. 解压

tar xf bkce_src-6.0.0.tgz -C /data

2. 写配置文件

  • install.config 模块和服务器对应关系的配置文件,描述在哪些机器上安装哪些模块
  • globals.env 定义了各类组件的账号密码信息。 功能开关控制选项等。
  • ports.env 端口定义。默认情况下,不用修改。

由于目前使用单机部署,所以只需要重点关注 globals.env 。

# /data/install/globals.env
shopt -s nullglob
        source $f
    done
fi
        source $f
    done
fi
shopt -u nullglob
export HTTP_SCHEMA='https'
export HAS_DNS_SERVER=0
export UPDATE_HOST_NAME=0
export MYSQL_PASS='abcdefg'
export REDIS_PASS='abcdefg'
export MQ_USER=admin
export MQ_PASS='abcdefg'
export ZK_USER=bkzk
export ZK_PASS='abcdefg'
export PAAS_ADMIN_USER=admin
export PAAS_ADMIN_PASS='abcdefg'
export GSE_AGENT_HOME=/usr/local/gse
export GSE_WIN_AGENT_HOME='C:\\\\gse'
export GSE_WIN_AGENT_DATA_DIR='C:\\\\gse\\\\data'
export GSE_WIN_AGENT_LOG_DIR='C:\\\\gse\\\\logs'
export GSE_AGENT_RUN_DIR=/var/run/gse
export GSE_AGENT_DATA_DIR=/var/lib/gse
export GSE_AGENT_LOG_DIR=/var/log/gse
export BIZ_ID=0
export AUTO_GET_WANIP=0
export NFS_UID=10086
export NFS_GID=10087
export SHARED_STORAGE_TYPE="nfs"
export GSE_WAN_IP=()
export NGINX_WAN_IP=()
export PYPI_SOURCE='pypi.douban.com'
export BK_TIMEZONE="Asia/Shanghai"
export BK_PROXY=
export IMAGE_NAME='bkbase/python:1.0'
export JAVA_IMAGE_NAME='bkbase/java:1.0'
export APPMGR_SOURCE=src
export RUN_MODE='prod'

3. 配置 pip 源

一般源码已经配置好了。

vim /data/src/.pip/pip.conf

[global]
index-url = https://mirrors.cloud.tencent.com/pypi/simple
trusted-host = mirrors.cloud.tencent.com

4. 获取证书

  • 通过 ifconfig 或者 ip addr 命令获取 install.config 文件中,license 和 gse 模块所在服务器的第一个内网网卡的 MAC 地址。如果分别属于两台服务器,那么两个的 MAC 地址以英文;分隔。
  • 在官网 证书生成页面 根据输入框提示填入 MAC 地址,生成并下载证书。
  • 上传证书到中控机,并解压到 src/cert 目录下。
tar xf ssl_certificates.tar.gz -C /data/src/cert/

5. 执行安装

如果部署全部组件,请执行:

$ cd /data/install
$ ./install_minibk -y

如果按需部署,假设只需要 PaaS,CMDB,JOB 平台,请执行:

$ cd /data/install
$ ./install_minibk
$ ./bk_install paas && ./bk_install cmdb && ./bk_install job

安装过程遇到的问题

安装时间记录:

  • 开始时间:14:00
  • 结束时间:14:58

/usr/bin/ld: cannot find -lmysqlclient

ln -s /usr/lib64/mysql/libmysqlclient_r.so /usr/lib/libmysqlclient_r.so
ln -s /usr/lib64/mysql/libmysqlclient.so /usr/lib/libmysqlclient.so
ln -s /usr/lib64/mysql/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib/libmysqlclient.so.18.0.0

/usr/local/gse/agent/bin/gsectl: line 19: ip: command not found

sed -i 's#ip addr#/usr/sbin/ip addr#' /usr/local/gse/agent/bin/gsectl

ERROR deploy failed: timeout

重新执行 ./install_minibk -y

Search

    Table of Contents