`

30天了解30种技术系列(14)----Docker集群管理利器Swarm

 
阅读更多

     

   

     一般在公司中,Docker 服务器的数量> 1,所以如何让Docker 更合理的跑在很多服务器上,是一个需要解决的问题。为此Docker公司发布了官方的容器管理服务--Swarm。

 

    Docker Swarm(蜂群) --- 发布于2014年12月的DockerCon,用以管理Docker集群,并将其抽象为一个虚拟整体暴露给用户。

 

   Swarm 几乎为Go语言开发完成,目前相对来讲比较简单,但是因为是官方项目,所以建议各位要密切关注。

 

   Swarm使用标准的Docker API接口作为其前端访问入口,意味着我们可以使用Docker任意语言的API调用。

   Swarm 的结构如下:由Master Node来组成,需要注意的是Master与Node只负责运行容器,即如果进程死掉,那么容器运行没有影响。

   

       

 

 Swarm的工作流程:

 

  1. Docker Client与 Master 通信
  2. Master 根据 集群Docker 容器运行的情况进行调度,然后分配相关容器起在那种机器上
  3.  然后发送指令给Docker Node 会启动相关容器,并进行监控

      所以,这里面比较重要的就是调度算法,目前的调度算法为:Spread,binpack和Random。很明显,Random是随机的启动容器,这个只能玩玩。

   

      Spread 优先考虑将Docker启动在容器运行比较少的服务器上,Binpack则相反,是尽可能把容器启动在一台服务器上。

 

     Swarm 还有很多如何搭建等相关的知识,大家可以自己研究一下。再后续的文章里面,我们还会介绍其他Docker的组件。

    

    大家如果对于哪个技术比较感兴趣,可以私信,我会有重点的在后续文章进行展开。

 

    更多精彩请关注微信 : 图灵搜索,大家也可以使用中国第一个为程序员打造的搜索引擎:https://www.tulingss.com 进行查看。

 

 

 

 

    

3
3
分享到:
评论

相关推荐

    第四章:Docker容器升华--swarm集群1

    Docker Swarm 是 Docker 官方提供的容器集群管理系统,是 Docker 三大项目之一,用于构建和管理容器化的应用程序。它允许用户将多个 Docker 主机聚合为一个单一的虚拟主机,使得管理和调度容器变得更加简单。Docker ...

    Python-DockerSwarm模式集群操作API封装和SwarmUI的中间层应用

    在IT行业中,Python和Docker Swarm的结合是构建可扩展、高效且易于管理的微服务架构的关键技术之一。本文将深入探讨如何利用Python对Docker Swarm集群进行操作API的封装,以及如何创建一个Swarm UI的中间层应用,...

    canal-adapter-v1.1.7的docker镜像

    canal-adapter-v1.1.7,docker镜像,参考的制作流程:https://blog.csdn.net/qiaodaima0/article/details/125561823?spm=1001.2014.3001.5501

    centos7.6离线安装docker-ce-19.03、nvidia-docker2

    离线环境下,在centos7.6系统上安装docker-ce-19.03,nvidia-docker2.4版本,其中docker-ce-19.03在docker-local.tar压缩文件里面,nvidia-docker2在nvidia-docker2.zip文件中。 具体安装流程如下: 1.安装docker ...

    docker swarm 集群搭建和试验

    自 Docker v1.12 版本起,Swarm 工作模式已经集成到 Docker Engine 中,这意味着用户可以直接使用标准的 Docker CLI 和 API 来管理和操作 Swarm 集群,就像在单一主机上一样。 #### Swarm 架构详解 Swarm 的架构...

    centos7.6.1810---镜像包docker

    centos7.6.1810---镜像包dockercentos7.6.1810---镜像包dockercentos7.6.1810---镜像包docker

    ansible-swarm-playbook, 创建/管理 Docker 集群集群的脚本.zip

    ansible-swarm-playbook, 创建/管理 Docker 集群集群的脚本 Ansible Swarm创建/管理 Docker 集群( 要求 Docker> = 1.12 )的脚本。以下帖子的附带文件: https://thisendout.com/2016/09/13/deploying-docker

    get-docker.sh docker安装脚本

    get-docker.sh docker安装脚本,可直接执行 sh get-docker.sh --mirror Aliyun 安装

    docker-gen-swarm:在 Docker Swarm 集群中使用 docker-gen

    这是将 docker-gen 连接到 Docker Swarm 集群的示例。 请参阅帖子了解更多详情。 在开始之前 将docker-gen二进制文件放在docker-gen/文件夹中。 将 Docker Swarm master 的 SSL 证书复制到docker-gen/certs文件夹...

    mongo-swarm:在Docker Swarm上引导MongoDB分片集群

    使用单个命令,您可以将Mongos , Config和Data副本集部署到Docker Swarm上,形成一个高可用性的MongoDB集群,该集群能够在不中断服务的情况下承受多个节点的故障。 Docker堆栈由两个MongoDB副本集,两个Mongos实例...

    docker-compose安装包

    Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录...

    Docker Swarm 管理资源.rar

    这个名为"Docker Swarm 管理资源.rar"的压缩包很可能包含了一系列关于如何使用Docker Swarm进行资源管理的教程、文档、示例或者脚本。在这里,我们将深入探讨Docker Swarm的关键特性、工作原理以及如何有效地利用它...

    Ansible-deploy-docker-swarm.zip

    Ansible-deploy-docker-swarm.zip,部署docker-swarm.deploy-docker-swarm脚本,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。

    flanneld-v0.12.0-amd64.docker

    安装flannel,报错:kube-system kube-flannel-ds-amd64-fnzlc 0/1 Init:ImagePullBackOff ,可以直接在此下载

    docker 一键部署 Apollo 分布式配置中心-apollo-all-in-one-for-docker.zip

    docker 一键部署 Apollo 分布式配置中心-apollo-all-in-one-for-docker

    Ansible-ansible-docker_swarm.zip

    Ansible-ansible-docker_swarm.zip,负责安装和配置Docker Swarm群集的角色。Docker_Swarm,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。

    docker-ingress-routing-daemon:Docker swarm守护程序,可修改入口网格路由以将真实的客户端IP暴露给服务容器

    docker-ingress-routing-daemon Docker swarm守护程序,可修改入口网格路由以将真实的客户端IP暴露给服务容器: 纯粹通过路由和防火墙规则实施; 所以 无需运行traefik或其他反向代理等其他应用层; 所以 无需重新...

    k8s flanneld-v0.13.0-amd64.docker

    k8s 网络组件,使用 docker load < flannelxxx.docker 完成该docker 镜像的安装。

    Go-SWIRL专注于Swarm集群基于Web的Docker管理工具

    综上所述,Go-SWIRL 是一个利用 Go 语言开发的 Web 应用,它为 Docker Swarm 集群提供了一种直观、高效的管理方式,帮助开发者更好地管理和维护容器化环境。通过其丰富的功能和易用的界面,Go-SWIRL 降低了 Docker ...

Global site tag (gtag.js) - Google Analytics