安装 Job 及依赖

Job是蓝鲸的作业平台,它依赖管控平台的gse和每台服务器上安装gse_agent才能工作。另外它也需要从配置平台读取业务权限和主机IP列表,所以要在安装cmdb成功后,再安装Job

Job依赖简图

Job依赖的开源组件 mysqlredisrabbitmqnginx, 其中只有 rabbitmq还未安装。

安装 rabbitmq

rabbitmq 除了 Job 使用,在蓝鲸社区版中,用到了 celery 组件的 SaaS 和后台也依赖,SaaS 上下架所用到的 paas_agent 组件依赖 rabbitmq 的 management 插件功能。这个功能在 rabbitmq 3.0 以上才支持,所以 通过 yum 安装 rabbitmq 时确保版本在3.0 以上。

  1. ./bkcec install rabbitmq
  2. ./bkcec initdata rabbitmq

详解:

  • 安装 rabbitmq-server

    • yum install rabbitmq-server 安装 rabbitmq 前需要安装 Erlang,如果配置好 yum源,可以自动安装依赖。
    • 安装 rabbitmq 后,系统会自动创建 rabbitmq 用户,蓝鲸社区版里会将 rabbitmq 默认的目录配置到 $INSTALL_PATH下,所以需要创建这些目录,并授权:
  1. install -d -o rabbitmq -g rabbitmq $INSTALL_PATH/etc/rabbitmq
  2. install -d -o rabbitmq -g rabbitmq $INSTALL_PATH/public/rabbitmq
  3. install -d -o rabbitmq -g rabbitmq $INSTALL_PATH/public/rabbitmq/mnesia
  4. install -d -o rabbitmq -g rabbitmq $INSTALL_PATH/logs/rabbitmq
  • 生成 rabbitmq 的配置:
  1. render_cfg_templates service "*#rabbitmq#*"
  2. echo '[rabbitmq_management,rabbitmq_management_agent].' >$INSTALL_PATH/etc/rabbitmq/enabled_plugins
  • 启动 rabbitmq :
  1. systemdctl start rabbitmq-server
  • 初始化 rabbitmq,会添加账户,vhost,设置权限,具体内容,请参考 initdata_rabbitmq 函数

安装 Job

开始安装 job 这个模块

  1. ./bkcec install job
  2. ./bkcec initdata job
  3. ./bkcec start job

详解:

  • 安装job(install_job 函数)

    • 安装java依赖
    • 拷贝job工程代码
    • 添加 hosts
    • 渲染配置模板
    • 转换job和gse通信用的公钥和密钥格式(gen_job_cert)
  • 启动 Job
  1. $INSTALL_PATH/job/job/bin/job.sh start
  • 初始化 Job: 导入sql文件

安装 gse_agent

在蓝鲸后台自身所在机器(install.config里配置的IP),安装上gse_agent

  1. ./bkcec install gse_agent