一、使用vagrant搭建三台centos7虚拟机

1.VagrantFile

---------------------------
# -*- mode: ruby -*-
# vi: set ft=ruby :Vagrant.require_version ">= 1.6.0"boxes = [{:name => "swarm-manager",:eth1 => "192.168.205.20",:mem => "1024",:cpu => "1"},{:name => "swarm-worker1",:eth1 => "192.168.205.21",:mem => "1024",:cpu => "1"},{:name => "swarm-worker2",:eth1 => "192.168.205.22",:mem => "1024",:cpu => "1"}
]Vagrant.configure(2) do |config|config.vm.box = "centos/7"boxes.each do |opts|config.vm.define opts[:name] do |config|config.vm.hostname = opts[:name]config.vm.provider "vmware_fusion" do |v|v.vmx["memsize"] = opts[:mem]v.vmx["numvcpus"] = opts[:cpu]endconfig.vm.provider "virtualbox" do |v|v.customize ["modifyvm", :id, "--memory", opts[:mem]]v.customize ["modifyvm", :id, "--cpus", opts[:cpu]]endconfig.vm.network :private_network, ip: opts[:eth1]endendconfig.vm.synced_folder "./labs", "/home/vagrant/labs"config.vm.provision "shell", privileged: true, path: "./setup.sh"end

2.    启动

vagrant up

报错

Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:mount -t vboxsf -o uid=1000,gid=1000 home_vagrant_labs /home/vagrant/labsThe error output from the command was:mount: unknown filesystem type 'vboxsf'

解决办法:在powershell中运行:
(1)vagrant plugin install vagrant-vbguest

   ***PS ...\docker\...> vagrant plugin install vagrant-vbguestInstalling the 'vagrant-vbguest' plugin. This can take a few minutes...Fetching: micromachine-3.0.0.gem (100%)Fetching: vagrant-vbguest-0.19.0.gem (100%)Installed the plugin 'vagrant-vbguest (0.19.0)'!***

(2)查看:vagrant reload --provision

vagrant reload --provision
==> swarm-manager: VM not created. Moving on...
==> swarm-worker1: VM not created. Moving on...
==> swarm-worker2: VM not created. Moving on...

3.vagrant status 查看安装情况

vagrant status
Current machine states:swarm-manager             running (virtualbox)
swarm-worker1             running (virtualbox)
swarm-worker2             running (virtualbox)

4.连接三台

vagrant ssh swarm-manager
vagrant ssh swarm-worker1
vagrant ssh swarm-worker2

二、配置swarm集群

1.查看帮助文档

[vagrant@swarm-manager ~]$ docker swarm init --helpUsage:  docker swarm init [OPTIONS]Initialize a swarmOptions:--advertise-addr string                  Advertised address (format: <ip|interface>[:port])--autolock                               Enable manager autolocking (requiring an unlock key to start astopped manager)--availability string                    Availability of the node ("active"|"pause"|"drain") (default "active")--cert-expiry duration                   Validity period for node certificates (ns|us|ms|s|m|h) (default2160h0m0s)--data-path-addr string                  Address or interface to use for data path traffic (format:<ip|interface>)--default-addr-pool ipNetSlice           default address pool in CIDR format (default [])--default-addr-pool-mask-length uint32   default address pool subnet mask length (default 24)--dispatcher-heartbeat duration          Dispatcher heartbeat period (ns|us|ms|s|m|h) (default 5s)--external-ca external-ca                Specifications of one or more certificate signing endpoints--force-new-cluster                      Force create a new cluster from current state--listen-addr node-addr                  Listen address (format: <ip|interface>[:port]) (default 0.0.0.0:2377)--max-snapshots uint                     Number of additional Raft snapshots to retain--snapshot-interval uint                 Number of log entries between Raft snapshots (default 10000)--task-history-limit int                 Task history retention limit (default 5)

2.查看manager本地地址

