阅读前请确认好您的部署目的。
该文档适用于生产环境多机器分模块部署场景,如仅需体验该套餐功能,可参考 单机部署
基础套餐包含:PaaS 平台、配置平台、作业平台、权限中心、用户管理、节点管理、标准运维、流程服务。
一、前期准备
在开始安装前,请参照 环境准备 文档,配置系统环境。
1.1 准备机器
- 建议操作系统: CentOS 7.6 及以上
- 建议机器配置
- 生产环境:建议 4 核 16 G,硬盘 100G 以上(可根据实际情况适当调整配置)
- 机器数量:3 台(假设 ip 分别为:10.0.0.1,10.0.0.2,10.0.0.3)
- 生产环境:建议 4 核 16 G,硬盘 100G 以上(可根据实际情况适当调整配置)
- 选择一台为中控机(假设为 10.0.0.1)进行安装部署操作,使用 root 账号登录。
1.2 获取证书
-
通过
ifconfig
或者ip addr
命令分别获取 3 台机器第一个内网网卡 MAC 地址 -
前往蓝鲸官网证书生成页面(https://bk.tencent.com/download_ssl/),根据提示在输入框中填入英文分号分隔的三个 MAC 地址,生成并下载证书
-
上传证书包至中控机
/data
- 证书包包名:ssl_certificates.tar.gz
1.3 下载安装包
- 请前往 蓝鲸官网下载页 下载基础套餐包
1.4 解压相关资源包
-
解压套餐包(包含蓝鲸相关产品,如 PaaS、CMDB、JOB 等;蓝鲸依赖的 rpm 包,SaaS 镜像,定制 Python 解释器;部署脚本)
cd /data tar xf bkce_basic_suite-6.0.4.tgz
-
解压各个产品软件包
cd /data/src/; for f in *gz;do tar xf $f; done
-
解压证书包
install -d -m 755 /data/src/cert tar xf /data/ssl_certificates.tar.gz -C /data/src/cert/ chmod 644 /data/src/cert/*
-
拷贝 rpm 包文件夹到/opt/目录
cp -a /data/src/yum /opt
1.5 生成并配置 install.config
说明:
- gse 与 redis 需要部署在同一台机器上。
- 当含多个内网 IP 时,默认使用 /sbin/ifconfig 输出中的第一个内网 IP。
- 部署需要使用标准私有地址,若企业环境使用非标准私有地址,请参考 环境准备-非标准私有地址处理方法
# 请根据实际机器的 IP 进行替换第一列的示例 IP 地址,确保三个 IP 之间能互相通信
cat << EOF >/data/install/install.config
10.0.0.1 iam,ssm,usermgr,gse,license,redis,consul,mysql,lesscode
10.0.0.2 nginx,consul,mongodb,rabbitmq,appo
10.0.0.3 paas,cmdb,job,zk(config),appt,consul,nodeman(nodeman)
EOF
1.6 执行免密
cd /data/install
bash /data/install/configure_ssh_without_pass
二、开始部署
初始化并检查环境
# 初始化环境
./bk_install common
# 校验环境和部署的配置
./health_check/check_bk_controller.sh
部署 PaaS 平台
# 安装 PaaS 平台及其依赖服务
./bk_install paas
PaaS 平台部署完成后,可以访问蓝鲸的 PaaS 平台。配置域名访问,请参考 访问蓝鲸 。
部署 app_mgr
# 部署 SaaS 运行环境,正式环境及测试环境
./bk_install app_mgr
部署权限中心与用户管理
# 权限中心
./bk_install saas-o bk_iam
# 用户管理
./bk_install saas-o bk_user_manage
部署 CMDB
# 安装配置平台及其依赖服务
./bk_install cmdb
部署 JOB
# 安装作业平台后台模块及其依赖组件
./bk_install job
部署 bknodeman
-
如需使用跨云管控,请提前将节点管理的外网 IP 写入至节点管理后台服务所在机器的
/etc/blueking/env/local.env
文件,详细请参考 开启 proxy。否则请忽略该步骤 -
开始部署
# 安装节点管理后台模块、节点管理 SaaS 及其依赖组件
./bk_install bknodeman
部署标准运维及流程管理
依次执行下列命令部署相关 SaaS。
# 标准运维
./bk_install saas-o bk_sops
# 流程管理
./bk_install saas-o bk_itsm
加载蓝鲸相关维护命令
source ~/.bashrc
初始化蓝鲸业务拓扑
./bkcli initdata topo
部署 lesscode (可选)
./bk_install lesscode
检测相关服务状态
cd /data/install/
echo bkssm bkiam usermgr paas cmdb gse job consul | xargs -n 1 ./bkcli check
三、访问蓝鲸
3.1 配置本地 hosts
下面介绍的操作均可能覆盖现有 hosts ,进行操作前请先确认是否需要备份。
- Windows 配置
用文本编辑器(如 Notepad++
)打开文件:
C:\Windows\System32\drivers\etc\hosts
将以下内容复制到上述文件内,并将以下 IP 需更换为本机浏览器可以访问的 IP,然后保存。如无部署 lesscode,可去掉 lesscode.bktencent.com
再进行绑定
10.0.0.2 paas.bktencent.com cmdb.bktencent.com job.bktencent.com jobapi.bktencent.com lesscode.bktencent.com
10.0.0.3 nodeman.bktencent.com
注意: 10.0.0.2 为 nginx 模块所在的机器,10.0.0.3 为 nodeman 模块所在的机器。IP 需更换为本机浏览器可以访问的 IP。
查询模块所分布在机器的方式:
grep -E "nginx|nodeman" /data/install/install.config
注意:如果遇到无法保存,请右键文件 hosts 并找到“属性” -> “安全”,然后选择你登陆的用户名,最后点击编辑,勾选“写入”即可。
- Linux / Mac OS 配置
将以下内容复制到 /etc/hosts
中,并将以下 IP 需更换为本机浏览器可以访问的 IP,然后保存。
10.0.0.2 paas.bktencent.com cmdb.bktencent.com job.bktencent.com jobapi.bktencent.com lesscode.bktencent.com
10.0.0.3 nodeman.bktencent.com
3.2 获取管理员账户名密码
在任意一台机器上,执行以下命令,获取管理员账号和密码。
grep -E "BK_PAAS_ADMIN_USERNAME|BK_PAAS_ADMIN_PASSWORD" /data/install/bin/04-final/usermgr.env
新手必读
运维的职能通常包含 应用发布 、 变更 、 故障处理 以及 日常需求处理等 ,覆盖研发运营生命周期的 持续集成 (CI)、 持续部署 (CD)、 持续运营 (CO)三个阶段,从研发代码构建到产物包交付再到测试环境部署,将验证通过的版本部署到生产环境,以及提供业务上线后的运维基础支撑和增强服务。
蓝鲸社区版致力于打造研发运营一体化平台,在 6.0 对外之后,我们将蓝鲸社区版产品拆分成了套餐模式,以便满足不同企业或用户的场景需求。
一、基础套餐
持续部署场景(CD),主要覆盖应用发布变更、基础管控等运维自动化阶段,比如:
- 配置资源管理,如主机设备、业务模块、服务进程端口、自定义配置模型等
- 批量基础管控,如脚本执行、文件分发、定时任务等基础运维场景
- 任务流程编排和执行,如编排一个完整的应用自动发布流程,包括备份、版本更新、配置变更、服务上线等流程节点
- 自定义 SaaS 开发
包含产品:蓝鲸 PaaS 平台、配置平台、作业平台、权限中心、用户管理、节点管理、标准运维、ITSM(流程服务管理)
二、监控日志套餐
持续运营场景(CO),主要覆盖监控&告警处理、日志检索分析,比如:
- 不同业务场景下的监控配置、告警通知、报表视图展示、分析定位及自定义的采集上报等
- 日志采集&检索查询、关键字的日志监控、日志提取等日志服务
- 故障自动处理,包括实时发现告警、预诊断分析、自动恢复故障
包含产品:监控平台、日志平台、故障自愈
三、容器管理套餐
容器管理的运维进阶场景,主要覆盖基于原生 K8S 的容器编排,比如:
- 集群管理
- 模板管理
- 应用管理
- 镜像管理
- 网络管理
包含产品:蓝鲸容器管理平台(BCS)
四、持续集成套餐
持续集成场景(CI),主要覆盖自动化代码构建-测试-发布工作流,比如:
- 工程编译
- 代码库托管
- 制品库
- 流水线
包含产品:蓝盾(bkci)
需要说明的是,监控日志套餐、持续集成套餐、容器管理套餐均是基于蓝鲸标准运维 SaaS 部署,所以必须先部署完基础套餐,再按需选择相应的套餐;此外,因为 bkci 和 BCS 已开源,也可以脱离社区版单独部署开源版。
蓝盾(bk-ci)开源地址:https://github.com/Tencent/bk-ci
容器管理平台(BCS)开源地址:https://github.com/Tencent/bk-bcs、 https://github.com/Tencent/bk-bcs-saas
快速预览蓝鲸社区版各产品功能
产品 | 功能简述 |
用户管理 | 蓝鲸提供的企业组织架构、多用户目录等集中的用户管理解决方案 |
权限中心 | 蓝鲸体系集中权限管理服务,细化到资源实例级别的访问权限控制 |
配置平台 | 提供主机、进程、模型等各种运维场景的配置数据服务管理,是蓝鲸体系的基石 |
节点管理 | 批量快速地部署蓝鲸 Agent,覆盖 Linux、Windows 操作系统 |
作业平台 | 提供批量脚本执行、文件分发、文件拉取、定时任务等基础操作的原子平台 |
标准运维 | 可视化的图形界面流程编排、跨系统调度利器 |
监控平台 | 提供丰富的数据采集能力、大规模的数据处理能力,致力于满足不同场景的监控需求 |
日志平台 | 基于业界主流的全文检索引擎,提供多种场景化的采集、查询功能 |
故障自愈 | 实时发现告警,预诊断分析,自动恢复故障,并打通周边系统实现整个流程的闭环 |
流程服务 | 灵活自定义设计流程模块,覆盖 IT 服务中的不同管理流程或应用场景 |
管控平台 | 蓝鲸体系的底层管控系统,是蓝鲸所有其他服务的基础(GseAgent) |
bkci(蓝盾) | 免费并开源的 CI 服务,助力自动化构建-测试-发布工作流,持续、快速、高质量地交付产品 |
BCS(容器管理平台) | 高度可扩展、灵活易用的容器管理服务平台,支持社区原生 Kubernetes 编排引擎 |
基础套餐快速入门
如还未部署蓝鲸社区版【基础套餐】,请参考基础套餐部署指引
一分钟感性认识蓝鲸社区版
-
应用面板
以应用的方式展示社区版基础套餐部署之后的所有产品(包括后续自己开发的 SaaS),可以通过拖动图标排序来自定义 SaaS 位置。
-
开发者中心
面向开发人员,提供了丰富的“SaaS 开发者服务”,如前后台开发框架、API 网关(ESB)、调度引擎、公共组件等,让开发者可以简单、快速地创建、部署和管理 SaaS。
-
侧边栏(常用链接)
包含蓝鲸官网提供的资源,如教程文档、MagicBox(前端开发工具集,速搭建前端页面),以及自定义的快捷访问链接。
接下来,我们从管理员
admin 视角来开启使用!
一、【用户管理】账号分配
社区版部署完成之后只有一个系统默认内置的 admin 账号,也即管理员账号,拥有蓝鲸体系所有产品的权限。
如果需要不同角色人员来使用蓝鲸体系产品,则到【用户管理】添加用户即可。详见:用户管理产品白皮书:新增本地用户目录
Ps:如果要在蓝鲸自带的用户鉴权体系上扩展,可以接入第三方的组织架构以及鉴权体系,详情可以参考:社区版: 蓝鲸登录接入企业内部登录
二、【配置平台】创建业务
配置平台是构建其他所有流程的基石,所以在配置平台创建业务是重要的前置步骤。
1、创建业务
业务
是蓝鲸 CD 体系中比较重要的概念和维度,日常使用中主机、进程、业务拓扑的管理都需要依赖已经存在业务,其他蓝鲸体系产品也基本上都是围绕业务
的维度来提供对应的服务和相关的鉴权。
打开【蓝鲸配置平台】,选择资源
-->业务
-->新建
2、创建业务拓扑
业务拓扑
是配置平台进行主机管理的基础,合适的业务模型,可以结构化的管理好主机。
业务创建成功后在业务
菜单中,可以看到下拉列表有了刚刚新增的业务,默认有一个空闲机池
的 set 和三个模块,如下:
点击拓扑顶点的业务,新建集群
有两种方式创建集群,这里以直接创建为例(同下面创建模块),从集群模板创建详见:集群模板
从模板新建模块和服务分类的详细说明,可详见:服务模板 服务分类
至此,业务拓扑即创建完毕。
Ps:业务拓扑默认三层,业务-->集群-->模块;如果实际应用场景不满足,可以新增自定义层级(最多支持 7 层),详见:模型关系
3、导入主机
主机是配置平台管控最常见的资源,也是运维日常主要的管控对象;更多 CMDB 配置模型管理见:模型管理
(1)方式一:手动导入,资源
-->主机
-->导入主机
,批量从 Excel 导入(注意:批量导入只能导入直连区的主机,跨云区域的需要通过 Agent 安装导入,云区域说明详见:基本概念:云区域)
(2)方式二:安装 Agent 自动注册(推荐)
三、【节点管理】Agent 安装
蓝鲸 Agent,是实现主机与蓝鲸通讯的专用程序,在主机上安装了蓝鲸 Agent 以后,可以通过蓝鲸对主机进行管控,包含文件分发、作业执行、数据上报、基础信息采集等,是所有上层服务的基础。
安装工具:节点管理(批量快速地部署蓝鲸 Agent,覆盖 Linux、Windows)
以安装直连区域为例(非直连安装可详见:安装蓝鲸 Agent(自定义云区域))
打开【节点管理】,选择Agent管理
菜单,点击安装 Agent-->普通安装
安装过程可以看到每个步骤的详情
安装成功后,在Agent管理
菜单可以看到状态正常,即完成 Agent 的安装
四、【作业平台】作业执行&文件分发
Agent 安装完之后,即可用作业平台进行批量脚本执行、文件分发、文件拉取、定时任务等基础运维操作
1、快速脚本执行
打开作业平台,选择左边菜单栏的脚本执行
2、快速文件分发
打开作业平台,选择左边菜单栏的文件分发
至此,我们完成了作业平台的两大核心功能脚本执行
和文件分发
的操作;通常情况,我们往往是需要组合这两个操作原子,并进行编排,比如版本包分发到服务器之后,需要解压,然后需要修改配置并拉起进程,这种场景我们可以通过作业平台的作业
功能来实现,可详见:作业管理 。
五、【标准运维】任务流程编排
标准运维是通过可视化的图形界面进行多系统间的“任务流程编排”和“执行”的系统,将企业内部多系统间的工作整合到一个流程模版中,实现一键自动化调度。
标准运维使用项目流程
作为任务编排模板,通过项目流程
模板可以反复新建、执行“任务”实例,从而实现“反复多次一键自动化调度”运维日常任务的功能。
我们准备编排一个简单的流程:去服务器 IP1 上执行脚本(基于蓝鲸作业平台),然后发邮件通知(基于蓝鲸 PaaS 平台)告诉用户 userA:脚本执行完成;并能够反复多次一键自动化调度使用。
1、创建项目流程
标准运维使用项目流程
进行调度编排。进入标准运维后,选择项目流程
,选择服务器 IP1 所在的业务。
在项目流程页面,点击左上角新建按钮,新建项目流程。
2、编排项目流程
流程编排页面的总体界面介绍:
上方:标题和流程功能区。 命名标题和编辑流程的 4 项功能:设置全局变量、基础信息、本地快照、模板数据。
左侧:插件节点。 选择已经对接的系统功能插件、和流程逻辑按钮。
中间:画布。 将左侧原子、流程逻辑按钮,拖拽到画布上,连接,进行任务编排。
(1)拖拽左侧节点作业平台(job)—快速执行作业
和蓝鲸服务(BK)—发送通知
插件,到中间画布区域。
(2)通过连线,将节点以开始
-->快速执行作业
-->发送通知
-->结束
的方式进行编排。
(3)点击快速执行脚本
节点,页面右侧弹出节点配置
页面,在其中配置要执行的脚本、服务器 ip、目标账户等信息。填写好参数后,点击保存
按钮。该步骤将蓝鲸作业平台的[快速执行脚本]的功能,编排入本流程中。
(4)点击发动通知
节点,页面右侧弹出节点配置
页面,在其中配置通知方式、通知人员、主题、内容等信息。填写好参数后,点击“保存”按钮。该步骤将蓝鲸 PaaS 平台的发送通知
的功能,编排入本流程中。(如果需要真实的发送通知,详见:如何配置通知渠道,如邮件、微信、短信等?)
(5)至此,我们就编排好了一个流程,将【蓝鲸作业平台】和【蓝鲸 PaaS 平台】的两个功能进行串联。现在我们便可以一键式的自动调度执行这个流程。
3、执行流程任务
在项目流程页面,可以查看已经保存的项目流程,通过点击右侧的新建任务
链接,可以进入该项目流程的执行页面。
(1)第 1 步:查看到这个项目的全部步骤,如果配置了可选节点,可以选择要执行的节点。本例中,我们无须配置,直接点击下一步
按钮。
(2)第 2 步:选择项目的执行信息和填写流程中需要的参数信息,本例中我们无须配置,直接点击下一步
按钮。
(3)第 3 步:确认节点、参数,无误后,点击右上角的执行
按钮,基于该流程的一条新任务实例开始执行。
(4)在执行页面,可以直观看到每个节点的执行状态。
(5)点击节点,右侧弹窗会显示该节点详细的输入参数和输出返回的结果。当执行出错时,我们可以依据输入输出参数信息,定位出调用该系统时,执行出错的原因。
(6)节点的调用执行都成功以后,整个任务执行成功。我们可以在【蓝鲸作业平台】上看到服务器脚本的执行记录,也可以收到【蓝鲸 PaaS 平台】发送的邮件通知消息。
这样我们就完成了使用标准运维编排出了多系统调度的自动化流程,并且成功的一键式触发了执行。抛砖引玉,我们可以根据自己的业务场景来编排不同的任务流程。更多标准运维场景使用见:标准运维产品白皮书。
六、【权限中心】权限管理
以管理员(admin)的身份完成了以上的所有相关配置及操作之后,如果公司组织里其他人员需要使用蓝鲸体系产品,该如何进行权限的授权和申请呢?
蓝鲸权限中心(BKIAM)是蓝鲸智云提供的集中权限管理服务,提供权限接入服务,细化到资源实例级别的访问权限控制。用户可以在权限中心通过自定义操作权限、用户组来实现人员权限的管理。
1、配置权限模板&用户组
蓝鲸部署后,admin 是默认的超级管理员,可以配置权限。
admin 进入到【权限中心】配置权限模板及创建用户组,比如步骤二里创建的业务测试专用
,建一个[测试专用业务运维用户组],该用户组包含了设定的各个系统相关的运维权限,创建好对应的用户组,就可以给用户授权,详细操作见:权限中心产品白皮书:创建权限模板、创建用户组。
2、admin 可以主动授权或者普通用户申请权限
-
主动授权
-
普通用户申请权限(推荐申请用户组,如果不满足可以申请自定义权限)
至此,非管理员也具备了使用蓝鲸体系的权限,可以根据具体场景来使用不同的产品。
关于权限管理的更多场景参考: