安装SaaS部署环境

SaaS部署环境分为测试环境(appt)和正式环境(appo)。对应的后台模块叫paas_agent,正式环境和测试环境的区分主要是启动时环境变量的差异。

Paas-Agent依赖简图

paas_agent使用python的virtualenv工具来隔离不同的SaaS环境。有一些SaaS需要使用Celery框架,故依赖rabbitmq。这些依赖前述步骤已经安装完成。

集成安装这个模块的命令在快速部署文档里提到:./bk_install app_mgr

激活 rabbitmq

由于rabbitmq的安装和初始化在前面步骤已经完成,此时会跳过这两步,到激活rabbitmq:

  1. ./bkcec activate rabbitmq

激活rabbitmq是调用paas的接口,传递MQ的用户名和密码,供paas验证rabbitmq的部署是否成功。验证成功后,paas会把这个rabbitmq示例标记为激活可用状态,才能继续后面的SaaS安装部署操作。

安装 appo 环境

  1. ./bkcec install appo
  2. ./bkcec initdata appo
  3. ./bkcec start appo
  4. ./bkcec activate appo

详解:

  • 安装 appo(install_paas_agent函数)
    • 创建apps用户,该用户用来启停 SaaS的后台python工程。
    • 拷贝paas_agent二进制和证书目录
    • 安装专属python解释器
    • 使用专属python创建paas_agent的virtualenv
    • 创建$INSTALL_PATH/.appenvs 目录作为WORKON_HOME
    • 安装paas_agent 部署 SaaS 时的python包依赖
    • 安装nginx做SaaS的反向代理
    • 渲染paas_agent模板,生成配置。
    • 添加/etc/hosts记录
  • 初始化 appo (initdata_paas_agent)
    • 初始化paas_agent mysql数据库
    • 注册paas_agent到paas平台,成功后获取到sid和token
    • 根据sid和token,修改paas_agent的配置文件。
  • 启动 paas_agent
  • 激活 paas_agent。启用这个已经注册的paas_agent主机。在做SaaS上下架时,只会操作激活过的paas_agent服务器。

安装 appt 环境

  1. ./bkcec install appt
  2. ./bkcec initdata appt
  3. ./bkcec start appt
  4. ./bkcec activate appt

安装 appo 环境

  1. ./bkcec install appo
  2. ./bkcec initdata appo
  3. ./bkcec start appo
  4. ./bkcec activate appo