1、下载蓝鲸智云稳定版本的tgz包
下载地址: https://bk.tencent.com/download/
2、根据安装步骤,检查SELinux已经防火墙
sestatus命令查看SELinux是否已经关闭,没有关闭则要关闭
可以修改/etc/sysconfig/selinux文件,然后把其中的内容设置为disable
3、安装rsync命令
先检查是否安装,如果未安装则安装
# 检查是否有rsync命令,如果有返回rsync路径,可以跳过后面的命令
$ which rsync
# 安装rsync
$ yum -y install rsync
4、关闭默认防火墙
安装和运行蓝鲸时,模块之间互相访问的端口策略较多,建议对蓝鲸后台服务器之间关闭防火墙
# 检查默认防火墙状态, 如果返回not running,可以跳过后面的命令
firewall-cmd --state
停止并禁用firewalld:
systemctl stop firewalld # 停止firewalld
systemctl disable firewalld # 禁用firewall开机启动
5、调整最大文件打开数
一般情况下root用户数量都是没限制的
# 检查当前root账号下的max open files值
ulimit -n
如果为默认的1024,建议通过修改配置文件调整为102400或更大。
cat <<EOF > /etc/security/limits.d/99-nofile.conf
root soft nofile 102400
root hard nofile 102400
EOF
这里使用的单独的配置文件覆盖/etc/security/limits.conf默认值的方式,请根据系统环境自行调整。
修改后,重新使用root登录检查是否生效
6、确认时间
服务器后台时间不同步会对时间敏感的服务带来不可预见的后果。务必在安装和使用蓝鲸时保证时间同步。
# 检查每台机器当前时间和时区是否一致,若相互之间差别大于3s(考虑批量执行时的时差),建议校时。
date -R
# 查看和ntp server的时间差异(需要外网访问,如果内网有ntpd服务器,自行替换域名为该服务的地址)
ntpdate -d cn.pool.ntp.org
如果输出的最后一行offset大于1s建议校时
# 和ntp服务器同步时间
ntpdate cn.pool.ntp.org
更可靠的方式包括通过运行ntpd或者chrony等服务在后台保持时间同步。具体请参考官方文档使用ntpd配置NTP或使用chrony配置NTP
7、检查是否存在全局HTTP代理
蓝鲸服务器之间会有的http请求,如果存在http代理,且未能正确代理这些请求,会发生不可预见的错误
# 检查http_proxy https_proxy变量是否设置,若为空可以跳过后面的操作
$ echo "$http_proxy" "$https_proxy"
如果输入后没有信息,是没有配置,不需要去修改
对于本机配置http_proxy变量的方式,请依次查找文件/etc/profile、/etc/bashrc、$HOME/.bashrc等是否有设置。 或者咨询网络管理员/IT部门协助处理。
在这些主机中,选择任意一台机器作为蓝鲸的运维中控机。之后的安装命令执行,如果没有特别说明,均在这台中控机上执行。
将下载的蓝鲸社区版完整包上传到中控机,并解压到 同级 目录下。以解压到/data
目录为例:
tar xf bkce_src-5.0.3.tar.gz -C /data
解压之后, 得到两个目录: src, install
- src: 存放蓝鲸产品软件, 以及依赖的开源组件
- install: 存放安装部署脚本、安装时的参数配置、日常运维脚本等
8、配置yum源
建议配置腾讯提供的yum源,如果yum源没配置,可能会安装某个软件的时候安装不上
在所有蓝鲸服务器上配置好 yum 源,要求该 yum 源包含 EPEL。
不能连外网YUM源的环境, 可以配置一个内部的 yum 源 或者本地 YUM 源
腾讯CentOs
https://mirrors.cloud.tencent.com/help/centos.html
腾讯云EPEL
https://mirrors.cloud.tencent.com/help/epel.html
在 install 目录下, 共有三个配置
- install.config
- globals.env
- ports.env
9、一般情况下要修改install.config配置文件
单机安装,我选择了所有的几个配置的IP都是同一个
install.config
是模块和服务器对应关系的配置文件,描述在哪些机器上安装哪些模块。 每行两列,第一列是IP地址;第二列是以英文逗号分隔的模块名称。 详情参考install.config.3IP.sample
文件(可将install.config.3IP.sample 复制为install.config)
10.0.1.1 nginx,appt,rabbitmq,kafka,zk,es,bkdata,consul,fta
10.0.1.2 mongodb,appo,kafka,zk,es,mysql,beanstalk,consul
10.0.1.3 paas,cmdb,job,gse,license,kafka,zk,es,redis,consul,influxdb
说明:
- 该配置文件,ip 后面使用空格与服务名称隔开,含有多个内网 ip 的机器,默认使用 /sbin/ifconfig 输出中的第一个内网ip, 在 ip 后面写上该机器要安装的服务列表即可, 部署过程中默认使用标准私有地址, 若企业环境使用非标准私有地址, 请参考非标准内网ip处理的处理方法。
- zk 表示 zookeeper, es 表示 elasticsearch
- gse 与 redis 需要部署在同一台机器上
- gse 若需要跨云支持, gse 所在机器必须有外网 IP
- 增加机器数量时, 可以将以上配置中的服务挪到新的机器上,分担负载。 要保证: kafka, es, zk 的每个组件的总数量为3
globals.env
该文件定义了各类组件的账号密码信息. 功能开关控制选项等. 可根据实际情况进行修改.
配置项含义, 请查看文件中的注释
- 该文件含密码信息,请保证除了root用户外,其他用户不可读。
- 各类账号密码建议修改, 注意设置的各类密码不能有 / $ ` < > &等特殊字符
- 配置HTTP代理: 若公司不能访问外网, 但有自己的 proxy, 在该配置文件的 BK_PROXY 选项中指定代理地址.
- 若需要跨云管理功能(服务器在不同的 IDC, 内网不互通的情况):
- 需要将 gse 所在机器的外网IP填到该文件中 GSE_WAN_IP 配置项中的括号里 如:
export GSE_WAN_IP=(1.2.3.4)
, 若没有外网IP 则留空
- 需要将 gse 所在机器的外网IP填到该文件中 GSE_WAN_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="paas.$BK_DOMAIN" # PAAS 完整域名
export CMDB_FQDN="cmdb.$BK_DOMAIN" # CMDB 完整域名
export JOB_FQDN="job.$BK_DOMAIN" # JOB 完整域名
说明:
- BK_DOMAIN的值不能为"com" "net" 这种顶级域名, 至少二级域名开始。
- FQDN的选择需要遵循DNS的命名规范,可选的字符集是[A-Za-z0-9.]以及"-", 特别要注意,下划线(_)是不允许的。
- PAAS_FQDN CMDB_FQDN JOB_FQDN的值都必须在BK_DOMAIN定义的根域名之下,保证登陆鉴权的cookie文件有效。
获取证书
- 通过
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
完成以上操作后,安装软件,安装过程有点长,耐心等待完成就可以
其实安装的步骤最好根据蓝鲸智云的安装文档去填写是最好的,有问题也可以添加群去咨询一般就不会出错
二、单机安装
环境准备
- 准备一台 CentOS 7 以上操作系统的机器(物理机和虚拟机均可)
- 按照安装环境准备章节中,主机和系统环境的要求做好相应设置
- 配置好 yum 源,包含 epel 仓库(可以通过
yum info nginx
测试下) - 从官网下载完整包,并解压到/data/下
$ tar xf bkce_src-5.0.3.tar.gz -C /data
获取机器的MAC地址后,下载证书文件: http://bk.tencent.com/download/#ssl, 解压到 src/cert 目录下
$ tar xf ssl_certificates.tar.gz -C /data/src/cert
-
配置参数
- install.config 这个文件安装脚本会自动生成,无需自行配置
- globals.env 重点关注域名和GSE外网IP相关的配置,详情参考 安装环境准备章节中 配置参数一节
- ports.env 一般不用修改
-
执行安装
$ cd /data/install
$ ./install_minibk -y
如果按需部署,假设只需要paas,cmdb,job平台,请执行:
$ cd /data/install
$ ./install_minibk
$ ./bk_install paas && ./bk_install cmdb && ./bk_install job
访问蓝鲸
根据 install/globals.env
里配置的PaaS域名(PAAS_FQDN)、账号(PAAS_ADMIN_USER)、密码(PAAS_ADMIN_PASS)信息,登录访问(若域名没设置 DNS 解析,需配置本机 hosts)
export BK_DOMAIN="xxx.com"
export PAAS_FQDN="paas.$BK_DOMAIN"
export CMDB_FQDN="cmdb.$BK_DOMAIN"
export JOB_FQDN="job.$BK_DOMAIN"
- 账号信息
-
export PAAS_ADMIN_USER=admin export PAAS_ADMIN_PASS="xxx"
日常维护和运维,单机部署和多机是一致的,请参考维护文档