环境准备

官方建议

  • 准备至少3台 CentOS 7 以上操作系统的机器
  • 最低配置:2核4G
  • 建议配置: 4核12G 以上
  • 部署前关闭待安装主机之间防火墙,保证蓝鲸主机之间通信无碍
  • 部署前关闭SELinux
  • 系统的ulimit -n需要大于1024,建议102400以上。
  • NTP保持时间同步一致
  • 检查系统的umask,建议设为0022
  • 主机有 rsync 命令
  • 检查系统是否有配置全局的HTTP代理,如果有,部署前先取消。
  • 如非特别说明,安装过程中均使用root账号操作

(以下内容在每台主机上都要操作)

  1. #更新软件包
  2. [root@localhost ~]# yum -y update
  3. # 安装常用命令
  4. root@localhost ~# yum -y install rsync wget curl vim
  5.  
  6. 关闭防火墙:
  7. # 检查SELinux的状态,如果它已经禁用,可以跳过后面的命令
  8. sestatus
  9. # 通过命令禁用SELinux
  10. setenforce
  11. # 或者修改配置文件
  12. sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
  13.  
  14. #检查默认防火墙状态, 如果返回not running,可以跳过后面的命令
  15. firewall-cmd --state
  16. # 停止firewalld
  17. systemctl stop firewalld
  18. # 禁用firewall开机启动
  19. systemctl disable firewalld
  20.  
  21. # 禁用NetworkManager开机启动
  22. systemctl disable NetworkManager
  23. # 停止NetworkManager
  24. systemctl stop NetworkManager
  25.  
  26. 调整最大连接数:
  27. #检查连接数
  28. ulimit -n
  29. #调整连接数
  30. ulimit -n
  31. #修改配置文件添加如下内容
  32. vim /etc/security/limits.d/-nofile.conf
  33. root soft nofile
  34. root hard nofile
  35.  
  36. 同步时间:
  37. #查看当前时间
  38. date -R
  39. Wed, Jan :: +
  40. #如时间不一致,需要同步
  41. ntpdate cn.pool.ntp.org
  42.  
  43. 检查是否存在http代理:
  44. #蓝鲸服务器之间会有的http请求,如果存在http代理,且未能正确代理这些请求,会发生不可预见的错误。
  45. # 检查http_proxy https_proxy变量是否设置,若为空可以跳过后面的操作
  46. echo "$http_proxy" "$https_proxy"
  47.  
  48. 配置YUM源:
  49. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  50. yum -y install epel-release
  51. yum clean all
  52. yum makecache
  53. yum -y update

下载安装包

(以下内容任选一台操作)

下载地址: http://bk.tencent.com/download/

将下载的蓝鲸社区版完整包上传到中控机,并解压到 同级 目录下。以解压到/data 目录为例:

  1. mkdir /data
  2. tar xf bkce_src-4.1..tgz -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)

  1. cd /data/install/
  2. mv install.config.3IP.sample install.config
  3. vim install.config
  4.  
  5. #根据实际情况协调
  6. 10.128.120.231 kafka,zk,es,consul,rabbitmq
  7. 10.128.120.232 kafka,zk,es,consul,mysql,beanstalk,mongodb
  8. 10.128.120.233 kafka,zk,es,consul,influxdb
  9. 10.128.120.237 bkdata,fta,paas,appt,nginx
  10. 10.128.120.238 appo,job,cmdb,gse,license,redis

说明:

  • 该配置文件,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 所在机器不能访问外网, 则需要把 gse 所在机器的外网IP填到该文件中 GSE_WAN_IP 配置项中的括号里 如: export GSE_WAN_IP=(1.2.3.4), 若没有外网IP 则留空
  • 若 GSE 所在机器能访问外网, 则配置 export AUTO_GET_WANIP=1 即可
  • HAS_DNS_SERVER 配置默认为0,表示配置的蓝鲸域名需要通过/etc/hosts来解析,此时部署脚本会自动修改每台机器的/etc/hosts添加相关域名。如果想走自己的dns配置,改为非0即可。

该配置文件中提供了访问蓝鲸三大平台的域名配置, 需要提前准备好.

  1. [root@localhost install]# vim globals.env
  2. # 域名信息
  3. export BK_DOMAIN="bkpro.com" # 蓝鲸根域名(不含主机名)
  4. export PAAS_FQDN="paas.$BK_DOMAIN" # PAAS 完整域名
  5. export CMDB_FQDN="cmdb.$BK_DOMAIN" # CMDB 完整域名
  6. export JOB_FQDN="job.$BK_DOMAIN" # JOB 完整域名
  7. export APPO_FQDN="o.$BK_DOMAIN" # 正式环境完整域名
  8. export APPT_FQDN="t.$BK_DOMAIN" # 测试环境完整域名
 
