内网怎么做网站,关键词排名顾问,广东seo外包服务,网站二级域名设置三种常见的发布方式 应用程序升级面临最大挑战是新旧业务切换#xff0c;将软件从测试的最后阶段带到生产环境#xff0c;同时要保证系统不间断提供服务。而最为常见三种发布方式分别为#xff1a;蓝绿发布#xff0c;灰度发布和滚动发布。
三种发布方式的最终目的都是为了… 三种常见的发布方式 应用程序升级面临最大挑战是新旧业务切换将软件从测试的最后阶段带到生产环境同时要保证系统不间断提供服务。而最为常见三种发布方式分别为蓝绿发布灰度发布和滚动发布。
三种发布方式的最终目的都是为了减小或避免对应用项目更新时对客户使用的影响。
蓝绿发布 首先将所有的应用服务集群为蓝绿两组首先将绿组的集群从负载均衡中移除蓝组则继续对用户提供服务。此时移除的绿组进行服务的升级等升级完毕后再从新将绿组接入到负载均衡中为用户提供服务。
再把蓝组进行移除进行服务升级升级完毕后再接入到负载均衡的集群中。此时整个项目集群得进行升级完毕我们将此称为蓝绿发布
蓝绿发布的特点
1.一旦出现问题问题的影响范围很大
2.发布策略简单
3.基于现在的云计算和微服务用户无感知。
缺点
在发布升级的过程之中只有一部分集群在对外提供服务可能会是集群的负载能力下降相应变慢需要注意给集群增加负载能力一般来说没什么特殊需要 短时间内可能会浪费一定的资源成本 金丝雀发布灰度发布
先发布一个试用版测试服
deployment控制器创建的服务才可以使用这种发布方式滚动更新暂停。发布的过程中只有一部分的pod先升级其他的pod还是处于老的版本。只有一部分用户可以访问新的版本绝大多数用户还是在老版本。确定问题之后再把剩下的老版本升级成新版本把暂停取消继续发布。如果有问题可以立即回滚。暂停不是回滚一旦取消暂停只能全部升级完毕之后再回滚。 灰度发布 特点
1.自动化要求比较高对运维人员的要求很高。
2.方便发现问题及时解决。影响范围比较小
3.用户无感知可以实现一个平滑过渡。比较节约资源。
4.发布策略比较复杂。
5.不易回滚必须等到全部发布成功之后才能回滚。 滚动更新
滚动发布就是刚刚我们在k8s中使用的项目服务更新方式。滚动发布是指每次只升级一个或多个服务升级完成后加入生产环境不断执行这个过程直到集群中的全部旧版本升级新版本。 特点 用户无感知平滑过渡 节约资源。
缺点 部署时间慢取决于每阶段更新时间 发布策略较复杂 无法确定OK的环境不易回滚。 三种方式的对比总结 蓝绿发布两套环境交替升级旧版本保留一定时间便于回滚。 灰度发布根据比例将老版本升级例如80%用户访问是老版本20%用户访问是新版本。 滚动发布按批次停止老版本实例启动新版本实例。 灰度发布演示 kubectl create deployment nginx --imagenginx:1.14 --port80 --replicas3kubectl expose deployment nginx --port8000 --target-port80 --namenginx-service --typeNodePort #先创建资源并创建3个副本kubectl set image deployment nginx nginxnginx:1.16 kubectl rollout pause deployment nginx #更新并暂停kubectl rollout status deployment nginx #观察更新状态