目录
修改配置文件【install.config】(单机部署!!)
获取安装包社区版5.1
互联网环境,安装包下载地址
http://bkopen-1252002024.file.myqcloud.com/ce/084ccd79/bkce_src-5.1.26.tar.gz
从 官网下载 完整包,并解压到 /data/ 下。
#mkdir /data <<新建data目录
#cp /root/下载/bkce_src-5.1.26.tar.gz /data <<把下载目录下的tar包复制到data
#cd /data <<切换至data目录
# tar xf bkce_src-5.1.26.tar.gz
获取证书
1. 通过 ifconfig 或者 ip addr 命令获取 install.config 文件中,license 和 gse 模块所在服务器的第一个内网网卡的 MAC 地址。如果分别属于两台服务器,那么两个的 MAC 地址以英文;分隔。
2. 在官网 证书生成页面 根据输入框提示填入 MAC 地址,生成并下载证书。
https://bk.tencent.com/download_ssl/
3. 上传证书到中控机,并解压到 src/cert 目录下。
#tar xf ssl_certificates.tar.gz -C /data/src/cert/
备注:查看MAC 地址,可以在虚拟机的网络设置中查看
修改配置文件【install.config】(单机部署!!)
#vim /data/install/install.config
配置文件
[bkce-basic]
192.168.0.109 consul,license,mysql,redis,nginx,paas,mongodb,zk(config),gse,rabbitmq,job,appo,es,kafka(config),beanstalk,fta,influxdb,bkdata(databus),bkdata(dataapi),bkdata(monitor)
或者
[bkce-basic]
192.168.0.109 consul,license,mysql,redis,nginx,paas,mongodb,zk(config)
192.168.0.109 gse,rabbitmq,job,appo,es,kafka(config),beanstalk,fta,cmdb
192.168.0.109 influxdb,bkdata(databus),bkdata(dataapi),bkdata(monitor)
配置 SSH 免密登陆 免密登陆
登录到中控机,执行以下操作:
cd /data/install bash configure_ssh_without_pass # 根据提示输入各主机的 root 密码完成免密登陆配置
安装前校验环境是否满足
按文档要求做完环境和部署的配置后,准备开始安装前,请运行以下脚本,来校验是否满足:
cd /data/install
bash precheck.sh
正常输出如下图所示:
start <<check_ssh_nopass>> ... [OK]
start <<check_password>> ... [OK] start <<check_cert_mac>> ... [OK] start <<check_get_lan_ip>> ... [OK] start <<check_install_config>> ... [OK] start <<check_selinux>> ... [OK] start <<check_umask>> ... [OK] start <<check_rabbitmq_version>> ... [OK] start <<check_http_proxy>> ... [OK] start <<check_open_files_limit>> ... [OK] start <<check_domain>> ... [OK] start <<check_rsync>> ... [OK] start <<check_service_dir>> ... [OK] start <<check_networkmanager>> ... [OK] start <<check_firewalld>> ... [OK]
如果发现有 [FAIL] 的报错,按照错误提示和本文档修复。修复后,可继续跑 precheck.sh 脚本,直到不再出现 [FAIL]。如果需要从头开始检查,请使用 precheck.sh -r 参数。
安装包部署位置
将下载的蓝鲸社区版完整包上传到中控机,并解压到 同级 目录下。以解压到 /data 目录为例:
tar xf bkce_src-5.1.26.tar.gz -C /data
解压之后,得到两个目录:src,install
- src:存放蓝鲸产品软件,以及依赖的开源组件
- install:存放安装部署脚本、安装时的参数配置、日常运维脚本等
配置文件(了解,不做调整)
在 install 目录下,共有三个配置:
- install.config
- globals.env
- ports.env
install.config
install.config 是模块和服务器对应关系的配置文件,描述在哪些机器上安装哪些模块。
每行两列,第一列是 IP 地址;第二列是以英文逗号分隔的模块名称。
详情参考install.config.3IP.sample文件(可将 install.config.3IP.sample 复制为 install.config)。
[bkce-basic]
10.0.0.1 nginx,rabbitmq,kafka(config),zk(config),es,appt,fta,consul,bkdata(databus)
10.0.0.2 mongodb,appo,kafka(config),zk(config),es,mysql,consul,bkdata(dataapi),beanstalk
10.0.0.3 paas,cmdb,job,gse,license,kafka(config),zk(config),es,redis,influxdb,consul,bkdata(monitor)
说明:
- 该配置文件,ip 后面使用空格与服务名称隔开,含有多个内网 ip 的机器,默认使用 /sbin/ifconfig 输出中的第一个内网 ip,在 ip 后面写上该机器要安装的服务列表即可,部署过程中默认使用标准私有地址,若企业环境使用非标准私有地址,请参考 本章后续内容-非标准私有地址处理方法 的处理方法。
- zk 表示 ZooKeeper, es 表示 ElasticSearch。
- gse 与 redis 需要部署在同一台机器上。
- 增加机器数量时,可以将以上配置中的服务挪到新的机器上,分担负载。要保证: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 则留空。
- 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 文件有效。
ports.env
端口定义。默认情况下,不用修改。特殊场景下,若有端口冲突,可以自行定义。
非标准私有地址处理方法
蓝鲸社区版部署脚本中(install 目录)下有以下文件中有获取 ip 的函数 get_lan_ip,非标准地址,均需要在安装部署前完成修改。
./appmgr/docker/saas/buildsaas
./appmgr/docker/build
./functions
./scripts/gse/server/gsectl
./scripts/gse/plugins/reload.sh
./scripts/gse/plugins/start.sh
./scripts/gse/plugins/stop.sh
./scripts/gse/agent/gsectl
./scripts/gse/proxy/gsectl
./scripts/gse/agentaix/gsectl.ksh
./agent_setup/download#agent_setup_pro.sh
./agent_setup/download#agent_setup_aix.ksh
./agent_setup/download#agent_setup.sh
这些文件列表,可能随版本迭代变动,也可以用以下命令查找出来包含这个函数的脚本文件有哪些:
grep -l 'get_lan_ip *()' -r /data/install
修改方法:
假设服务器的的 ip 是:138.x.x.x,它不在标准的私有地址范围,那么你需要修改 get_lan_ip() 函数为:
get_lan_ip () {
...省略
if ($3 ~ /^10\./) {
print $3
}
if ($3 ~ /^138\./) {
print $3
}
}
return $?
}
pip.conf
在线安装时,依赖 pip,需要配置可用的 pip 源。
vim /data/src/.pip/pip.conf
配置文件
[global]
index-url = https://mirrors.cloud.tencent.com/pypi/simple
trusted-host = mirrors.cloud.tencent.com
- 设置为能连上的 pip 源,以腾讯云镜像源加速 pip 为例。默认的 pip 源配置通常无法使用,验证方式如下。
- 在每台机器上对 pip.conf 中配置的 url 进行操作:curl http://xxxxxxx,若能正常返回列表信息则为成功。