『中级篇』docker-swarm创建一个多节点集群(43)

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

创建3台虚拟机

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

  • 源码文件夹
  • 查看创建虚拟机的源码
# -*- 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
用SecureCRT连接着3个虚拟机
  • 查看每个虚拟机的ip地址vagrant ssh swarm-manager #swarm-manager的ip是172.28.128.3 ip a
vagrant ssh swarm-worker1
#swarm-worker1的ip是172.28.128.4
ip a
vagrant ssh swarm-worker2
#swarm-worker2的ip是172.28.128.5
ip a
创建docker-swarm集群
  1. swarm-manager 建立manager sudo docker swarm init --help sudo docker swarm init --advertise-addr=172.28.128.3
  1. swarm-worker1 和 swam-worker2 连接managersudo service docker restart docker swarm join --token SWMTKN-1-1vafvfucsur6iqd6ba5i2njty6djvzxnhwefsmar4sivcg8isi-dgm1aigtcu1rtotfc8y43j17m 172.28.128.3:2377
image.png
  1. swarm-manager 查看连接状态docker node ls

个人网站:IT人故事会 idig8.com

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

* * *

原文链接:http://idig8.com

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从零学习云计算

openshift/origin学习记录(8)——基于镜像安装多节点集群(Containerized Installer)

本节内容是Docker镜像以及Ansible实现多节点集群Containerized Installer。大体流程和基于RPM的安装过程类似。 本部分op...

37600
来自专栏Coding01

一步一步搭建 PHP 服务器环境

这两天翻了翻之前的技术文档,发现有一篇文档值得拿出来和大家分享:如何给一台全新的阿里云服务器,搭建环境 —— 来部署 PHP 项目,Node.js 项目等。

49420
来自专栏实战docker

Docker学习笔记之一:准备,安装,初体验

想实践一下Docker,手头是个windows电脑,由于想在linux下实践,所以第一步是装虚拟机,我用的是VMware Workstation 12 Play...

379100
来自专栏云计算教程系列

如何用Molecule测试Ansible角色

Ansible中的单元测试是确保角色按预期运行的关键。通过允许您指定针对不同环境测试角色的方案,Molecule使此过程更容易。使用Ansible,Molecu...

58240
来自专栏Rainbond开源「容器云平台」

Docker 网络构造:Docker如何使用Linux iptables和Interfaces

24520
来自专栏KaliArch

Kubernetes+Prometheus+Grafana部署笔记

Kubernetes(通常写成“k8s”)Kubernetes是Google开源的容器集群管理系统。其设计目标是在主机集群之间提供一个能够自动化部署、可拓展、应...

47940
来自专栏微服务生态

Kafka常用命令行总结

./kafka-topics.sh -zookeeper127.0.0.1:2181-describe -topic testKJ1

11530

Docker-如何清理磁盘占用

最近开始打包我们的一些应用,不得不说,我已经爱上了Docker这个工具。在AWS EC2上,它的存在使我们的工作方便了许多。然而,我们遇到的唯一问题是Docke...

37970
来自专栏bluesummer

Windows下docker的安装,将ASP.NET Core程序部署在docker中

参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html https...

52060
来自专栏魏艾斯博客www.vpsss.net

军哥 LNMP 1.5 测试版发布

30730

扫码关注云+社区

领取腾讯云代金券