ports.env

端口定义。 默认情况下, 不用修改。特殊场景下,若有端口冲突,可以自行定义。

 
pip.conf

在线安装时,依赖pip,需要配置可用的 pip 源。

  1. vi src/.pip/pip.conf
  2.  
  3. [global]
  4. index-url = https://pypi.tuna.tsinghua.edu.cn/simple

获取证书

  • 通过ifconfig或者ip addr命令获取install.config文件中,license和gse模块所在服务器的第一个内网网卡的MAC地址。如果分别属于两台服务器,那么两个的MAC地址以英文;分隔。
  • 在官网证书生成页面根据输入框提示填入MAC地址,生成并下载证书。

上传证书到中控机,并解压到 src/cert 目录下

  1. tar xf ssl_certificates.tar.gz -C /data/src/cert/

配置 SSH 免密登陆

登录到中控机,执行以下操作

  1. cd /data/install
  2. bash configure_ssh_without_pass # 根据提示输入各主机的 root 密码完成免密登陆配置

安装前校验环境是否满足

按文档要求做完环境和部署的配置后,准备开始安装前,请运行以下脚本,来校验是否满足:

  1. cd /data/install
  2. bash precheck.sh
  3.  
  4. start <<check_ssh_nopass>> ... [OK]
  5. start <<check_password>> ... [OK]
  6. start <<check_cert_mac>> ... [OK]
  7. start <<check_selinux>> ... [OK]
  8. start <<check_umask>> ... [OK]
  9. start <<check_get_lan_ip>> ... [OK]
  10. start <<check_http_proxy>> ... [OK]
  11. start <<check_open_files_limit>> ... [OK]
  12. start <<check_domain>> ... [OK]
  13. start <<check_networkmanager>> ... [OK]

如果发现有[FAIL]的报错,按照提示和本文档修复。修复后,可继续跑precheck.sh脚本,直到不再出现[FAIL]。如果需要从头开始检查,请使用 precheck.sh -r 参数。

正式部署

环境准备后, 可以开始安装蓝鲸平台。

以下步骤若有报错/失败,需要根据提示修复错误后,在重新执行相同的命令(断点续装)。

每一个步骤执行如果有报错,需要修复错误,保证安装成功后,才可以继续。因为安装蓝鲸平台的顺序是有依赖关系的。 前面的平台没有成功,如果继续往下安装,会遇到更多的报错。修复错误所需要了解的相关命令,请参考维护文档

模块安装

  1. cd /data/install
  2.  
  3. # 该步骤后,可以打开 paas 平台
  4. ./bk_install paas # 安装paas 平台及其依赖服务
  5.  
  6. # 该步骤完成后, 可以打开 cmdb, 看到蓝鲸业务及示例业务
  7. ./bk_install cmdb # 安装 cmdb 及其依赖服务
  8.  
  9. # 该步骤完成后, 可以打开作业平台, 并执行作业
  10. # 同时在配置平台中可以看到蓝鲸的模块下加入了主机
  11. ./bk_install job # 安装作业平台及其依赖组件,并在安装蓝鲸的服务器上装好 gse_agent 供验证
  12.  
  13. # 该步骤完成后可以在开发者中心的 服务器信息 和 第三方服务信息 中看到已经成功激活的服务器
  14. # 同时也可以进行 saas 应用(除蓝鲸监控和日志检索)的上传部署
  15. ./bk_install app_mgr # 部署正式环境及测试环境
  16.  
  17. # 安装该模块后,可以开始安 saas 应用: 蓝鲸监控及日志检索
  18. ./bk_install bkdata # 安装蓝鲸数据平台基础模块及其依赖服务
  19.  
  20. # 安装 fta 后台
  21. ./bk_install fta # 安装故障自愈的后台服务
  22.  
  23. # 重装一下 gse_agent 并注册正确的集群模块到配置平台
  24. ./bkcec install gse_agent
  25.  
  26. # 部署官方SaaS到正式环境(通过命令行从/data/src/official_saas/目录自动部署SaaS)
  27. ./bkcec install saas-o

测试

  1. 改一下本地host文件:即可使用。
  2. 10.128.120.237 paas.bkpro.com
  3. 10.128.120.237 cmdb.bkpro.com
  4. 10.128.120.237 job.bkpro.com
  5.  
  6. 在浏览器访问以下链接:
  7. http://paas.bkpro.com:80
  8. 登陆用户名: admin
  9. 登陆密码: xXM7]GI0W

