Docker Swarm(八)滚动更新、回滚服务

滚动更新、回滚服务

默认情况下, swarm一次只更新一个副本,并且两个副本之间没有等待时间,我们可以通过:

--update-parallelism:设置并行更新的副本数量。
--update-delay: 指定滚动更新的时间间隔。
  • 创建8个副本的masl服务:

docker service create --name masl -e TZ="Asia/Shanghai" --network mrp_net --replicas 8 -p 8081:8080 \--update-delay 10s \            #每次更新间隔10s--update-parallelism 2 \          #每次允许两个服务一起更新--update-failure-action continue \    #更新失败后的动作是继续--rollback-parallelism 2 \         #回滚时允许两个一起--rollback-monitor 20s \          #回滚监控时间20s--rollback-max-failure-ratio 0.2 \    #回滚失败率20%172.16.99.2:40305/masl:dev-yc-34

  • 查看配置信息:

  • 滚动更新1:
docker service update --image 172.16.99.2:40305/masl:dev-yc-35 masl

  • 滚动更新2:

如果在创建服务时没有指定更新策略,也可以在更新的时候指定

docker service update --image 172.16.99.2:40305/masl:dev-yc-35 --update-parallelism 2 --update-delay 1m masl

注:两个服务一起更新,然后,隔一分钟,继续更新

  • 回滚服务:
docker service update --rollback masl

注:默认只能回滚到上一次操作的状态,并不能连续回滚到指定操作

 

原文地址:https://www.cnblogs.com/caoweixiong/p/12431524.html

时间: 2024-10-10 17:14:55

Docker Swarm(八)滚动更新、回滚服务的相关文章

docker swarm ,滚动更新

一.Docker swarm Swarm 是 Docker 公司在 2014 年 12 月初发布的一套较为简单的工具,用来管理 Docker 集群,它将一群 Docker 宿主机变成一个单一的,虚拟的主机.Swarm 使用标准的 Docker API接口作为其前端访问入口,换言之,各种形式的 Docker Client(docker client in go, docker_py,docker 等)均可以直接与 Swarm 通信.Swarm 几乎全部用 Go 语言来完成开发.Swarm deam

Docker Swarm(三)Service(服务)分配策略

Service的分配原則 預設分散至多個nodes上 使用率較低的node優先配置 使用者可自行定義此分配模式 Service分配的3種方式 Service Constraints (服务约束) 参考:https://www.cnblogs.com/caoweixiong/p/12382282.html Service Modes(服务模式) 默认是replicated(副本),例如replica=10,docker swarm會執行10個container並盡可能分散到各個node上,但不能確

Docker系列(十四):Docker Swarm集群

一.Swarm简介 Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源.Swarm和Kubernetes比较类似,但是更加轻便,具有的功能也较kubernetes更少一些. Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令.目前,Swarm 是 Do

Docker Swarm集群部署实战

基本概念: Swarm介绍:Swarm是Docker公司在2014年12月初发布的一套较为简单的工具,用来管理Docker集群,它将一群Docker宿主机变成一个单一的虚拟的主机.Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client(dockerclient in Go, docker_py,docker等)均可以直接与Swarm通信.Swarm几乎全部用Go语言来完成开发,Swarm0.2版本增加了一个新的策略来调度集群中的容器,使得在可

Docker Swarm(二)常用命令

# 管理配置文件 docker config     # 查看已创建配置文件     - docker config ls     # 将已有配置文件添加到docker配置文件中     - docker config create docker 配置文件名 本地配置文件 # 管理swarm节点 docker node     # 查看集群中的节点     - docker node ls     # 将manager角色降级为worker     - docker node demote 主机

K8s资源对象的基本管理(升级、回滚、扩容、缩容)

博文大纲:一.资源创建二.解决客户端无法访问k8s内部pod所运行的服务三.搭建私有仓库,并自定义镜像四.版本扩容.缩容五.服务的升级与回滚 一.资源创建 本次博文主要介绍如何使用命令行的方式创建资源! [[email protected] ~]# kubectl run test --image=nginx:latest --replicas=5 //基于httpd的镜像创建一个deployment类型的控制组,名称为test,并指定副本数量为5 [[email protected] ~]#

Docker Swarm Mode简介与核心概念

什么是Docker Swarm Docker Swarm是Docker官方的一种容器编排方案,用于管理跨主机的Docker容器,可以快速对指定服务进行水平扩展.部署.删除 一个Docker Swarm集群通常由多个安装有Docker且运行在Docker Swarm Mode的主机组成,角色包含Managers(管理者).Workers(执行节点),一个节点可以兼拥有这两个角色或之一 在Docker 1.12以前,Docker Swarm作为一个独立的集群容器编排软件(Swarmkit)形式存在,

linux日志回滚

在/etc/cron.daily中新增logrotate文件 #!/bin/sh /usr/sbin/logrotate /etc/logrotate.conf EXITVALUE=$? if [ $EXITVALUE != 0 ]; then /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]" fi exit 0 在/etc/logrotate.d中新增log配置文件,进行配置删除日志 /l

linux运维、架构之路-K8s滚动更新及回滚

一.滚动更新        应用程序一次只更新一小部分副本,更新成功后,再更新更多的副本,最终完成所有副本的更新. 滚动更新的优点:零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性. 1.创建三个副本Httpd服务,初始镜像为httpd:2.2.31,然后滚动更新至httpd:2.2.32 ###cat httpd.yaml### apiVersion: apps/v1beta2 kind: Deployment metadata: name: httpd spec: replica