王大拿
知道的越多,不知道的也就越多! 只要学不死,就往死里学!!!

阅读前请确认好您的部署目的。

该文档适用于生产环境多机器分模块部署场景,如仅需体验该套餐功能,可参考 单机部署

基础套餐包含:PaaS 平台、配置平台、作业平台、权限中心、用户管理、节点管理、标准运维、流程服务。

一、前期准备

在开始安装前,请参照 环境准备 文档,配置系统环境。

1.1 准备机器

  1. 建议操作系统: CentOS 7.6 及以上
  2. 建议机器配置
    • 生产环境:建议 4 核 16 G,硬盘 100G 以上(可根据实际情况适当调整配置)
      • 机器数量:3 台(假设 ip 分别为:10.0.0.1,10.0.0.2,10.0.0.3)
  3. 选择一台为中控机(假设为 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 解压相关资源包

  1. 解压套餐包(包含蓝鲸相关产品,如 PaaS、CMDB、JOB 等;蓝鲸依赖的 rpm 包,SaaS 镜像,定制 Python 解释器;部署脚本)

    cd /data
    tar xf bkce_basic_suite-6.0.4.tgz
    
  2. 解压各个产品软件包

    cd /data/src/; for f in *gz;do tar xf $f; done
    
  3. 解压证书包

    install -d -m 755 /data/src/cert
    tar xf /data/ssl_certificates.tar.gz -C /data/src/cert/
    chmod 644 /data/src/cert/*
    
  4. 拷贝 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 ,进行操作前请先确认是否需要备份。

  1. 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 并找到“属性” -> “安全”,然后选择你登陆的用户名,最后点击编辑,勾选“写入”即可。

  1. 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 位置。

    image-20210408212126061

  • 开发者中心

    面向开发人员,提供了丰富的“SaaS 开发者服务”,如前后台开发框架、API 网关(ESB)、调度引擎、公共组件等,让开发者可以简单、快速地创建、部署和管理 SaaS。

    image-20210408212358315

    image-20201104221315879

  • 侧边栏(常用链接)

    包含蓝鲸官网提供的资源,如教程文档、MagicBox(前端开发工具集,速搭建前端页面),以及自定义的快捷访问链接。

    image-20210408212449321

接下来,我们从管理员admin 视角来开启使用!

一、【用户管理】账号分配

社区版部署完成之后只有一个系统默认内置的 admin 账号,也即管理员账号,拥有蓝鲸体系所有产品的权限。

如果需要不同角色人员来使用蓝鲸体系产品,则到【用户管理】添加用户即可。详见:用户管理产品白皮书:新增本地用户目录

Ps:如果要在蓝鲸自带的用户鉴权体系上扩展,可以接入第三方的组织架构以及鉴权体系,详情可以参考:社区版: 蓝鲸登录接入企业内部登录

二、【配置平台】创建业务

配置平台是构建其他所有流程的基石,所以在配置平台创建业务是重要的前置步骤。

1、创建业务

业务是蓝鲸 CD 体系中比较重要的概念和维度,日常使用中主机、进程、业务拓扑的管理都需要依赖已经存在业务,其他蓝鲸体系产品也基本上都是围绕业务的维度来提供对应的服务和相关的鉴权。

打开【蓝鲸配置平台】,选择资源-->业务-->新建

image-20201105190409518

2、创建业务拓扑

业务拓扑是配置平台进行主机管理的基础,合适的业务模型,可以结构化的管理好主机。

业务创建成功后在业务菜单中,可以看到下拉列表有了刚刚新增的业务,默认有一个空闲机池的 set 和三个模块,如下:

image-20201105200710289

点击拓扑顶点的业务,新建集群

image-20201105201737192

有两种方式创建集群,这里以直接创建为例(同下面创建模块),从集群模板创建详见:集群模板

image-20201105201829608

image-20201105202450791

从模板新建模块和服务分类的详细说明,可详见:服务模板 服务分类

至此,业务拓扑即创建完毕。

image-20201105203423835

Ps:业务拓扑默认三层,业务-->集群-->模块;如果实际应用场景不满足,可以新增自定义层级(最多支持 7 层),详见:模型关系

3、导入主机

主机是配置平台管控最常见的资源,也是运维日常主要的管控对象;更多 CMDB 配置模型管理见:模型管理

(1)方式一:手动导入,资源-->主机-->导入主机,批量从 Excel 导入(注意:批量导入只能导入直连区的主机,跨云区域的需要通过 Agent 安装导入,云区域说明详见:基本概念:云区域

image-20201105205112867

​(2)方式二:安装 Agent 自动注册(推荐)

三、【节点管理】Agent 安装

蓝鲸 Agent,是实现主机与蓝鲸通讯的专用程序,在主机上安装了蓝鲸 Agent 以后,可以通过蓝鲸对主机进行管控,包含文件分发、作业执行、数据上报、基础信息采集等,是所有上层服务的基础。

安装工具:节点管理(批量快速地部署蓝鲸 Agent,覆盖 Linux、Windows)

以安装直连区域为例(非直连安装可详见:安装蓝鲸 Agent(自定义云区域)

打开【节点管理】,选择Agent管理菜单,点击安装 Agent-->普通安装

image-20201105211632178

image-20201105212214483

安装过程可以看到每个步骤的详情

image-20201105212620448

安装成功后,在Agent管理菜单可以看到状态正常,即完成 Agent 的安装

image-20201105212800806

四、【作业平台】作业执行&文件分发

Agent 安装完之后,即可用作业平台进行批量脚本执行、文件分发、文件拉取、定时任务等基础运维操作

1、快速脚本执行

打开作业平台,选择左边菜单栏的脚本执行

image-20201105213835392

image-20201105214108237

2、快速文件分发

打开作业平台,选择左边菜单栏的文件分发

image-20201105215606746

至此,我们完成了作业平台的两大核心功能脚本执行文件分发的操作;通常情况,我们往往是需要组合这两个操作原子,并进行编排,比如版本包分发到服务器之后,需要解压,然后需要修改配置并拉起进程,这种场景我们可以通过作业平台的作业功能来实现,可详见:作业管理 。

五、【标准运维】任务流程编排

标准运维是通过可视化的图形界面进行多系统间的“任务流程编排”和“执行”的系统,将企业内部多系统间的工作整合到一个流程模版中,实现一键自动化调度。

标准运维使用项目流程作为任务编排模板,通过项目流程模板可以反复新建、执行“任务”实例,从而实现“反复多次一键自动化调度”运维日常任务的功能。

我们准备编排一个简单的流程:去服务器 IP1 上执行脚本(基于蓝鲸作业平台),然后发邮件通知(基于蓝鲸 PaaS 平台)告诉用户 userA:脚本执行完成;并能够反复多次一键自动化调度使用。

1、创建项目流程

标准运维使用项目流程进行调度编排。进入标准运维后,选择项目流程,选择服务器 IP1 所在的业务。

在项目流程页面,点击左上角新建按钮,新建项目流程。

image-20201105193135770

2、编排项目流程

流程编排页面的总体界面介绍:

上方:标题和流程功能区。 命名标题和编辑流程的 4 项功能:设置全局变量、基础信息、本地快照、模板数据。

左侧:插件节点。 选择已经对接的系统功能插件、和流程逻辑按钮。

中间:画布。 将左侧原子、流程逻辑按钮,拖拽到画布上,连接,进行任务编排。

(1)拖拽左侧节点作业平台(job)—快速执行作业蓝鲸服务(BK)—发送通知插件,到中间画布区域。

(2)通过连线,将节点以开始-->快速执行作业-->发送通知-->结束的方式进行编排。

image-20201105194518565

(3)点击快速执行脚本节点,页面右侧弹出节点配置页面,在其中配置要执行的脚本、服务器 ip、目标账户等信息。填写好参数后,点击保存按钮。该步骤将蓝鲸作业平台的[快速执行脚本]的功能,编排入本流程中。

image-20201105195733855

(4)点击发动通知节点,页面右侧弹出节点配置页面,在其中配置通知方式、通知人员、主题、内容等信息。填写好参数后,点击“保存”按钮。该步骤将蓝鲸 PaaS 平台的发送通知的功能,编排入本流程中。(如果需要真实的发送通知,详见:如何配置通知渠道,如邮件、微信、短信等?

image-20201105203249641

(5)至此,我们就编排好了一个流程,将【蓝鲸作业平台】和【蓝鲸 PaaS 平台】的两个功能进行串联。现在我们便可以一键式的自动调度执行这个流程。

3、执行流程任务

在项目流程页面,可以查看已经保存的项目流程,通过点击右侧的新建任务链接,可以进入该项目流程的执行页面。

image-20201105200547226

(1)第 1 步:查看到这个项目的全部步骤,如果配置了可选节点,可以选择要执行的节点。本例中,我们无须配置,直接点击下一步按钮。

image-20201105200654504

(2)第 2 步:选择项目的执行信息和填写流程中需要的参数信息,本例中我们无须配置,直接点击下一步按钮。

image-20201105200625097

(3)第 3 步:确认节点、参数,无误后,点击右上角的执行按钮,基于该流程的一条新任务实例开始执行。

image-20201105200938312

(4)在执行页面,可以直观看到每个节点的执行状态。

image-20201105202027151

(5)点击节点,右侧弹窗会显示该节点详细的输入参数和输出返回的结果。当执行出错时,我们可以依据输入输出参数信息,定位出调用该系统时,执行出错的原因。

image-20201105201141590

(6)节点的调用执行都成功以后,整个任务执行成功。我们可以在【蓝鲸作业平台】上看到服务器脚本的执行记录,也可以收到【蓝鲸 PaaS 平台】发送的邮件通知消息。

image-20201105202411014

这样我们就完成了使用标准运维编排出了多系统调度的自动化流程,并且成功的一键式触发了执行。抛砖引玉,我们可以根据自己的业务场景来编排不同的任务流程。更多标准运维场景使用见:标准运维产品白皮书

六、【权限中心】权限管理

以管理员(admin)的身份完成了以上的所有相关配置及操作之后,如果公司组织里其他人员需要使用蓝鲸体系产品,该如何进行权限的授权和申请呢?

蓝鲸权限中心(BKIAM)是蓝鲸智云提供的集中权限管理服务,提供权限接入服务,细化到资源实例级别的访问权限控制。用户可以在权限中心通过自定义操作权限、用户组来实现人员权限的管理。

1、配置权限模板&用户组

蓝鲸部署后,admin 是默认的超级管理员,可以配置权限。

admin 进入到【权限中心】配置权限模板及创建用户组,比如步骤二里创建的业务测试专用,建一个[测试专用业务运维用户组],该用户组包含了设定的各个系统相关的运维权限,创建好对应的用户组,就可以给用户授权,详细操作见:权限中心产品白皮书:创建权限模板创建用户组

2、admin 可以主动授权或者普通用户申请权限

  • 主动授权

    image-20201105231234428

  • 普通用户申请权限(推荐申请用户组,如果不满足可以申请自定义权限)

    image-20201105231234428

    image-20201105231234428

至此,非管理员也具备了使用蓝鲸体系的权限,可以根据具体场景来使用不同的产品。

关于权限管理的更多场景参考:

posted on 2021-11-22 09:40  DevOps_SRE  阅读(346)  评论(0编辑  收藏  举报