29. docker swarm 创建 三个节点 swarm 的集群

Posted zonehoo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了29. docker swarm 创建 三个节点 swarm 的集群相关的知识,希望对你有一定的参考价值。

1.使用 vagrant 部署 三台 centos/7 的 环境

###Vagrantfile

# -*- mode: ruby -*-

# vi: set ft=ruby :

Vagrant.require_version ">= 1.6.0"

boxes = [

   

            :name=>"docker-host",

            :eth1=>"192.168.205.10",

            :mem=>"1024",

            :cpu=>"1",

            :port=>"8888"

    ,

   

            :name=>"docker-node1",

            :eth1=>"192.168.205.11",

            :mem=>"1024",

            :cpu=>"1",

            :port=>"8889"

    ,

   

            :name=>"docker-node2",

            :eth1=>"192.168.205.12",

            :mem=>"1024",

            :cpu=>"1",

            :port=>"8890"

   

]

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.network "forwarded_port", guest: 80, host: opts[:port]

config.vm.provider "vmware_fusion" do |v|

v.vmx["memsize"] = opts[:mem]

v.vmx["numvcpus"] = opts[:cpu]

end

config.vm.provider "virtualbox" do |v|

v.customize ["modifyvm", :id, "--memory", opts[:mem]]

v.customize ["modifyvm", :id, "--cpus", opts[:cpu]]

end

config.vm.network :private_network, ip: opts[:eth1]

end

end

config.vm.synced_folder "./labs", "/home/vagrant/labs"

config.vm.provision "shell", privileged: true, path: "./setup.sh"

end

 

2.编写 setup.sh

 

###setup.sh

 

#/bin/sh

# install some tools

sudo yum install -y wget

sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak

sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

sudo yum makecache

sudo yum -y update

sudo yum install -y git vim gcc glibc-static telnet bridge-utils

# install docker

curl -fsSL get.docker.com -o get-docker.sh

sh get-docker.sh

# start docker service

sudo groupadd docker

sudo usermod -aG docker vagrant

sudo systemctl start docker

rm -rf get-docker.sh

sudo tee /etc/docker/daemon.json <<-‘EOF‘

"registry-mirrors": ["https://v2ltjwbg.mirror.aliyuncs.com"]

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

docker version

 

3.创建labs 文件夹 并启动容器

  mkdir  lables

  vagrant up

4. 进去 host 节点

  vagrant ssh docker-host

  声明节点

  docker swarm init --advertise-addr=192.168.205.10

 

  只需要 在其他节点运行这段代码 即可 进入这个节点

5. 进入node1节点 并 加入 swarm 集群

  进入docker-node1 节点

    vagrant ssh docker-node1

  运行刚刚生成的代码即可加入 swarm 集群

  

  在 host 节点查看集群节点情况

    docker-host 下

    docker node ls

  docker-node2 节点同理

 

6. 在 docker-machine 上进行 swarm 安装

  docker-machine create swarm-manager

  docker-machine create swarm-node1

  docker-machine create swarm-node2

  同理 加入

7. 在 labs.play-with-docker.com

  常见三个虚拟主机即可运行上面的命令即可

以上是关于29. docker swarm 创建 三个节点 swarm 的集群的主要内容,如果未能解决你的问题,请参考以下文章

docker 三剑客之docker swarm

Docker Swarm 创建overlay网络

Docker Swarm 创建overlay网络

docker-swarm集群创建

Docker-Swarm三节点部署

云计算之路-阿里云上:3个manager节点异常造成 docker swarm 集群宕机