• 安装脚本功能概述
    • bkcec 脚本原理
    • bkcec 说明
    • 文件用途
      • 脚本包的文件
      • 完成安装或日常升级后会生成的文件

    安装脚本功能概述

    bkcec 脚本原理

    bkcec脚本原理

    bkcec 说明

    bkcec 是蓝鲸社区版的安装维护主脚本;bk_install 是封装了bkcec的集成安装脚本。

    bkcec的调用语法为:bkcec <command> <module> [project] [1]

    其中可用的command有:

    • sync从中控机的src/同步安装<module>依赖的文件和目录到对应机器的src/下
    • install安装<module>到$INSTALL_PATH(默认/data/bkce)下
    • install <module> 1等同于先执行 sync <module>,再执行install <module>,合二为一
    • initdata安装后初始化,常用于模块的用户创建,sql导入,权限设置等操作
    • render渲染模块的模板文件,install过程中会调用它,做模板变量替换。
    • status检查模块的进程是否运行
    • start启动模块的进程
    • stop停止模块的进程
    • upgrade升级更新模块
      其中模块名,对应install.config里的名称,当前社区版包含以下模块,按模块特点分为两类,一是开源外部组件,二是蓝鲸自研产品

    • 开源组件

      • nginx web服务器和反向代理
      • rabbitmq 消息队列服务
      • kafka 分布式数据流处理服务
      • zk zookeeper 分布式配置服务
      • es elasticsearch 分布式搜索和数据分析引擎
      • consul 分布式服务发现和域名服务
      • mongodb 面向文档的数据库管理系统
      • mysql 关系数据库管理系统
      • beanstalk 消息队列服务
      • redis 键值对存储数据库
    • 蓝鲸组件
      • paas 蓝鲸PaaS
      • cmdb 蓝鲸配置平台
      • job 蓝鲸作业平台
      • gse 管控平台后台
      • license 证书服务
      • appo SaaS部署的正式环境
      • appt SaaS部署的测试环境
      • bkdata 数据平台基础服务
        • dataapi 数据平台api接口服务
        • databus 数据平台总线服务
        • monitor 监控后台
      • fta 故障自愈后台

    文件用途

    脚本包的文件

    • RELEASE.md版本日志
    • VERSION版本号
    • agent_setup/存放安装agent相关的脚本以及脚本模版
    • appmgr/存放构建SaaS和运行SaaS所需的脚本,社区版采用virtualenv方式
    • bk_install封装bkcec用来做集成安装部署
    • bkcec安装和维护的主脚本
    • bkco.env bkco.fc bkco_install网络管理模块所用的安装部署相关环境变量和函数定义
    • clean.fc卸载清理相关函数
    • configure_ssh_without_pass一键配置免密ssh登陆用的脚本
    • control.rc定义进程启停的函数库
    • crontab.rccrontab新增和删除相关的函数定义
    • deck/saas.py命令行部署SaaS应用的工具
    • deliver.rc定义从中控机同步文件目录到对应模块机器的函数
    • dependences.env各模块依赖的命令和rpm包定义
    • errors.env错误码定义
    • functions通用的bash函数
    • globals.env定义蓝鲸组件用到的全局变量配置
    • health_check/check_proc_existsconsul使用的健康检查脚本
    • install.config定义模块在主机的分布部署方式
    • install_minibk最小化单机部署的封装脚本
    • migrate/蓝鲸套件迁移升级的脚本,目前没有用
    • parse_config解析install.config并生成consul主配置和服务定义的配置,config.env等文件
    • pip/存放安装脚本所需的pip依赖包
    • ports.env定义所有组件需要设定的端口信息
    • process_watch + watch.rc进程监控脚本
    • register.rc自动注册主机到CMDB的函数
    • scripts/gse gseagent和gse proxy所需要启停脚本,在安装gse时会自动打包进去
    • status.rc检查进程状态相关的函数
    • summary.rc打印相关模块和所有模块的版本信息
    • templates/安装脚本初始依赖的配置模版,目前只是consul的supervisor配置
    • templates_render.rc渲染配置模版,根据读取配置文件和动态生成的变量去替换模版里的占位符。
    • update.rc一些更新配置或者证书的操作定义
    • upgrade.rc各模块的升级操作封装
    • utils.fc安装、初始化主要函数都在这里先找。

    完成安装或日常升级后会生成的文件

    • .agreed同意安装协议后的标记文件

    • .app.token后台程序和SaaS,访问ESB接口时需要使用的app_code和app_token的键值对。

    • .bk_install.step集成安装的步骤进度标记文件

    • .controller_ip中控机的IP地址

    • .migrate/成功导入的sql文件的标记文件。使用了chattr +i,具有不可删除属性。

    • .path蓝鲸的安装路径。

    • .rcmdrc使用rcmd()函数远程执行命令时,会加载的rc文件

    • /tmp/bkc.logbkeec等脚本输出的日志