"kruise rollout可以做蓝绿发布吗?如果可以,怎么实现呢?看文档只给出了灰度、分批、abtest的介绍。
我想升级的时候,先部署出blue版本,验证通过后,将流量切到blue版本,同时保留green版本。后续可以通过人工的方式决定是回收还是长期保留green版本。"
Kruise Rollout 是一个基于 Kubernetes 的发布管理工具,可以支持灰度发布、分批发布和 A/B 测试等发布策略。虽然文档中没有明确提到蓝绿部署,但是 Kruise Rollout 可以通过一些技巧实现蓝绿部署。
下面是一个简单的步骤:
创建两个相同的应用程序副本集,一个用于蓝色环境,一个用于绿色环境。可以使用 Kruise Rollout 的 app
命令来创建应用程序。
在 Kruise Rollout 中创建一个发布任务,将新版本的镜像部署到蓝色环境的副本集中。使用 deploy
命令来创建发布任务。
等待一段时间,确保新版本的应用程序在蓝色环境中运行正常。
使用 Kruise Rollout 的 switch
命令将流量从旧版本的应用程序切换到新版本的应用程序。这个命令会将流量逐渐转移到新版本的应用程序中,从而实现平滑的切换。
如果新版本的应用程序出现问题,可以使用 Kruise Rollout 的 rollback
命令回滚到旧版本的应用程序。
需要注意的是,Kruise Rollout 并没有直接提供蓝绿部署的功能,需要通过上述步骤来实现。同时,蓝绿部署需要更多的配置和管理,需要仔细考虑应用程序的特点和需求。
Kruise Rollout 是一个用于部署和管理 Kubernetes 应用的工具,它支持蓝绿发布。
要使用 Kruise Rollout 实现蓝绿发布,可以按照以下步骤进行操作:
首先,确保你已经在 Kubernetes 集群中安装了 Kruise Rollout。你可以从 Kruise 的官方文档中找到安装指南。
在你的应用程序中,将服务分为两个版本:蓝(blue)和绿(green)。每个版本都应该有自己的部署和服务资源。例如,你可以创建一个名为 "app-blue" 的部署和一个名为 "app-green" 的部署。
使用 Kruise Rollout 创建一个新的 Rollout 资源。在 Rollout 资源中,你需要指定你想要使用的部署和副本数量。例如,你可以创建一个名为 "app-rollout" 的 Rollout,并将 "app-blue" 部署设置为初始副本数为0,将 "app-green" 部署设置为初始副本数为0。
通过更新 Rollout 资源的副本数来控制流量切换。当你想要将流量切换到新版本时,你可以增加新版本的副本数并减少旧版本的副本数。例如,你可以将 "app-blue" 部署的副本数减少到0,将 "app-green" 部署的副本数增加到所需的副本数。
Kruise Rollout 会自动处理滚动更新和回滚操作,以确保服务的可用性。如果新版本出现问题,你可以通过回滚到旧版本来恢复服务。
通过以上步骤,你可以使用 Kruise Rollout 实现蓝绿发布策略。请注意,这只是一个基本的示例,实际的配置可能会根据你的应用程序和需求而有所不同。
这个对于目前 kruise rollout的方式比较困难,因为 kruise rollout的一个主要是思想 deployment name 不改变。你的这种思路比较好的是 dpeloyment-v1, deployment-v2, deployment-v3 来回切换比较好。主要是核心思路都不一样,目前 没想清楚,暂时还没有支持的计划,主要是目前的思路,也不好支持。此答案整理至钉群“OpenKruise 社区交流群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。