[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)

来自转载(感谢作者!):
原文链接地址:『中级篇』docker-swarm创建一个多节点集群(43)

docker Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。源码地址:https://github.com/limingios/docker中的No.5

创建3台虚拟机

还是通过vagrant + virtualbox的方式来创建

  • 源码文件夹
[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第1张图片
image
  • 查看创建虚拟机的源码
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.require_version ">= 1.6.0"

boxes = [
    {
        :name => "swarm-manager",
        :mem => "1024",
        :cpu => "1"
    },
    {
        :name => "swarm-worker1",
        :mem => "1024",
        :cpu => "1"
    },
    {
        :name => "swarm-worker2",
        :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]
        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, type: "dhcp"
      end
  end

  config.vm.synced_folder "./labs", "/home/vagrant/labs"
  config.vm.provision "shell", privileged: true, path: "./setup.sh"

end

[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第2张图片
image
[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第3张图片
image
[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第4张图片
image
[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第5张图片
image
用SecureCRT连接着3个虚拟机
  • 查看每个虚拟机的ip地址
vagrant ssh swarm-manager
#swarm-manager的ip是172.28.128.3
ip a

[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第6张图片
image
[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第7张图片
image
vagrant ssh swarm-worker1
#swarm-worker1的ip是172.28.128.4
ip a

[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第8张图片
image
[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第9张图片
image
vagrant ssh swarm-worker2
#swarm-worker2的ip是172.28.128.5
ip a

[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第10张图片
image
[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第11张图片
image
[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第12张图片
image
创建docker-swarm集群
  1. swarm-manager 建立manager
 sudo docker swarm init --help
 sudo docker swarm init --advertise-addr=172.28.128.3

[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第13张图片
image
image
  1. swarm-worker1 和 swam-worker2 连接manager
sudo service docker restart
docker swarm join --token SWMTKN-1-1vafvfucsur6iqd6ba5i2njty6djvzxnhwefsmar4sivcg8isi-dgm1aigtcu1rtotfc8y43j17m 172.28.128.3:2377

[Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43)_第14张图片
image
  1. swarm-manager 查看连接状态
docker node ls

image

PS:这样基本上通过docker-swarm完成集群管理。


往期精彩
  1. docker导学(一)
  2. 容器的技术概述(二)
  3. docker的魅力初体验-5分钟安装wordpress不走弯路(三)
  4. docker官网介绍(四)
  5. 如何在mac上安装docker(五)
  6. 如何在window上安装docker(六)
  7. 如何在mac上通过vagrant安装虚拟机(七)
  8. 如何在window上通过vagrant安装虚拟机(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
  12. docker架构和底层技术(12)
  13. docker Image概述(13)
  14. 手动建立一个base Image(14)
  15. 什么是Container(15)
  16. 构建自己的Docker镜像(16)
  17. Dockerfile详解(17)
  18. 镜像的发布(18)
  19. Dockerfile实战(19)
  20. 容器的操作(20)
  21. Dockerfile实战CMD和ENTRTYPOINT的配合(21)
  22. 容器的资源限制(22)
  23. docker网络(23)
  24. docker学习必会网络基础(24)
  25. Linux网络命名空间(25)
  26. Docker Bridge详解(26)
  27. 容器之间的Link(27)
  28. 容器的端口映射(28)
  29. 容器网络之host和none(29)
  30. 多容器复杂应用的部署(30)
  31. overlay网络和etcd实现多机的容器通信(31)
  32. docker的数据持久化存储和数据共享(32)
  33. windows下vagrant 通过SecureCRT连接centos7(33)
  34. 数据持久化之Data Volume(34)
  35. 数据持久化之bind Mounting(35)
  36. docker 使用bind Mounting实战(36)
  37. docker容器安装wordpress(37)
  38. docker Compose到底是什么(38)
  39. Docker Compose的安装和基本使用(39)
  40. Docker 水平扩展和负载均衡(40)
  41. Docker compose 部署一个复杂的应用(41)
  42. 容器编排Docker Swarm介绍(42)

你可能感兴趣的:([Docker践行DevOps理念(转)]No43、docker-swarm创建一个多节点集群(43))