|
|
|
|
移动端

【Docker】Swarm初探:集群管理和容器调度

Docker新发布了swarm,machine,compose。Docker Swarm是一个Dockerized化的分布式应用程序的本地集群,它是在 Machine所提供的功能的基础上优化主机资源的利用率和容错服务。具体来说,Docker Swarm支持用户创建可运行Docker Daemon的主机资源池,然后在资源池中运行Docker容器。Docker Swarm可以管理工作负载并维护集群状态。

作者:追寻神迹来源:追寻神迹的博客|2014-12-15 10:40

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


Docker新发布了swarm,machine,compose。

这里主要对swarm进行说明。Docker Swarm是一个Dockerized化的分布式应用程序的本地集群,它是在 Machine所提供的功能的基础上优化主机资源的利用率和容错服务。具体来说,Docker Swarm支持用户创建可运行Docker Daemon的主机资源池,然后在资源池中运行Docker容器。Docker Swarm可以管理工作负载并维护集群状态。

之前,用户需要对各个docker engine进行操作(发送rest消息或者执行docker命令)。

swarm则将一组docker enginge作为一个集群进行管理,并提供过了lablel,schedule,filter的能力。

swarm保持了对docker原有API的兼容,我们可以像使用单一个docker engine一样管理一个docker engine集群。

swarm还可以对集群中的节点健康状况进行检查,HA发生故障节点的容器。

其中调度部分,允许用户定制自己的调度策略。

集群管理:

  1. 创建集群: 
  2. $ swarm create 
  3. 添加一个节点到集群: 
  4. $ swarm join --token=<token> --addr=<node ip> 
  5. 列出集群中的节点: 
  6. $ swarm list --token=<token> 
  7. 启动swarm: 
  8. $ swarm manage --token=<token> --addr=<swarm ip> 

资源管理:

  1. cpu/memory: 
  2. $ docker run -m 1g -c 1  
  3. ports: 
  4. $ docker run -p 80:80  

约束:

  1. 如何设置约束: 
  2. docker run -e "constraint:operationsystem=fedora" 
  3. docker run -e "constraint:storagedriver=aufs" 
  4.  
  5. 通过约束过滤节点: 
  6. docker -d "region=us-east" 
  7. docker run -e "constraint:region=us-east" 
  8.  
  9. 未来还可以实现更复杂的,比如 反亲和 

支持容器重新调度:

  1. 类似与--start的操作 

容器调度过程:

  1. 类似于openstgack:   
  2. 1. filter节点   
  3. 基于port,label,health   
  4. 2. weight节点,选出最优节点   
  5. 支持bin packing和random连中。   

原文出自:http://blog.csdn.net/halcyonbaby/article/details/41812313

【编辑推荐】

  1. Docker 传奇之 dotCloud
  2. Pfs —— 为 Docker 提供的分布式文件系统
  3. Docker 1.3.3/1.4.0 发布,Linux 容器引擎
  4. 玩儿转Docker 镜像
  5. CentOS6.5上搭建Docker服务 操作示例
【责任编辑:Ophira TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Microsoft SQL Server 2005技术内幕:T-SQL程序设

SQL Server 2005微软官方权威参考手册。 是Inside Microsoft SQL Server 2005系列书中的第一本,SQL Server类的顶尖之作。 全球公认SQL S...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