ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Docker Swarm

2021-09-25 23:02:22  阅读:171  来源: 互联网

标签:docker swarm machine Swarm manager Docker 节点


 Swarm是Docker的一个编排工具,在之前我们只是在一台机器来进行docker的管理:

 但是有时容器并不一定都在一台主机上,如果是分布式的处于多台主机上,这时就可以借助于Swarm,Swarm是Docker自带的编排工具,只要你安装了Docker就会存在Docker Swarm工具。

Swarm中的模式是有两大类节点,一类是manager节点,另一类是worker节点,manager节点相当于对服务的创建和调度,worker节点主要是运行容器服务,当然manager节点也是可以运行的。

manager节点状态、信息的同步根据Raft consensus group的网络进行通信同步的,而worker之间的通信依靠的是Gossip network做到的。

另外一个重要的概念就是service,我们可以在一个manager节点上创建一个服务,但是可以根据这一个服务创建多个容器的任务,这些容器任务运行在不同的节点上。

那么如何进行Swarm集群的搭建呢?

  • 在swarm模式下初始化一个Swarm集群,并且将当前主机加入到该集群作为manager节点
  • 加入其它节点到该集群中
  • 部署service到该集群中

 

三种方式:建议第一种,我也只试了第一种。

1. Vagrant + Virtualbox
  1. 先初始化manager的cluster,宣告地址
    1. docker swarm init --advertise-addr=192.168.205.10
  2. 添加worker到manage cluster
    1. docker swarm join --token SWMTKN-1-5zj189y4mz8yttawc6jlq1vb86hcu4lbzzo1nts1yzu7d9teaa-7g0w1oyppjynrqki1zy1pk3xi 192.168.205.10:2377
2. Docker Machine + Virtualbox
  1. docker-machine creat swarm-manager
  2. docker-machine creat swarm-work1
  3. docker-machine creat swarm-work2
  4. 之后和Vagrant + Virtualbox的方法一样了
3. Play with docker https://labs.play-with-docker.com/

 

第一种:

docker swarm --help

docker swarm init --help

  检查防火墙 systemctl status firewalld.service

 关闭防火墙 systemctl stop firewalld.service

  永久关闭  systemctl disable firewalld.service

 

  初始化Manager

 docker swarm init --advertise-addr=192.168.126.131

 

  work节点加入(初始化Manager后会输出下面这条指令)

 docker swarm join --token SWMTKN-1-37yp1apign9310smt9bf39xo3czj1w6img5pa6l5gaoy23ics6-1zdbn8kz6rnzjmn6h4z95r0w6 192.168.126.131:2377

 

 查看节点

 docker node ls

 

 

第二种

安装VirtualBox 

1. 首先下载oracle_vbox.asc文件到本地:

wget -q https://www.virtualbox.org/download/oracle_vbox.asc

再执行import:

sudo rpm --import oracle_vbox.asc
cd 进入目录:/etc/yum.repos.d 

vim virtualbox.repo

[virtualbox]

name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox

baseurl=http://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch

enabled=1

gpgcheck=1

repo_gpgcheck=1

gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc

 yum install VirtualBox-5.2 -y

 

安装docker-machine:

base=https://github.com/docker/machine/releases/download/v0.16.0 &&
  curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
  sudo mv /tmp/docker-machine /usr/local/bin/docker-machine &&
  chmod +x /usr/local/bin/docker-machine

验证docker-machine:

docker-machine version

 

标签:docker,swarm,machine,Swarm,manager,Docker,节点
来源: https://www.cnblogs.com/year12/p/15335945.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有