开发者社区 > 云原生 > 容器服务 > 正文

kruise rollout可以做蓝绿发布吗?如果可以,怎么实现呢?

"kruise rollout可以做蓝绿发布吗?如果可以,怎么实现呢?看文档只给出了灰度、分批、abtest的介绍。
a872552ce6a794581094bfffb2b83c31.png
我想升级的时候,先部署出blue版本,验证通过后,将流量切到blue版本,同时保留green版本。后续可以通过人工的方式决定是回收还是长期保留green版本。"

展开
收起
十一0204 2023-10-24 20:21:03 82 0
3 条回答
写回答
取消 提交回答
  • Kruise Rollout 是一个基于 Kubernetes 的发布管理工具,可以支持灰度发布、分批发布和 A/B 测试等发布策略。虽然文档中没有明确提到蓝绿部署,但是 Kruise Rollout 可以通过一些技巧实现蓝绿部署。

    下面是一个简单的步骤:

    1. 创建两个相同的应用程序副本集,一个用于蓝色环境,一个用于绿色环境。可以使用 Kruise Rollout 的 app 命令来创建应用程序。

    2. 在 Kruise Rollout 中创建一个发布任务,将新版本的镜像部署到蓝色环境的副本集中。使用 deploy 命令来创建发布任务。

    3. 等待一段时间,确保新版本的应用程序在蓝色环境中运行正常。

    4. 使用 Kruise Rollout 的 switch 命令将流量从旧版本的应用程序切换到新版本的应用程序。这个命令会将流量逐渐转移到新版本的应用程序中,从而实现平滑的切换。

    5. 如果新版本的应用程序出现问题,可以使用 Kruise Rollout 的 rollback 命令回滚到旧版本的应用程序。

    需要注意的是,Kruise Rollout 并没有直接提供蓝绿部署的功能,需要通过上述步骤来实现。同时,蓝绿部署需要更多的配置和管理,需要仔细考虑应用程序的特点和需求。

    2023-10-29 07:52:36
    赞同 展开评论 打赏
  • Kruise Rollout 是一个用于部署和管理 Kubernetes 应用的工具,它支持蓝绿发布。

    要使用 Kruise Rollout 实现蓝绿发布,可以按照以下步骤进行操作:

    1. 首先,确保你已经在 Kubernetes 集群中安装了 Kruise Rollout。你可以从 Kruise 的官方文档中找到安装指南。

    2. 在你的应用程序中,将服务分为两个版本:蓝(blue)和绿(green)。每个版本都应该有自己的部署和服务资源。例如,你可以创建一个名为 "app-blue" 的部署和一个名为 "app-green" 的部署。

    3. 使用 Kruise Rollout 创建一个新的 Rollout 资源。在 Rollout 资源中,你需要指定你想要使用的部署和副本数量。例如,你可以创建一个名为 "app-rollout" 的 Rollout,并将 "app-blue" 部署设置为初始副本数为0,将 "app-green" 部署设置为初始副本数为0。

    4. 通过更新 Rollout 资源的副本数来控制流量切换。当你想要将流量切换到新版本时,你可以增加新版本的副本数并减少旧版本的副本数。例如,你可以将 "app-blue" 部署的副本数减少到0,将 "app-green" 部署的副本数增加到所需的副本数。

    5. Kruise Rollout 会自动处理滚动更新和回滚操作,以确保服务的可用性。如果新版本出现问题,你可以通过回滚到旧版本来恢复服务。

    通过以上步骤,你可以使用 Kruise Rollout 实现蓝绿发布策略。请注意,这只是一个基本的示例,实际的配置可能会根据你的应用程序和需求而有所不同。

    2023-10-25 21:16:51
    赞同 展开评论 打赏
  • 意中人就是我呀!

    这个对于目前 kruise rollout的方式比较困难,因为 kruise rollout的一个主要是思想 deployment name 不改变。你的这种思路比较好的是 dpeloyment-v1, deployment-v2, deployment-v3 来回切换比较好。主要是核心思路都不一样,目前 没想清楚,暂时还没有支持的计划,主要是目前的思路,也不好支持。此答案整理至钉群“OpenKruise 社区交流群”

    2023-10-24 21:06:11
    赞同 展开评论 打赏
问答分类:

国内唯一 Forrester 公共云容器平台领导者象限。