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

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

[[124471]]

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

责任编辑:Ophira 来源: 追寻神迹的博客
相关推荐

2017-03-31 14:25:19

手动docker swar集群

2015-08-03 16:15:53

Docker部署集群

2016-12-01 13:37:42

OpenStack MDocker Swar容器

2024-01-02 08:00:00

云计算容器Docker

2016-10-31 15:33:57

DockerMySQL容器管理

2023-10-10 17:09:19

2023-09-04 15:09:03

容器编排工具KubernetesDocker

2016-11-16 19:28:04

容器技术

2018-07-23 09:02:18

容器KubernetesAmazon

2023-09-15 10:15:43

Docker网络

2015-01-08 10:29:59

Shipyardweb管理集中化

2021-03-09 07:31:49

集群管理系统

2017-11-07 12:15:26

Docker容器云端

2021-05-11 08:00:00

Docker容器开发

2015-10-13 11:01:42

AzureCon微软容器技术

2019-07-16 14:44:52

DockerMySQL操作系统

2023-03-21 15:26:02

Kubernetes容器开发

2015-03-02 10:34:49

DockerDocker SwarMesos

2019-05-29 09:05:13

DockerDockly容器

2023-03-01 08:44:42

OpenStackDockerK8S
点赞
收藏

51CTO技术栈公众号