顺企网是什么网站,湖南城乡建设部网站,百度推广渠道,站长之家源码一、金丝雀发布#xff08;灰度发布#xff09;
Deployment控制器支持自定义控制更新过程中的滚动节奏#xff0c;如“暂停(pause)”或“继续(resume)”更新操作。 ①比如等待第一批新的Pod资源创建完成后立即暂停更新过程#xff0c;此时#xff0c;仅存在一部分新版本的…一、金丝雀发布灰度发布
Deployment控制器支持自定义控制更新过程中的滚动节奏如“暂停(pause)”或“继续(resume)”更新操作。 ①比如等待第一批新的Pod资源创建完成后立即暂停更新过程此时仅存在一部分新版本的应用主版本还是旧的版本 ②然后在筛选一小部分的用户请求路由到新版本的Pod应用继续观察能否稳定的按期望的方式运行 ③确定没问题之后再继续完成余下的Pod资源滚动更新否则立即回滚更新操作。 1.1、准备旧版本的nginx 1.2、更新deployment的版本并配置暂停deployment
kubectl set image deployment/nginx-kfc nginxnginx:1.15 -n kfc kubectl rollout pause deployment/nginx-kfc -n kfckubectl rollout status deployment/nginx-kfc -n kfc #观察更新状态Waiting for deployment nginx-01 rollout to finish: 1 out of 3 new replicas have been updated...
# 更新名为nginx-01的部署Deployment中的 nginx 容器的镜像版本为nginx:1.15
# 暂停名为nginx-01的部署的滚动更新这意味着在执行这个命令后将不会继续推进新的副本集并且当前的副本集将保持不变1.3、开启另外一个窗口查看pod信息
监控更新的过程可以看到已经新增了一个资源但是并未按照预期的状态去删除一个旧的资源就是因为使用了pause暂停命令 查看nginx版本信息 curl -I 10.244.2.14 curl -I 10.244.1.12 1.4、确保更新的pod没问题继续更新 kubectl rollout resume deployment/nginx-kfc -n kfc 1.5、查看最后的更新情况 kubectl get pod -w -n kfc kubectl get pod -n kfc -owide curl -I 10.244.2.14 curl -I 10.244.2.16 至此版本更新完毕
1.5、分阶段访问 二、蓝绿发布
蓝绿发布是一种部署新版本应用程序的策略旨在减少对用户造成的影响。在蓝绿发布中两个相同的生成环境并行存在一个被标记为蓝色一个被标记为绿色
蓝色当前稳定的生产环境
绿色新版本的生产环境 在初始阶段所用的用户流量都会指向蓝色环境。当新版本准备就绪时流量可以逐渐转移到绿色环境中。这种逐步迁移流量的方式允许进行实时及监控并在出现问题时快速的回滚到蓝色环境。一旦绿色环境被验证为稳定可靠蓝色环境可以被废弃或者保留作为备份。
三、总结
3.1、滚动发布
就是按照一部分一部分的滚动更新创建一定比例的pod先创建再删除旧的pod。
3.2、金丝雀发布灰度发布
先更新一部分pod然后暂停更新
安排一小部分的用户进行流量访问更新的pod来测试
当测试没有问题后再扩大比例知道全部更新完成为止。
3.3、蓝绿发布
蓝就是正在运行的稳定版本
绿就是新版本的副本
进行新旧版本的切换用户无感知业务稳定但是需要大量了资源成本比较高。