Docker三剑客之docker-swarm

Docker Swarm

介绍

swarm集群存在manager节点和worker节点

初始化
# docker swarm init
$ docker swarm  --help
Usage:  docker swarm COMMAND
Manage Swarm
Commands:
  ca          Display and rotate the root CA
  init        Initialize a swarm
  join        Join a swarm as a node and/or manager
  join-token  Manage join tokens
  leave       Leave the swarm
  unlock      Unlock swarm
  unlock-key  Manage the unlock key
  update      Update the swarm
 
$ docker swarm init --help
Usage:  docker swarm init [OPTIONS]
Initialize a swarm
Options:
      --advertise-addr string                  Advertised address (format: <ip|interface>[:port])
      ................
      
$ docker swarm init --advertise-addr 192.168.11.130(自己服务器ip,也可不加参数)
Swarm initialized: current node (dothxr6f0ymzn3r5dg9lmzojq) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-24vl1ouqra0lgpvwfj2ykxkcnu3gopz25qdk4vl00hoazlak4k-ae6one7gfny40o6mqt377k1kg 192.168.11.130:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

#副机想要加入该节点,两种方法
  1、将上面的令牌复制到副机上执行
  2、主机上执行docker swarm join-token worker 命令,会生成副机的令牌,复制到副机上执行
     docker swarm join-token manager #生成主机的令牌
     docker swarm join-token worker  #生成副机的令牌
 #在副机上执行,副机节点就已经加入主机
$ docker swarm join --token SWMTKN-1-24vl1ouqra0lgpvwfj2ykxkcnu3gopz25qdk4vl00hoazlak4k-ae6one7gfny40o6mqt377k1kg 192.168.11.130:2377
This node joined a swarm as a worker.

#如果退出了join界面,可以通过一下命令查看
$ docker swarm join-token worker

#主机使用docker node ls命令查看
$ docker node ls
ID                            HOSTNAME                STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
dothxr6f0ymzn3r5dg9lmzojq *   localhost.localdomain   Ready               Active              Leader              19.03.12
qf9fjw89grd9n1gpr5rey39ra     localhost.localdomain   Ready               Active                                  19.03.12

#各节点如果退出Docker Swarm模式
$ docker swarm leave --force
RFAT协议

总结,至少要存在三个主节点,如果是双主,如果其中一台主机挂了,另外一台主机是不能够使用的。所以必须保证存在三个主节点,且必须保证1台主节点以上存活。

动态扩缩容
#两种方式
1、docker service scale SERVICE=num
2、docker service update --replicas num  SERVICE
集群网络

初始化群集或将Docker主机加入现有群集时,将在该Docker主机上创建两个新网络:

  • 一个称为的覆盖网络ingress,用于处理与群体服务有关的控制和数据流量。创建群集服务并且不将其连接到用户定义的覆盖网络时,ingress 默认情况下它将连接到网络。
  • 一个名为的网桥网络docker_gwbridge,它将各个Docker守护程序连接到集群中的其他守护程序。

overlay:保证各个集群之间的通信(相当于之前的自定义网络保证容器之间的通信)

ingress:特殊的overlay,具有负载均衡的功能

$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
4d17786474f7        bridge              bridge              local
b7a75c830776        docker_gwbridge     bridge              local
30eaddd942a9        host                host                local
zqij3ylcinhg        ingress             overlay             swarm
383f7401900a        none                null                local
$ docker network inspect ingress
[
      ................
        "Peers": [
            {
                "Name": "5506fdcbd9ee",
                "IP": "192.168.11.130"
            },
            {
                "Name": "557944014f92",
                "IP": "192.168.11.131"
            }
        ]
    }
]
cbd9ee",
                "IP": "192.168.11.130"
            },
            {
                "Name": "557944014f92",
                "IP": "192.168.11.131"
            }
        ]
    }
]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值