CentOS 7.5 部署蓝鲸运维平台的更多相关文章

  1. 《开源安全运维平台:OSSIM最佳实践》内容简介

    <开源安全运维平台:OSSIM最佳实践 > 李晨光 著 清华大学出版社出版 内 容 简 介在传统的异构网络环境中,运维人员往往利用各种复杂的监管工具来管理网络,由于缺乏一种集成安全运维平台 ...

  2. 《开源安全运维平台OSSIM最佳实践》

    <开源安全运维平台OSSIM最佳实践> 经多年潜心研究开源技术,历时三年创作的<开源安全运维平台OSSIM最佳实践>一书即将出版.该书用80多万字记录了,作者10多年的IT行业 ...

  3. 运维平台cmdb开发-day1

    序读项目由来 终极目标,运维平台.自动化.装机,监控,安装软件,部署基础服务,资产管理,之前是excel,现在是客户端自动获取,变更记录 后台管理 api 采集资产 四种模式agent 定时,每天执行 ...

  4. #研发解决方案#iDB-数据库自动化运维平台

    郑昀 创建于2015/12/2 最后更新于2015/12/2 关键词:数据库,MySQL,自动化运维,AutoDDL,刷库,帐号授权,审核,回滚 提纲: 数据库自动化运维什么?别人家是怎么玩的? 我们 ...

  5. saltstack---自动化运维平台

    https://github.com/ixrjog/adminset[自动化运维平台:CMDB.CD.DevOps.资产管理.任务编排.持续交付.系统监控.运维管理.配置管理 ] https://ww ...

  6. sso 自动化运维平台

    单点登录SSO(Single Sign-On)是身份管理中的一部分.本文中作者开发了一个自动化运维平台中的统一认证接口,单点登录平台通过提供统一的认证平台,实现单点登录.因此,应用系统并不需要开发用户 ...

  7. (转)实验文档5:企业级kubernetes容器云自动化运维平台

    部署对象式存储minio 运维主机HDSS7-200.host.com上: 准备docker镜像 镜像下载地址 复制 12345678910111213141516 [root@hdss7-200 ~ ...

  8. Docker集群管理工具 - Kubernetes 部署记录 (运维小结)

    一.  Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernete ...

  9. 运维平台之CMDB系统建设

    CMDB是运维的基础核心系统,所有的元数据和共享数据管理源,类似于业务中的账号平台的作用.本篇文章,我将从概念篇.模型篇.到实现与实施篇具体的进行阐述. CMDB也称配置管理,配置管理一直被认为是 I ...

随机推荐

  1. JS中如何得到触发事件的属性?

    <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    ...

  2. Rich feature hierarchies for accurate object detection and semantic segmentation(RCNN)

    https://zhuanlan.zhihu.com/p/23006190?refer=xiaoleimlnote http://blog.csdn.net/bea_tree/article/deta ...

  3. which,whereis,locate,find

    which      查看可执行文件的位置 [root@redhat ~]# which passwd /usr/bin/passwd which是通过 PATH 环境变量到该路径内查找可执行文件,所 ...

  4. mask r-cnn

    mask R-cnn, kaiming he的新作.可以同时完成object detection和segmentation,还可以做pose estimation,简直就是功能多多啊.在coco上测试 ...

  5. rectified units

    from: http://en.wikipedia.org/wiki/Rectifier_(neural_networks) In the context of artificial neural n ...

  6. java基础必备单词讲解 day five

    Rectangle width high height area employee tool param version author math guess resources 之前单词复习 path ...

  7. SVProgressHUD–比MBProgressHUD更好用的 iOS进度提示组件

    简介 SVProgressHUD是简单易用的显示器,用于指示一个持续进行的任务的进度. 项目主页: SVProgressHUD 最新示例: 点击下载 快速入门 安装 通过Cocoapods pod ' ...

  8. 爬虫学习(十五)——json解析

    json与jsonpath 对象{}:jsonobject 对象:对象在js中表现为{}括起来的内容,数据结构为{key:value,key:value...}键值对的结构,在面向对象的结构中,key ...

  9. Java对象容器总结

    泛型容器类 容器类型: ArrayList 元素类型: 有排序 String:里面存放的是对象的管理者,而不是具体的对象,所以string类型有null值 集合容器 容器类型 Set 元素类型 唯一性 ...

  10. pip命令小结

    pip的另一种调用方式 python -m pip通过指定python的名字来指定特定的pip pip freeze > 项目目录/requirements.txt导出pip中下载的包目录 pi ...