# 部署方案

# 方案一

  • 部署架构

    deployment-plan-1

  • 关键设计

    • 运维使用的发布环境为独立一套单独环境
    • 生产允许打通单向访问测试区网络端口
    • 云下发布仅允许通过堡垒机执行发布操作
    • 需要对发布用户及发布资源进行权限校验
    • 需要对发布过程进行留存与审计
    • 需要保证平台发布使用的认证信息传递及存储安全
    • 不需要改造堡垒机接口及插件
  • 功能设计

    • 服务集成添加远程DevOps地址及认证信息配置
    • 数据同步功能支持同步发布相关数据(如流水线)
    • 数据同步及制品同步采用pull的方式(单向)
    • 平台参数支持配置堡垒机信息及生产发布的环境
    • 流水线执行发布时弹窗验证执行用户的堡垒机账号信息及资源权限(资源通过流水线变量配置resource)
    • 生产发布执行使用固定堡垒机账户(不进行堡垒机认证信息的传递及存储)
    • 生产发布的堡垒机执行用户的认证信息使用加密存储(采用密钥访问的方式,使用Secret挂载)
  • 网络策略

    区域 服务器 运行环境 默认端口 说明
    测试区 DevOps平台 容器云 api DevOps所在工作节点需访问制品库api,容器云部署资源api(测试区)
    测试区 Jenkins部署引擎 容器云 api Jenkins所在工作节点需访问制品库api,容器云部署资源api,主机部署资源ssh端口。(测试区)
    测试区 Artifactory制品库 主机 api
    测试区 容器云部署资源 容器云 api 容器云部署资源所有工作节点需要访问制品库api(测试区)
    测试区 主机部署资源 主机 22 主机部署资源需要访问制品库api(测试区)
    生产区 DevOps平台 容器云 api DevOps所在工作节点需访问制品库api,容器云部署资源api,堡垒机api(生产区)。需要访问测试区DevOps平台进行数据同步(生产-测试)。
    生产区 Jenkins部署引擎 容器云 api Jenkins所在工作节点需访问容器云部署资源api,堡垒机ssh端口。(生产区)
    生产区 Artifactory制品库 主机 api 需访问测试区Artifactory制品库进行制品同步。(生产-测试)
    生产区 堡垒机 主机 api,22 需访问所有主机部署资源的ssh端口。(生产区)
    生产区 容器云部署资源 容器云 api 容器云部署资源所有工作节点需要访问制品库api(生产区)
    生产区 主机部署资源 主机 22 主机部署资源需要访问制品库api(生产区)

# 方案二

  • 部署架构

    deployment-plan-2

  • 网络策略

    区域 服务器 默认端口 说明
    生产区 DevOps平台 8080
    生产区 项目管理服务器 8080,8090 Jira和Confluence,也可分开两台服务器部署
    生产区 代码服务器 80,9001
    生产区 Jenkins构建服务器 8080
    生产区 介质仓库 8081 可连接开发测试区的介质仓库
    生产区 Jenkins部署服务器 8080 不直接连接各目标部署机器,通过堡垒机进行自动部署工作
    生产区 数据库服务器 3306 默认采用MySQL主备
    开发测试区 Jenkins部署服务器 8080 要求与生产区的DevOps平台能够双向打通
    开发测试区 介质仓库 8081 可连接外网
上次更新: 2023-4-17 15:21:02