zoukankan      html  css  js  c++  java
  • docker进阶-利用dcoker Swarm搭建简单集群

    什么是Swarm

      在介绍Swarm之前我们要说一下什么Docker三剑客?

    • Docker-Machine:负责在多种平台上快速安装 Docker 环境。
    • Docker-Compose:Docker官网编排工具。负责快速的部署分布式应用
    • Docker-Swarm: Docker 容器集群服务,是 Docker 官方对容器云生态进行支持的核心方案。

       Swarm翻译中文的意思是蜂群的意思。大家都知道蜂群是很很多多蜜蜂在一起。里面有蜂王和工蜂,各司其职。那么在我们技术界把许许多多的Docker组织在一起,这样就是Docker集群。Swarm就是管理这些Docker的工具。同蜂群一样。也有蜂王(Master节点)工蜂(Node节点)各司其职。蜂王能调度和指挥所有的工蜂来完成各种任务。实现整个蜂群的正常运转。

    为什么要用Swarm

      因为在生产环境中使用单个Docker节点是远远不够的,搭建Docker集群势在必行。 这样能保证我们的服务可以做到不怠机。长时间稳定的运转下去。虽然Docker集群管理工具很多,有比较有名的Kubernetes和Mesos。但是我们为什么要选择Swarm呢?。首先对于一个刚刚入门和接触Docker的人来说。最好的学习资料是官方文档。Swarm是原生的,同时也是最简单,最易学,最节省资源的Docker集群管理工具。所以我相信Swarm不会让我失望的。

    关于Machine

      由于我们等会要使用Machine来创建节点。所以介绍Machine的基本使用。

    Machine安装
    #由于MacOs在安装docker的时候。已经默认安装Machine.这里根据官网给出的Linux安装命令
    sudo curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` > /usr/local/bin/docker-machine
    #添加权限
     sudo chmod +x /usr/local/bin/docker-machine
    #查看当前Machine版本
    docker-machine -v
    #安装MacOs虚拟机xhyve驱动。也可以跳过
    brew install docker-machine-driver-xhyve
    
    使用Machine 创建虚拟机

    使用Machine创建4个虚拟机

    #create命令后面可以添加自定义参数.可以通过docker-machine create --driver virtualbox --help查看
    #创建Master节点.这里dm因为我使用自定义命令。等同于docker-machine
    dm create Master
    #可以通过ls命令查看当前虚拟机.然后我们分别建立3个node节点,node1,node2,node3
    dm create Node1
    dm create Node2
    dm create Node3
    #创建然后通过ls查看
    dm ls
    ######################
    NAME     ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER        ERRORS
    Master   -        virtualbox   Running   tcp://192.168.99.100:2376           v18.03.0-ce
    Node1    -        virtualbox   Running   tcp://192.168.99.102:2376           v18.03.0-ce
    Node2    -        virtualbox   Running   tcp://192.168.99.103:2376           v18.03.0-ce
    Node3    -        virtualbox   Running   tcp://192.168.99.103:2376           v18.03.0-ce
    

      到此4台虚拟机已经创建完毕。下面开始使用Swarm搭建一个集群。

    Swarm实践

    创建集群

      首先我们需要登录到Master这台虚拟机。创建初始化一个集群。

    #登录到Master
    dm ssh Master
    #初始化集群。注意这里由于是虚拟机。有多个ip。所有必须制定ip.否则会报错.
    docker swarm init --advertise-addr 192.168.99.100
    #这里会提示创建manager成功。如果要加入worker。只需要在别的主机里面输入它已经生成的号的命令输入就可以了。
     docker swarm join --token SWMTKN-1-03e4mo13jpizh15kroub1qsxdxk6zj8qgu2y3acwi1v14zaqpe-e6hhlamgqa9m7w4601biqqtg9 192.168.99.100:2377
    #登入Node1
    dm ssh Node1
    #输入上面命令。Node2和Node3操作一样
    docker swarm join --token SWMTKN-1-03e4mo13jpizh15kroub1qsxdxk6zj8qgu2y3acwi1v14zaqpe-e6hhlamgqa9m7w4601biqqtg9 192.168.99.100:2377
    #登录Master,查看状态
    dm ssh Master
    #查看集群
    docker node ls
    ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
    0vol8fdjksmabvmgx0x60ncyd *   Master              Ready               Active              Leader              18.03.0-ce
    jnuun47ezvi0bl1iz1ccxmgto     Node1               Ready               Active                                  18.03.0-ce
    ye6ghynu19tvdkf51kof13w6y     Node2               Ready               Active                                  18.03.0-ce
    x84fqdefi4461gf087qcb9nmt     Node3               Ready               Active                                  18.03.0-ce
    

      这里会看到4台虚拟机。其中Master台是Leader (就是我们的蜂王),剩下的3台就是我们的worker(工蜂)到这里我们一个简单的小集群就搭建完毕了。

    运行服务

      我们已经搭建好了集群。但是要怎么样通过Master管理我们的worker节点呢?
    首先我们需要登录到Master这台虚拟机。然后通过这个台虚拟机来控制3个worker节点

    #登录Master
    dm ssh Master
    #运行服务。
    docker service create --replicas 4 -p 80:80 --name nginx nginx
    #查看集群运行的服务
    service ps nginx
    

    enter image description here
      这个时候4个虚拟机已经全部安装了nginx这个服务。我们打开任意一个节点的ip打开就可以看到熟悉的"Welcome to nginx!"的页面了。到此整个教程结束。

  • 相关阅读:
    对国内技术社区
    github访问慢
    MVC 框架搭建
    EntityFramework与Ado.net的对比——EF优势何在?
    什么是DTO ,DTO 有什么作用
    一些有趣的资源推荐
    解决sublime text 3使用Install Package时出现There are no packages available for installation问题
    基于CentOS7的服务器搭建(LAMP环境)
    Windows下UEFI环境的搭建
    Ubuntu16.04下搜狗输入法、Sublime Text 3的安装
  • 原文地址:https://www.cnblogs.com/pass245939319/p/8650472.html
Copyright © 2011-2022 走看看