首页 容器服务 Kubernetes 版 ACK 容器服务 Kubernetes 版 操作指南 应用管理 应用发布 使用Kruise Rollout实现灰度发布(金丝雀&A/B Testing)

使用Kruise Rollout实现灰度发布(金丝雀&A/B Testing)

更新时间: 2023-11-16 17:11:50

Kruise Rollout是基于Kubernetes的一个标准扩展组件,可以配合原生工作负载(Deployment、StatefulSet)以及OpenKruise工作负载(CloneSet、Adcanced StatefulSet),实现金丝雀发布、A/B Testing发布和蓝绿发布等功能。实现灰度发布、A/B Testing发布和蓝绿发布等功能。本文通过示例介绍如何使用Kruise Rollout灰度发布云原生应用。

索引

前提条件

  • 已创建Kubernetes集群。具体操作,请参见创建Kubernetes托管版集群

    • 如需使用A/B Testing或金丝雀发布的能力,集群版本需为1.19及以上版本。

    • 如需使用分批发布能力,则集群版本需为1.16及以上版本。

  • 已安装kubectl-kruise。关于kubectl-kruise安装路径,请参见kubectl-kruise

Kruise Rollout介绍

Kruise Rollout是OpenKruise社区开源的渐进式交付框架。Kruise Rollout支持配合流量和实例灰度的灰度发布、蓝绿发布、A/B Testing发布。基于Prometheus Metrics指标,Kruise Rollout还可以实现发布过程的自动化分批与暂停,并提供旁路的无感对接、兼容已有的多种工作负载(Deployment、CloneSet、StatefulSet)。更多信息,请参见Kruise Rollout

Kruise Rollout是一种旁路式的工作机制。您只需配置一份Rollout资源并将其下发到K8s集群中,后续的业务发布、升级均无需额外操作,并且可以与Helm、PaaS平台低成本地无缝对接。使用Kruise Rollout实现灰度发布架构如下图所示。gray

准备工作

安装Kruise Rollout组件。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > 组件管理

  3. 组件管理页面,单击应用管理页签,然后在ack-kruise卡片右下方,单击安装

  4. 在弹出的对话框确认信息后,单击确定

下文