• 安装 PaaS 及依赖
    • 安装 Consul
    • 安装 license 服务
    • 安装 MySQL
    • 安装 Redis
    • 安装 Nginx
    • 安装 PaaS

    安装 PaaS 及依赖

    PaaS是蓝鲸产品的门户入口,所以安装蓝鲸先安装PaaS。

    PaaS依赖的组件和服务如下:

    PaaS依赖简图

    安装PaaS前,我们需要将中控机解压的src/、install/ 目录根据install.config配置的ip和模块关系来分发文件。

    1. ./bkcec sync all

    安装 Consul

    蓝鲸整个平台的内部通信基础是 consul,所以最先安装的开源组件是consul。

    1. ./bkcec install consul
    2. ./bkcec start consul

    过程详解:

    consul 是一个分布式的服务发现和配置管理的开源组件。它只有一个二进制文件,所以安装的主要工作在于生成需要的配置文件。

    安装 consul 的主要步骤在 install_consul 函数中,它主要做了以下几个事情:

    • 生成consul的主配置consul.conf和consul用的服务定义文件consul.d/service.json是由 parse_config 这个python脚本读取 install.config 在每台机器上自动生成。
    • 生成consul的配置后,还需要生成启动consul的supervisor配置。
    • 修改系统的 /etc/resolv.conf 加上nameserver 127.0.0.1 并保证它是第一条记录
      启动 consul。consul正常启动后,可以用consul members确认是否三台server,其余机器为client(如果机器数量大于3)。

    安装 license 服务

    证书服务license 也是所有蓝鲸产品的全局依赖,第二个安装

    1. ./bkcec install license
    2. ./bkcec start license

    详解:

    • 拷贝license代码和cert目录
    • 渲染模块配置文件
    • 启动license。

    安装 MySQL

    开始安装MySQL数据库,并初始化设置

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

    详解:

    • 安装包里自带了mysql的二进制,所以直接拷贝到安装目录。新建mysql用户。
    • 渲染my.cnf模板,然后建立/etc/my.cnf的软链。
    • 执行mysql_install_db命令,初始化
    • 启动 mysql
    • 对所有 install.config 里的IP 在mysql上授权

    安装 Redis

    1. ./bkcec install redis
    2. ./bkcec start redis

    详解:

    • 将 redis 命令拷贝到 /usr/bin
    • 渲染配置模板。
    • 修改系统内核参数

      • net.core.somaxconn = 512
      • vm.overcommit_memory = 1
    • 启动 redis

    安装 Nginx

    Nginx 通过 yum 命令从epel源里安装。

    1. ./bkcec install nginx
    2. ./bkcec start nginx

    详解:

    • yum安装nginx
    • 渲染 nginx 模板,并将 /etc/nginx/nginx.conf 软链到 $INSTALL_PATH/etc/nginx.conf
    • 创建 $INSTALL_PATH/miniweb/download目录,并将/data/src/miniweb 目录和 /data/install/functions文件同步过去。供 agent 安装时可以HTTP远程下载用。
    • 启动 nginx

    安装 PaaS

    最后安装 PaaS 模块

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

    详解:

    • 安装 paas 用的函数叫 install_open_paas。注意 paas 在安装部署脚本里均会被转换为 open_paas 来标识。这是一个特例。

      • 修改/etc/hosts 配置FQDN
      • 拷贝代码文件到$INSTALL_PATH/open_paas
      • 安装open_paas专用的python
      • 创建四个子工程(appengine,login,esb,paas)的python虚拟环境。
      • 安装每个子工程依赖的pip包
      • 渲染模板文件
    • 初始化 paas

      • 导入sql初始化数据库
      • paas login esb分别做python migrate初始化
      • esb同步API文档事项
      • 添加app的鉴权白名单,没有session时也可以调用esb。
    • 启动 paas