首页 文章 精选 留言 我的

精选列表

搜索[updates],共1033篇文章
优秀的个人博客,低调大师

07_apply rolling updates to a service

在上一个小节,我们在一个服务中,扩容了多个实例。 在这个小节,我们来部署一个服务,基于redis3.0.6容器镜像。 然后通过滚动升级,升级到redis3.0.7 docker machine ssh manager1 在swarm中部署 redis3.0.6 ,并配置swarm 10秒的更新延迟 1 2 3 4 5 6 $dockerservicecreate\ --replicas3\ --nameredis\ --update-delay10s\ redis:3.0.6 0u6a4s31ybk7yw2wyvtikmu50 你可以在部署的时候配置滚动更新的策略 --update-delay 参数用来配置更新服务或者配置任务的延迟时间 T 用来描述 时间的值 Ts 表示多少秒 Tm 表示多少分钟 Th 表示多少小时 例如 10m30s 表示 10分钟30秒的延迟 默认情况下,计划任务在同一时间只更新一个任务。 --update-parallelism 参数可以配置同时更新服务的最大数量 默认情况下,当一个更新一个任务,返回的状态是 running .计划任务会计划更新下一个,直到所有的任务都更新完毕。如果有其他更新的任务返回 failed ,计划任务将会停止该更新。 你可以通过 --update-failure-action 来控制该行为。 在使用 docker service create 或者是 docker service update 的时候 1 2 3 4 5 6 7 8 9 10 11 12 13 14 $dockerserviceinspect--prettyredis ID:0u6a4s31ybk7yw2wyvtikmu50 Name:redis ServiceMode:Replicated Replicas:3 Placement: Strategy:Spread UpdateConfig: Parallelism:1 Delay:10s ContainerSpec: Image:redis:3.0.6 Resources: EndpointMode:vip 现在你可以更新swarm 集群中的镜像了 1 2 $dockerserviceupdate--imageredis:3.0.7redis redis 默认的滚动更新步骤如下: 停止第一个任务 计划更新停止的任务 启动更新完毕的任务 如果更新的任务返回的是running,等待下一个延迟周期,更新下一个任务。 如果更新返回的是failed ,停止更新 1 2 3 4 5 6 7 8 9 10 11 12 13 14 $dockerserviceinspect--prettyredis ID:0u6a4s31ybk7yw2wyvtikmu50 Name:redis ServiceMode:Replicated Replicas:3 Placement: Strategy:Spread UpdateConfig: Parallelism:1 Delay:10s ContainerSpec: Image:redis:3.0.7 Resources: EndpointMode:vip 如果更新失败,会返回如下的信息: 1 2 3 4 5 6 7 8 9 $dockerserviceinspect--prettyredis ID:0u6a4s31ybk7yw2wyvtikmu50 Name:redis ...snip... Updatestatus: State:paused Started:11secondsago Message:updatepausedduetofailureorearlyterminationoftask9p7ith557h8ndf0ui9s0q951b ...snip... 重启一个停止的更新: docker service update <SERVICE-ID> 1 dockerserviceupdateredis 为了避免重复更新失败,你可以需要通过下列的参数来重新配置服务 docker service updatte . 通过以下命令来查看滚动更新 docker service ps <SERVICE-ID> 1 2 3 4 5 6 7 8 $dockerservice ps redis NAMEIMAGENODEDESIREDSTATECURRENTSTATEERROR redis.1.dos1zffgeofhagnve8w864fcoredis:3.0.7worker1RunningRunning37seconds \_redis.1.88rdo6pa52ki8oqx6dogf04fhredis:3.0.6worker2ShutdownShutdown56secondsago redis.2.9l3i4j85517skba5o7tn5m8g0redis:3.0.7worker2RunningRunningAboutaminute \_redis.2.66k185wilg8ele7ntu8f6nj6iredis:3.0.6worker1ShutdownShutdown2minutesago redis.3.egiuiqpzrdbxks3wxgn8qib1gredis:3.0.7worker1RunningRunning48seconds \_redis.3.ctzktfddb2tepkr45qcmqln04redis:3.0.6mmanager1ShutdownShutdown2minutesago 在所有任务被更新之前,你可以看到有些任务是跑redis:3.0.6, 有些是 redis:3.0.7 、 本文转自51aa51CTO博客,原文链接:http://blog.51cto.com/binuu/1942406,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册