开发者社区 > 云效DevOps > 正文

我有个问题: 在1根云效流水线上, 如果存在2次发布(先到测试环境, 再到生产环境)到集群, 如果?

我有个问题: 在1根云效流水线上, 如果存在2次发布(先到测试环境, 再到生产环境)到Kubernetes集群, 如果使用"部署历史"的"回滚"操作, 2个环境会被同时回滚. 请问有什么办法控制权限吗? 或者其它解决办法. 谢谢

展开
收起
真的很搞笑 2023-06-14 09:42:46 43 0
4 条回答
写回答
取消 提交回答
  • 在流水线控制台中,进入“集群”页面,查看已经加入流水线的集群实例。 在集群实例列表中,选择需要进行测试的集群实例,点击“配置集群”按钮,进入集群实例的配置页面。 在集群实例配置页面中,点击“立即更新”按钮,更新集群实例配置。 在更新完成后,点击“重启集群”按钮,重启集群实例。 在流水线控制台中,点击“立即扩缩容”按钮,将集群实例扩容至需要的数量。 在扩容完成后,将集群实例从测试环境部署到生产环境,这样就完成了2次发布的流程

    2023-06-18 10:47:10
    赞同 展开评论 打赏
  • 如果你在一个阿里云云效流水线上进行两次发布(测试环境和生产环境),并且在使用"部署历史"的"回滚"操作时,两个环境会同时回滚的情况下,你可以考虑以下解决方案:

    1. 使用不同的命名空间(Namespace):在Kubernetes集群中,每个环境可以使用不同的命名空间来隔离资源。你可以为测试环境和生产环境分别创建不同的命名空间,并在流水线中为每个环境指定相应的命名空间。这样,在回滚操作时,只回滚对应环境所在的命名空间,而不会影响其他环境。

    2. 控制回滚权限:在Kubernetes中,可以使用RBAC(Role-Based Access Control)来控制访问和操作权限。你可以创建不同的RBAC角色或角色绑定,并为不同的用户或团队分配相应的权限。通过精细化的权限控制,可以限制回滚操作只针对特定环境。

    3. 自定义回滚机制:如果Kubernetes集群没有内置的回滚机制或无法满足你的需求,你可以考虑在流水线中自定义回滚操作。通过编写自定义的脚本或操作,你可以根据需要选择回滚的目标环境,并执行相应的回滚操作。这样可以更灵活地控制回滚行为。

    需要注意的是,具体的解决方案可能会因你的实际场景和使用的工具而有所不同。你可以根据自己的需求和环境,选择适合的方法来解决权限控制和回滚操作的问题。

    建议参考阿里云云效和Kubernetes的官方文档,以了解更多关于RBAC、命名空间和回滚机制的详细信息和示例。此外,阿里云云效还提供了丰富的流水线配置和权限管理功能,你可以咨询阿里云的客户支持团队,以获取更具体的帮助和指导。

    2023-06-14 21:15:57
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    对于您提到的情况,一种解决方法是为测试环境和生产环境分别创建两个不同的deployment资源,并且分别配置不同的权限和回滚策略。这样您就可以实现在不同的环境下进行独立的回滚操作。

    具体而言,您需要对deployment资源进行配置:

    首先,在创建测试环境的deployment时,使用命令“kubectl create deployment”来创建。同时,您需要为该deployment创建一个专用的service,以实现从外部访问该测试环境。

    然后,为测试环境的deployment资源配置回滚策略,可以通过“kubectl rollout”命令实现。例如,您可以通过“kubectl rollout history deployment/”来查看回滚历史,并使用“kubectl rollout undo deployment/”来执行回滚操作。

    接下来,您需要为生产环境的deployment创建一个独立的namespace资源,并为该namespace分配不同的权限。例如,您可以使用Role和RoleBinding资源来定义不同的权限策略。

    然后,您可以使用命令“kubectl create deployment --namespace=”来创建生产环境的deployment。同时,您需要为该deployment创建一个专用的service,以实现从外部访问该生产环境。

    最后,您需要为生产环境的deployment资源配置回滚策略,同样可以使用“kubectl rollout”命令实现。与测试环境的deployment资源相似,您可以通过“kubectl rollout history deployment/ --namespace=”来查看回滚历史,并使用“kubectl rollout undo deployment/ --namespace=”来执行回滚操作。

    通过以上步骤,您就可以将测试环境和生产环境分别配置为独立的资源组,并实现不同的权限控制和回滚策略。这样一来,即使您在同一根云效流水线上执行多次发布操作,也不会影响到彼此之间的回滚操作。

    2023-06-14 16:20:16
    赞同 展开评论 打赏
  • 您是否配置了2个部署任务?部署历史这里可以选择回滚哪个任务:d77dfcbffda49d5f898e88013b32f5bf.png ,此回答整理自钉群“云效开发者交流群5群”

    2023-06-14 09:45:07
    赞同 展开评论 打赏

云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。

热门讨论

热门文章

相关电子书

更多
云效2.0 ——敏捷项目管理实践及工具落地 立即下载
云效助力企业软件供应链生产效能提升 立即下载
基于阿里云K8S服务快速构建DevOps流水线 资料下载 立即下载