[vagrant@swarm-manager ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 52:54:00:26:10:60 brd ff:ff:ff:ff:ff:ffinet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0valid_lft 84817sec preferred_lft 84817secinet6 fe80::5054:ff:fe26:1060/64 scope linkvalid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 08:00:27:d0:0a:34 brd ff:ff:ff:ff:ff:ffinet 192.168.205.20/24 brd 192.168.205.255 scope global noprefixroute eth1valid_lft forever preferred_lft foreverinet6 fe80::a00:27ff:fed0:a34/64 scope linkvalid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group defaultlink/ether 02:42:75:05:97:b1 brd ff:ff:ff:ff:ff:ffinet 172.17.0.1/16 brd 172.17.255.255 scope global docker0valid_lft forever preferred_lft forever

3.广播manager地址,在manager上运行

[vagrant@swarm-manager ~]$ docker swarm init --advertise-addr=192.168.205.20
Swarm initialized: current node (bq44d6sisyp1qphp378h7cgun) is now a manager.To add a worker to this swarm, run the following command:docker swarm join --token SWMTKN-1-2yg95j3wvmq7z6201zc2tolvuy845c070cfjryndy2zuz3evrl-1f7du2ta0b9pvu49qtc3rf5d3 192.168.205.20:2377To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

所以,添加一个节点,需要运行

docker swarm join --token SWMTKN-1-2yg95j3wvmq7z6201zc2tolvuy845c070cfjryndy2zuz3evrl-1f7du2ta0b9pvu49qtc3rf5d3 192.168.205.20:2377

4.添加work节点命令(从上面的复制命令)

(1)进入worker1

vagrant ssh swarm-worker1

(2)开启docker(开启的话,不用管)
查看docker状态,没有开启的话打开

systemctl status dockersystemctl start docker
docker version

(3)复制上述命令

[vagrant@swarm-worker1 ~]$ docker swarm join --token SWMTKN-1-2yg95j3wvmq7z6201zc2tolvuy845c070cfjryndy2zuz3evrl-1f7du2ta0b9pvu49qtc3rf5d3 192.168.205.20:2377
This node joined a swarm as a worker.

5.进入worker2,同样命令加入集群

6.查看集群状态(只能在manager上查看)
(1)进入mananger

vagrant ssh swarm-manager

(2)查看帮助

docker swarm --help

(3)查看节点

[vagrant@swarm-manager ~]$ docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
bq44d6sisyp1qphp378h7cgun *   swarm-manager       Ready               Active              Leader              18.09.7
kfsv1hmilij4ksn5nlbbfvzuk     swarm-worker1       Ready               Active                                  18.09.7
999r8orw4045nwj9l1kyjh2pl     swarm-worker2       Ready               Active                                  18.09.7

docker(十五):docker-swarm三节点集群搭建相关推荐

  1. 01.三节点集群搭建--VM配置

    1.下载CentOS7 1.百度搜索centos–>2.点击centos官网连接–>3.点击DVD ISO–>4.点击http://ap.stykers.moe/centos/7.6 ...

  2. Hadoop 三节点集群搭建

    本文档介绍了如何设置和配置单节点Hadoop安装,以便您可以使用Hadoop MapReduce和Hadoop分布式文件系统(HDFS)快速执行简单的操作. 先决条件 支持平台 支持GNU / Lin ...

  3. etcd mysql集群_Etcd单节点扩容为三节点集群

    Etcd单节点扩容为三节点集群 参考文档 http://www.cnblogs.com/breg/p/5728237.html 开始环境是单节点,存储数据一段时间后发现需要集群高可用环境,幸亏etcd ...

  4. Docker系列五~docker安装php-fpm

    Docker系列五 docker安装php-fpm 访问PHP镜像库地址: https://hub.docker.com/_/php?tab=tags 选择合适的版本 php-fpm镜像主要是提供ph ...

  5. Docker系列(二十三)——Docker实例五Docker安装MongoDB实例

    < Docker实例三Docker安装MongoDB实例 > 前言 在前面一篇文章种,完成了 < Docker安装MySQL实例 >,本篇将继续镜像安装教程,并完成Docker ...

  6. [docker]十、docker swarm是什么?以及创建docker swarm

    目录 1.什么是Docker Swarm 2.Docker Swarm 基本结构图 3.swarm的几个关键概念 4.Dcoker Swarm 集群部署 4.1.准备工作 4.2.创建Swarm并添加 ...

  7. Docker系列 五.Docker容器数据卷

    五.Docker容器数据卷 环境&工具: 阿里云轻量级服务器.CentOS 7系统.FinalShell(其他连接客户端也可以) 是什么 docker的理念将运行的环境打包形成容器运行,运行可 ...

  8. Docker学习(五)-----Docker查看日志

    八.Docker查看日志 docker logs 容器名称/ID docker logs -f -t --since="2018-12-1" --tail=10 qfjy_exam ...

  9. 【Docker】五 Docker Hub管理镜像

    Docker Hub管理镜像 1 Docker Hub管理镜像 1.1 注册与登录 1.2 创建仓库 1.3 推送镜像 2 使用Docker Registry管理镜像 2.1 原理图 2.2 搭建Do ...

最新文章

  1. python【力扣LeetCode算法题库】2-两数相加
  2. 前端工程师面试题JavaScript部分(第二季)
  3. 读书笔记--模板与泛型编程
  4. 俄美就《中导条约》磋商 普京:不希望进行军备竞赛
  5. .NET报表控件ActiveReports 教程:应用系统中如何完成各种报表系统的需求
  6. hdu 5053 the Sum of Cube(水)
  7. 惠普m128fn中文说明书_惠普M128fp中文说明书
  8. CODESYS Control Overview
  9. ArcGIS的.prj文件生成proj4格式的字符串
  10. 利用python在excel中画图
  11. 股票振幅榜查询易语言代码
  12. python KMP算法查找子字符串
  13. 深入浅出强化学习:原理入门(待更新)
  14. 如何解决电脑使用中任务栏“卡死”问题。
  15. Linux基础知识学习笔记-----crack_the_WiFi_secret
  16. 【扫盲】史上最全的互联网专业词语汇总!
  17. Chromium插件(Plugin)模块(Module)加载过程分析
  18. matlab对比图曲线,用于数据拟合,图像对比的MATLAB作图命令PLOTYY
  19. falcon常用参数解析
  20. 怎么将PDF文件转成PNG格式

热门文章

  1. 能通过一张照片(2D)得到3D的模型吗?
  2. 小米2s安卓10刷机包_小米 2S 4.3 ROM刷机包 CM10.2_8.30 官方流畅版
  3. 剑指Offer(1)——第一章面试的流程
  4. 【coding】Bert-Whitening细解
  5. 社区生态 | openEuler、龙蜥Anolis、统信UOS三大主流操作系统下编译GreatSQL二进制包
  6. 基于求导的快速exp()算法,exp()快速计算,exp导数算法,exp函数C语言实现
  7. java.lang.NoClassDefFoundError: com/sun/star/lang/DisposedException
  8. 38.6歌曲计算机,抖音最火的6首歌曲,38度6垫底,沙漠骆驼第二,第一百听不厌...
  9. react native 极光推送 jpush-react-native
  10. 短链系统设计性能优化-缓存提速及CDN