10.40.100.143 docker-node0.venic.com
10.40.100.144 docker-node1.venic.com
 
 
原用swarm镜像
 
直接启动
 
 
10.40.100.143上
 docker run -d  --restart=always --name node0 docker-registry.venic.com:5000/swarm:latest join --advertise=10.40.100.143:2375 consul://docker-consul.venic.com:8500
 
10.40.100.144上
 docker run -d  --restart=always --name node1   docker-registry.venic.com:5000/swarm:latest join --advertise=10.40.100.144:2375 consul://docker-consul.venic.com:8500
 
 
在Manager节点上查看集群状态,多了2个node节点
 
 
 
# docker -H :4000 info
Containers: 2
 Running: 2
 Paused: 0
 Stopped: 0
Images: 6
Server Version: swarm/1.2.5
Role: primary
Strategy: spread --默认的均衡模式
Filters: health, port, containerslots, dependency, affinity, constraint
Nodes: 2
 docker-node0.venic.com: 10.40.100.143:2375
  └ ID: IP3U:TRP7:ZJTS:L3SX:UU4R:VVB5:B4LE:QNOL:MALC:A4BX:GFC7:WJPV
  └ Status: Healthy
  └ Containers: 1 (1 Running, 0 Paused, 0 Stopped)
  └ Reserved CPUs: 0 / 1
  └ Reserved Memory: 0 B / 2.052 GiB
  └ Labels: kernelversion=3.10.0-514.2.2.el7.x86_64, operatingsystem=CentOS Linux 7 (Core), storagedriver=devicemapper
  └ UpdatedAt: 2016-12-22T11:26:27Z
  └ ServerVersion: 1.12.5
 docker-node1.venic.com: 10.40.100.144:2375
  └ ID: TXYV:2VVM:H32T:DWDN:AD5M:Z22S:RRLJ:KYN2:SKNP:YFLI:4RUI:GRPM
  └ Status: Healthy
  └ Containers: 1 (1 Running, 0 Paused, 0 Stopped)
  └ Reserved CPUs: 0 / 1
  └ Reserved Memory: 0 B / 2.052 GiB
  └ Labels: kernelversion=3.10.0-514.2.2.el7.x86_64, operatingsystem=CentOS Linux 7 (Core), storagedriver=devicemapper
  └ UpdatedAt: 2016-12-22T11:26:35Z
  └ ServerVersion: 1.12.5
Plugins:
 Volume:
 Network:
Swarm:
 NodeID:
 Is Manager: false
 Node Address:
Security Options:
Kernel Version: 3.10.0-514.2.2.el7.x86_64
Operating System: linux
Architecture: amd64
CPUs: 2
Total Memory: 4.103 GiB
Name: 27fbbfe0fae4
Docker Root Dir:
Debug Mode (client): false
Debug Mode (server): false
WARNING: No kernel memory limit support
 
 

Swarm调度策略


Swarm在schedule节点运行容器的时候,会根据指定的策略来计算最适合运行容器的节点,目前支持的策略有:spread, binpack, random.

Random顾名思义,就是随机选择一个Node来运行容器,一般用作调试用,spread和binpack策略会根据各个节点的可用的CPU, RAM以及正在运行的容器的数量来计算应该运行容器的节点。

在同等条件下,Spread策略会选择运行容器最少的那台节点来运行新的容器,binpack策略会选择运行容器最集中的那台机器来运行新的节点(The binpack strategy causes Swarm to optimize for the Container which is most packed.)。

使用Spread策略会使得容器会均衡的分布在集群中的各个节点上运行,一旦一个节点挂掉了只会损失少部分的容器。

Binpack策略最大化的避免容器碎片化,就是说binpack策略尽可能的把还未使用的节点留给需要更大空间的容器运行,尽可能的把容器运行在一个节点上面。
 

