tongchenkeji 发表于:2023-7-30 12:56:090次点击 已关注取消关注 关注 私信 云效k8s第一批发布时新旧版本的image同时启动,有办法新开个deployment只启动新版本吗?[阿里云云效] 暂停朗读为您朗读 云效k8s第一批发布时新旧版本的image同时启动,有办法新开个deployment只启动新版本吗? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 阿里云云效# AES专家服务397# Kubernetes381# 云效3181# 容器895# 容器服务Kubernetes版597
ÐAM 2023-11-28 8:32:37 1 那这个就会导致 流量全部进入新的版本,这样如果新的版本是有问题的,也没有挽救的余地了,如果只需要新的版本可以直接全量发布,直接k8s发布,这样就不用分批了-此回答整理自钉群“云效答疑服务群”
Star时光AM 2023-11-28 8:32:37 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,然后逐步滚动升级到新版本,您可以实现只启动新版本的目标,并确保服务的平滑过渡和可用性。
那这个就会导致 流量全部进入新的版本,这样如果新的版本是有问题的,也没有挽救的余地了,如果只需要新的版本可以直接全量发布,直接k8s发布,这样就不用分批了-此回答整理自钉群“云效答疑服务群”
是的,您可以通过创建一个新的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,然后逐步滚动升级到新版本,您可以实现只启动新版本的目标,并确保服务的平滑过渡和可用性。