使用vagrant创建多台centos7虚拟机,并使用Docker Swarm建立主从集群

本人Docker的第一篇文章:使用vagrant、VirtualBox的安装centos7

1、在E:\data\vagrant目录下,新建che-vagrant02目录,将virtualbox.box文件copy一份到che-vagrant02目录下,

在这里插入图片描述

2、在cmd“命令提示符”窗口中,进入E:\data\vagrant\che-vagrant02目录,执行下面的命令

# 添加centos box
vagrant box add my-centos7 ./virtualbox.box
# 初始化centos box
vagrant init my-centos7

在这里插入图片描述
che-vagrant02目录下会多出一个Vagrantfile文件,如下图
在这里插入图片描述

3、编辑Vagrantfile文件内容,如下

Vagrant.configure("2") do |config|
  
  config.vm.define "vagrant1" do |vb|
      config.vm.provider "virtualbox" do |v|
      v.memory = 1024
      v.cpus = 1
    end
  vb.vm.host_name = "vagrant1"
  vb.vm.network :public_network, ip: "192.168.1.21"
  vb.vm.box = "my-centos7"
  end

  config.vm.define "vagrant2" do |vb|
      config.vm.provider "virtualbox" do |v|
      v.memory = 1024
      v.cpus = 1
    end
  vb.vm.host_name = "vagrant2"
  vb.vm.network :public_network, ip: "192.168.1.22"
  vb.vm.box = "my-centos7"
  end

  config.vm.define "vagrant3" do |vb|
      config.vm.provider "virtualbox" do |v|
      v.memory = 1024
      v.cpus = 1
    end
  vb.vm.host_name = "vagrant3"
  vb.vm.network :public_network, ip: "192.168.1.23"
  vb.vm.box = "my-centos7"
  end

end

然后,在cmd"命令提示符"中输入vagrant up启动配置的三台centos7虚拟机
在这里插入图片描述
在这里插入图片描述
在VirtualBox管理器中可以看到三台centos7虚拟机都已启动
在这里插入图片描述

4、进入到vagrant1虚拟机中,修改修改 /etc/ssh/sshd_config文件,启动密码、设置密码、重启虚拟机,具体步骤,请查看我本人Docker的第一篇文章:使用vagrant、VirtualBox的安装centos7

在这里插入图片描述
虚拟机vagrant2、vagrant2也进行同样的操作。

5、使用ssh客户端工具MobaXterm连接三个centos7如下图

在这里插入图片描述
进入到vagrant2中,ping vagrant1、vagrant3的ip,可以ping通
在这里插入图片描述

6、在3台centos7虚拟机中安装Docker

具体的安装步骤,请参考本人的另外一篇文章:在Centos7中安装Docker

7、使用Docker Swarm建立主从集群

在vagrant1虚拟机中通过docker swarm init -h命令查看docker swarm命令,通过docker swarm init --advertise-addr=192.168.1.21命令,初始化vagrant1虚拟机为leader节点

docker swarm init -h
docker swarm init --advertise-addr=192.168.1.21

在这里插入图片描述
设置vagrant1为leader节点后,将打印信息中的红框中的信息copy一下,如下,在vagrant1中执行docker node ls查看集群的所有节点,现在只有vagrant1一个leader节点。

docker swarm join --token SWMTKN-1-0nu1fjnh5sb4c9296tzesfg8r32asyzhxt67zv7j9s60x8qloz-68f8w41o8mbba1dp7gmtf3w3s 192.168.1.21:2377

在这里插入图片描述
将上面的那个命令copy一下,然后在vagrant2、vagrant3两个虚拟机中执行,
在这里插入图片描述
在这里插入图片描述
在vagrant1中执行docker node ls,查看集群的所有节点,如下图,vagrant1是leader节点,vagrant2、vagrant3是work节点
在这里插入图片描述
通过下面的命令可以将vagrant2升级为leader节点、降级为work节点

#  将vagrant2升级为leader节点
docker node promote vagrant2
# 将vagrant2降级为work节点
docker node demote vagrant2

在这里插入图片描述

扫描二维码关注公众号,回复: 10719875 查看本文章
发布了122 篇原创文章 · 获赞 152 · 访问量 112万+

猜你喜欢

转载自blog.csdn.net/ytangdigl/article/details/103835916