Docker集群实验环境布署--swarm【5 容器启动组件--node】的更多相关文章

  1. Docker集群实验环境布署--swarm【4 管理组件--manager】

    主机分配如下,支持双活,中断其中1台,primary会通过consul自动重新选举   10.40.100.141 docker-manager0.venic.com 10.40.100.142 do ...

  2. Docker集群实验环境布署--swarm【1 架构说明】

    在读完<Docker技术入门与实践>这本书后,基本上已对Docker了有一些入门的理解,以及我们为什么要使用Docker 答:我们发现在实际工作中,通过openstack一旦把一个VM创建 ...

  3. Docker集群实验环境布署--swarm【3 注册服务监控与自动发现组件--consul】

    参考官网集群配置方式 https://hub.docker.com/r/progrium/consul/   集群中需要manager与node能通信consul的发现服务,不然,管理节点选举不了,无 ...

  4. Docker集群实验环境布署--swarm【7 让docker客户端支持docker-compose】

    Docker-Compose是一个部署多个容器的简单但是非常必要的工具.   登录Docker客户端的服务器(默认是安装了docker-engine的服务器),再安装compose插件 # yum i ...

  5. Docker集群实验环境布署--swarm【6 配置上层Nginx代理,让任意Docker client访问得到高可用的管理API】

    10.40.42.10上,也就是对应的VRRP中的10.40.42.1和2上,配置nginx tcp代理   # cat 4000_manager.venic.com_10.40.100.141-14 ...

  6. Docker集群实验环境布署--swarm【2 搭建本地镜像仓库】

      在10.40.100.148上   # docker run -d -p 5000:5000 --restart=always --name docker-registry.venic.com - ...

  7. Docker集群管理(一)—— 基础docker+swarm+shipyard

    目的 学习docker的集群管理,摸索出高可用的docker微服务架构方案.本篇文章只初步的了解下swarm(docker新版已集成了swarm)的使用,了解docker的发现服务的基础方法(dock ...

  8. docker swarm的应用----docker集群的构建

    一.docker安装 这里我们安装docker-ce 的18.03版本 yum    -y remove docker  删除原有版本 #安装依赖包 [root@Docker ~]# yum -y i ...

  9. Docker 集群环境实现方式

    Docker 集群环境实现的新方式 近几年来,Docker 作为一个开源的应用容器引擎,深受广大开发者的欢迎.随着 Docker 生态圈的不断建设,应用领域越来越广.云计算,大数据,移动技术的快速发展 ...

随机推荐

  1. 扩展ToolBarManager、ListView和Grid控件以实现气球式的ToolTip

    原文:扩展ToolBarManager.ListView和Grid控件以实现气球式的ToolTip infragistics是全球领先的UI工具和用户体验的专家,Infragistics开发了一系列的 ...

  2. CRT

    G - 中国剩余定理 Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit S ...

  3. ajax 请求数据

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. Android项目---HtmlParse

    在解析网站上的内容的时候,总会出现很多html的标签,一般在遇到这种数据的时候,就可以用上Html 如: content.setText(Html.fromHtml("<html> ...

  5. ps教程--折纸效果

    原文:http://www.fevte.com/tutorial-16947-1.html

  6. Cocos2d-x 3.1.1开发环境

    Windows7上搭建Cocos2d-x 3.1.1开发环境   前言 现在,越来越多的公司采用Cocos2d-x 3.0来开发游戏了,但是现在这样的文章并不多,所以打算写一系列来帮助初学者快速掌握C ...

  7. Lambda表达式、依赖倒置

    ASP.NET MVC学前篇之Lambda表达式.依赖倒置 ASP.NET MVC学前篇之Lambda表达式.依赖倒置 前言 随着上篇文章的阅读,可能有的朋友会有疑问,比如(A.Method(xxx= ...

  8. 使用Json实体类构建菜单数据

    基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框 ...

  9. VBS get,post函数

    Function gethttp(gethttp_url) Dim http_get Set http_get=Server.CreateObject("MSXML2.ServerXMLHT ...

  10. Linq无聊练习系列2--select/distinct练习

    void dataBindByWhere()        { /**************select/distinct 练习*******************/            //获 ...