目录
步骤一:先基于deployment控制器创建pod,然后发布
一、常见的发布方式
- 蓝绿发布:两套环境交替升级,旧版本保留一定时间便于回滚
特点:对用户无感,是最安全的发布方式,需要两套系统,对资源要求比较高,成本高
- 灰度发布:根据比例将老版本升级,例如80%用户访问是老版本,20%用户访问是新版本
特点:对自动要求比较高,对比起来系统更加稳定发布,如果遇到问题可以减少影响范围
- 滚动发布:按批次停止老版本实例,启动新版本实例。
特点:节约资源,用户无感,但是部署和回滚的速度慢
三种方式均可以做到平滑式升级,在升级过程中服务仍然保持服务的连续性,升级对外界是无感知的。那生产上选择哪种部署方法最合适呢?这取决于哪种方法最适合你的业务和技术需求。
如果你们运维自动化能力储备不够,肯定是越简单越好,建议蓝绿发布如果业务对用户依赖很强,建议灰度发布。如果是K8S平台,滚动更新是现成的方案,建议先直接使用。
二、详解kubectl陈述式方式做灰度发布(金丝雀发布)
金丝雀发布(Canary Release)
Deployment控制器支持自定义控制更新过程中的滚动节奏,如“暂停(pause)”或“继续(resume)”更新操作。比如