云效k8s第一批发布时新旧版本的image同时启动,有办法新开个deployment只启动新版本吗?[阿里云云效]

云效k8s第一批发布时新旧版本的image同时启动,有办法新开个deployment只启动新版本吗?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 那这个就会导致 流量全部进入新的版本,这样如果新的版本是有问题的,也没有挽救的余地了,如果只需要新的版本可以直接全量发布,直接k8s发布,这样就不用分批了-此回答整理自钉群“云效答疑服务群”

  2. 是的,您可以通过创建一个新的Deployment来只启动新版本的image,并在第一批发布时同时存在新旧版本的Deployment。

    下面是一种可能的方法来实现这个目标:

    1. 创建新的Deployment:使用kubectl或云效界面,在Kubernetes集群中创建一个新的Deployment对象,并指定您要部署的新版本的image。确保为新的Deployment设置唯一的名称和合适的标签。

    2. 更新旧版本的Deployment:将旧版本的Deployment进行更新,将其replicas设置为0(即不再运行副本)。这样,旧版本的Deployment将停止运行,并释放资源。

    3. 进行滚动升级:使用滚动升级策略(如RollingUpdate)将新的Deployment逐步推出。您可以根据需要配置滚动升级的参数,如并发pod数、最大不可用pod数等。这样可以确保在新版本逐步部署的过程中,服务仍然可用,并且可以回滚到旧版本,如果需要的话。

    4. 监控和验证:在滚动升级完成后,监控新版本的Deployment是否正常运行,并验证您的应用程序是否按预期工作。

    请注意,具体的操作步骤可能因您使用的Kubernetes版本和工具而有所不同。建议查阅相关的Kubernetes文档或使用云效界面上提供的相应功能进行操作。此外,确保在进行这些操作之前,备份和测试您的代码和配置,以避免任何潜在的问题。

    总结而言,在第一批发布时,通过创建新的Deployment并同时启动新旧版本的image,然后逐步滚动升级到新版本,您可以实现只启动新版本的目标,并确保服务的平滑过渡和可用性。