CentOS 7.5 部署蓝鲸运维平台
环境准备
官方建议
- 准备至少3台 CentOS 7 以上操作系统的机器
- 最低配置:2核4G
- 建议配置: 4核12G 以上
- 部署前关闭待安装主机之间防火墙,保证蓝鲸主机之间通信无碍
- 部署前关闭SELinux
- 系统的ulimit -n需要大于1024,建议102400以上。
- NTP保持时间同步一致
- 检查系统的umask,建议设为0022
- 主机有 rsync 命令
- 检查系统是否有配置全局的HTTP代理,如果有,部署前先取消。
- 如非特别说明,安装过程中均使用root账号操作
(以下内容在每台主机上都要操作)
#更新软件包
[root@localhost ~]# yum -y update
# 安装常用命令
root@localhost ~# yum -y install rsync wget curl vim 关闭防火墙:
# 检查SELinux的状态,如果它已经禁用,可以跳过后面的命令
sestatus
# 通过命令禁用SELinux
setenforce
# 或者修改配置文件
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux #检查默认防火墙状态, 如果返回not running,可以跳过后面的命令
firewall-cmd --state
# 停止firewalld
systemctl stop firewalld
# 禁用firewall开机启动
systemctl disable firewalld # 禁用NetworkManager开机启动
systemctl disable NetworkManager
# 停止NetworkManager
systemctl stop NetworkManager 调整最大连接数:
#检查连接数
ulimit -n
#调整连接数
ulimit -n
#修改配置文件添加如下内容
vim /etc/security/limits.d/-nofile.conf
root soft nofile
root hard nofile 同步时间:
#查看当前时间
date -R
Wed, Jan :: +
#如时间不一致,需要同步
ntpdate cn.pool.ntp.org 检查是否存在http代理:
#蓝鲸服务器之间会有的http请求,如果存在http代理,且未能正确代理这些请求,会发生不可预见的错误。
# 检查http_proxy https_proxy变量是否设置,若为空可以跳过后面的操作
echo "$http_proxy" "$https_proxy" 配置YUM源:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
yum -y install epel-release
yum clean all
yum makecache
yum -y update
下载安装包
(以下内容任选一台操作)
下载地址: http://bk.tencent.com/download/
将下载的蓝鲸社区版完整包上传到中控机,并解压到 同级 目录下。以解压到/data 目录为例:
mkdir /data
tar xf bkce_src-4.1..tgz -C /data/
解压之后, 得到两个目录: src, install
- src: 存放蓝鲸产品软件, 以及依赖的开源组件
- install: 存放安装部署脚本、安装时的参数配置、日常运维脚本等
修改配置文件
在 install 目录下, 共有三个配置
- install.config
- globals.env
- ports.env
install.config 主配置文件,用于描述在哪些机器上安装哪些服务。 每行两列,第一列是IP地址;第二列是以英文逗号分隔的服务名称。 详情参考install.config.3IP.sample文件可将install.config.3IP.sample 复制为install.config)
cd /data/install/
mv install.config.3IP.sample install.config
vim install.config #根据实际情况协调
10.128.120.231 kafka,zk,es,consul,rabbitmq
10.128.120.232 kafka,zk,es,consul,mysql,beanstalk,mongodb
10.128.120.233 kafka,zk,es,consul,influxdb
10.128.120.237 bkdata,fta,paas,appt,nginx
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
该文件定义了各类组件的账号密码信息. 功能开关控制选项等. 可根据实际情况进行修改.
配置项含义, 请查看文件中的注释
- 该文件含密码信息,请保证除了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即可。
该配置文件中提供了访问蓝鲸三大平台的域名配置, 需要提前准备好.
[root@localhost install]# vim globals.env
# 域名信息
export BK_DOMAIN="bkpro.com" # 蓝鲸根域名(不含主机名)
export PAAS_FQDN="paas.$BK_DOMAIN" # PAAS 完整域名
export CMDB_FQDN="cmdb.$BK_DOMAIN" # CMDB 完整域名
export JOB_FQDN="job.$BK_DOMAIN" # JOB 完整域名
export APPO_FQDN="o.$BK_DOMAIN" # 正式环境完整域名
export APPT_FQDN="t.$BK_DOMAIN" # 测试环境完整域名
端口定义。 默认情况下, 不用修改。特殊场景下,若有端口冲突,可以自行定义。
在线安装时,依赖pip,需要配置可用的 pip 源。
vi src/.pip/pip.conf [global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
获取证书
- 通过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 start <<check_ssh_nopass>> ... [OK]
start <<check_password>> ... [OK]
start <<check_cert_mac>> ... [OK]
start <<check_selinux>> ... [OK]
start <<check_umask>> ... [OK]
start <<check_get_lan_ip>> ... [OK]
start <<check_http_proxy>> ... [OK]
start <<check_open_files_limit>> ... [OK]
start <<check_domain>> ... [OK]
start <<check_networkmanager>> ... [OK]
如果发现有[FAIL]的报错,按照提示和本文档修复。修复后,可继续跑precheck.sh脚本,直到不再出现[FAIL]。如果需要从头开始检查,请使用 precheck.sh -r 参数。
正式部署
环境准备后, 可以开始安装蓝鲸平台。
以下步骤若有报错/失败,需要根据提示修复错误后,在重新执行相同的命令(断点续装)。
每一个步骤执行如果有报错,需要修复错误,保证安装成功后,才可以继续。因为安装蓝鲸平台的顺序是有依赖关系的。 前面的平台没有成功,如果继续往下安装,会遇到更多的报错。修复错误所需要了解的相关命令,请参考维护文档。
模块安装
cd /data/install # 该步骤后,可以打开 paas 平台
./bk_install paas # 安装paas 平台及其依赖服务 # 该步骤完成后, 可以打开 cmdb, 看到蓝鲸业务及示例业务
./bk_install cmdb # 安装 cmdb 及其依赖服务 # 该步骤完成后, 可以打开作业平台, 并执行作业
# 同时在配置平台中可以看到蓝鲸的模块下加入了主机
./bk_install job # 安装作业平台及其依赖组件,并在安装蓝鲸的服务器上装好 gse_agent 供验证 # 该步骤完成后可以在开发者中心的 服务器信息 和 第三方服务信息 中看到已经成功激活的服务器
# 同时也可以进行 saas 应用(除蓝鲸监控和日志检索)的上传部署
./bk_install app_mgr # 部署正式环境及测试环境 # 安装该模块后,可以开始安 saas 应用: 蓝鲸监控及日志检索
./bk_install bkdata # 安装蓝鲸数据平台基础模块及其依赖服务 # 安装 fta 后台
./bk_install fta # 安装故障自愈的后台服务 # 重装一下 gse_agent 并注册正确的集群模块到配置平台
./bkcec install gse_agent # 部署官方SaaS到正式环境(通过命令行从/data/src/official_saas/目录自动部署SaaS)
./bkcec install saas-o
测试
改一下本地host文件:即可使用。
10.128.120.237 paas.bkpro.com
10.128.120.237 cmdb.bkpro.com
10.128.120.237 job.bkpro.com 在浏览器访问以下链接:
http://paas.bkpro.com:80
登陆用户名: admin
登陆密码: xXM7]GI0W
CentOS 7.5 部署蓝鲸运维平台的更多相关文章
- 《开源安全运维平台:OSSIM最佳实践》内容简介
<开源安全运维平台:OSSIM最佳实践 > 李晨光 著 清华大学出版社出版 内 容 简 介在传统的异构网络环境中,运维人员往往利用各种复杂的监管工具来管理网络,由于缺乏一种集成安全运维平台 ...
- 《开源安全运维平台OSSIM最佳实践》
<开源安全运维平台OSSIM最佳实践> 经多年潜心研究开源技术,历时三年创作的<开源安全运维平台OSSIM最佳实践>一书即将出版.该书用80多万字记录了,作者10多年的IT行业 ...
- 运维平台cmdb开发-day1
序读项目由来 终极目标,运维平台.自动化.装机,监控,安装软件,部署基础服务,资产管理,之前是excel,现在是客户端自动获取,变更记录 后台管理 api 采集资产 四种模式agent 定时,每天执行 ...
- #研发解决方案#iDB-数据库自动化运维平台
郑昀 创建于2015/12/2 最后更新于2015/12/2 关键词:数据库,MySQL,自动化运维,AutoDDL,刷库,帐号授权,审核,回滚 提纲: 数据库自动化运维什么?别人家是怎么玩的? 我们 ...
- saltstack---自动化运维平台
https://github.com/ixrjog/adminset[自动化运维平台:CMDB.CD.DevOps.资产管理.任务编排.持续交付.系统监控.运维管理.配置管理 ] https://ww ...
- sso 自动化运维平台
单点登录SSO(Single Sign-On)是身份管理中的一部分.本文中作者开发了一个自动化运维平台中的统一认证接口,单点登录平台通过提供统一的认证平台,实现单点登录.因此,应用系统并不需要开发用户 ...
- (转)实验文档5:企业级kubernetes容器云自动化运维平台
部署对象式存储minio 运维主机HDSS7-200.host.com上: 准备docker镜像 镜像下载地址 复制 12345678910111213141516 [root@hdss7-200 ~ ...
- Docker集群管理工具 - Kubernetes 部署记录 (运维小结)
一. Kubernetes 介绍 Kubernetes是一个全新的基于容器技术的分布式架构领先方案, 它是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernete ...
- 运维平台之CMDB系统建设
CMDB是运维的基础核心系统,所有的元数据和共享数据管理源,类似于业务中的账号平台的作用.本篇文章,我将从概念篇.模型篇.到实现与实施篇具体的进行阐述. CMDB也称配置管理,配置管理一直被认为是 I ...
随机推荐
- 4. NBU文件备份与恢复,图形界面&字符界面操作
一. 图形界面文件备份与恢复 1.1 文件备份 待补充 1.2 Windows文件恢复 (1) 打开恢复客户端 (2) 检查设置 (3) 查询可恢复信息 (4) 选取恢复时间点和文件 (5) 选择恢 ...
- 在TextBox控件中禁用鼠标右键
实现效果: 知识运用: MouseEventArgs类的Button属性 TextBox控件的ContextMenu属性 实现代码: private void textBox1_MouseDo ...
- 软件架构中的SOA架构有哪些特点?
面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互. SOA是一 ...
- Entity Framework 连接 mysql 。(code first模式)
准备工作 1.下载vs2015 2.下载mysql2017 3.安装 1.创建类库 . 2.打开Nuget包,下载最新版的entity framewor. 3.在引用中添加 mysql.data; m ...
- CUDA数组分配
原问链接 概述:数组分配可以通过cudaMallocArray()和cudaMalloc3DArray() 1.cudaMallocArray() cudaError_t cudaMallocArra ...
- JavaEE权限管理系统的搭建(一)--------项目中用到的知识点概括
转战Java有一段时间了,.net 已不再开发的新的工程,基本上在维护,最近大半年时间在学习Java,今天抽空将学习的到的知识,应用到了一个权限管理系统的小项目中,特此记录一下.代码如有不对之处,希望 ...
- fine ui grid控件添加行号
grid控件的列中添加如下代码<f:RowNumberField EnablePagingNumber="true" TextAlign="Center" ...
- C#中datatable的用法/传数据
在开发中,我们常用到表类型数据,不同于string,int....那么datatable类型如何定义呢,具体怎么使用呢,代码如下: namespace Common.Table { using Sys ...
- Integer和int使用==比较的总结
public static void main(String[] args) { int i1 = 128; Integer i2 = 128; Integer i3 = new Integer(12 ...
- Spring入门注解版
参照博文Spring入门一,以理解注解的含义. 项目结构: 实现类:SpringHelloWorld package com.yibai.spring.helloworld.impl; import ...