部署控制台

部署控制台

CODING 持续部署控制台基于 Spinnaker 实现,是一个能够支持多个云端服务(如:Kubernetes、腾讯云)的持续部署控制台。控制台中运维类角色可以在控制台中管理待部署的应用列表,配置部署流程,查看和管理应用集群,对集群进行一些点对点的操作(扩缩容,停止,回退等)。

您可以在 CODING 团队首页中快速进入部署控制台。

功能结构

CODING 部署控制台主要包含两大功能模块,部署流程管理和基础设施管理。

部署流程管理

部署流程由一系列的「阶段」组成,能够将持续部署流水线化。部署流程可以手动触发执行,也支持配置自动触发,比如由 CODING Docker 仓库触发、Webhook 触发、定时触发等。此外,可以配置引用制品、参数、通知和串行并行逻辑。「阶段」是持续部署流程里的一个自动构建模块,您可以在部署流程中定义各个阶段的执行顺序,以实现灵活的自动化部署。CODING 持续部署提供了很多阶段模板供您选择使用,比如人工确认、前置条件检查、Deploy(部署)等。

部署策略

CODING 持续部署支持精细化的部署策略,比如红/黑(蓝/绿)部署、滚动红/黑策略和灰度部署等。用户可以为每个环境使用不同的部署策略,可以在测试环境中使用红/黑策略,生产环境里使用滚动红/黑策略。在部署策略中已经对必要的步骤进行封装,不需要复杂操作就可以实现企业级发布。

基础设施管理

CODING 持续部署基于 Spinnaker CloudDriver 组件,能够兼容适配不同的云平台,实现高效云资源管理。基础设施包含如下几块:

  • 服务组:服务组是最基本的资源管理单元,用于标识可部署的制品(如:VM 镜像、Docker 镜像)以及实例数量、自动伸缩策略、元数据等可配置项。服务组还可能关联负载均衡器和安全组。当部署完成后,服务组就相当于一组运行中的软件实例集合(如:腾讯云弹性伸缩组、Kubernetes pods)。

  • 负载均衡器:用于将外部网络流量重定向到服务组中的运行实例,支持指定一系列规则对运行实例做健康检测。

  • 安全组:定义了网络访问权限,由 IP、端口和通信协议组成安全组规则。

  • 集群:由用户定义的,对服务组的逻辑分组。

  • 应用:CODING 持续部署以应用作为基本部署单位。应用包含若干个应用集群、负载均衡器和安全组等。应用通常代表你想要部署的服务、配置、以及运行所需的基础设置。推荐将一个应用对应至微服务架构中的一个服务。

触发器改造

在保留 Spinnaker 部分原生触发器类型的基础上, CODING 部署控制台扩充了触发器类型,使之能够与 CODING 上游制品库匹配。目前支持4种触发器类型:

  • Git 仓库触发
  • Webhook 触发
  • 定时触发
  • CODING Docker 仓库触发

制品类型改造

在保留 Spinnaker 部分原生制品类型的基础上,CODING 部署控制台在 Git 仓库文件制品类型中扩充了对 CODING 代码库的支持,在 Docker 镜像制品类型中扩充了对 CODING Docker 镜像制品的支持。未来会支持 War 包、Helm 包等更多的制品类型。

名词解释

  • 实例:运行中的容器或 VM 实例

  • Stack:由用户自定义的,对集群的逻辑分组,如 prod, staging, test

  • Detail:由用户自定义的,用于标识集群的三级字段。例如具有相同 \${Application}-\${Stack}-${Detail} 属性的服务组属于同一个集群。

上一篇权限控制
文档是否对您有用?
感谢反馈有用
感谢反馈没用