应用发布管理与Helm包管理实战
1. 应用发布策略
1.1 滚动更新及其问题
以Web应用为例,滚动更新有其优势,它能让每个Pod在处理完所有客户端请求后优雅关闭,并且更新速度可快可慢。但在更新过程中,用户体验可能会受到影响。比如应用更新可能会改变用户界面设计、增加新功能或更新工作流程。若用户在更新过程中看到新版本,刷新页面后却回到旧版本,这会让用户感到困惑,因为请求可能由运行不同版本应用的Pod处理。
1.2 应对策略
为解决上述问题,可采取以下策略:
- 设置Cookie与流量路由 :在Web应用中设置Cookie,将客户端与特定的用户体验关联起来,然后使用更高级的流量路由系统确保用户始终看到新版本。不过这种方法较为复杂,且可能无法解决多版本同时运行的问题。
- 蓝绿部署 :这是一种简单的概念,即同时部署应用的旧版本和新版本,但只有一个版本处于活动状态。通过更新Service中的标签选择器,可将流量导向不同Deployment中的Pod,从而在两个版本之间切换。
1.3 蓝绿部署的特点
- 资源需求 :集群需要有足够的容量来同时运行应用的两个完整副本。对于Web或API组件,新版本在未接收流量时应使用最少的内存和CPU资源。
- 切换速度 :通过更新Service的标签选择器来切换版本,由于所有Pod都在运行且准备好接收流量,因此更新几乎是即时的。
- 回滚方便 </
超级会员免费看
订阅专栏 解锁全文
1910

被折叠的 条评论
为什么被折叠?



