docker+swarm

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42731856/article/details/84401708

swarm简介:

Docker Swarm 是 Docker 官方三剑客项目之一,提供 Docker 容器集群服务,是 Docker 官方对容器云生态进行支持的核心方案。


一、基本概念:

    运行 Docker 的主机可以主动初始化一个 Swarm 集群或者加入一个已存在的 Swarm 集群,这样这个运行 Docker 的主机就成为一个 Swarm 集群的节点 (node) 。

     节点分为管理 (manager) 节点和工作 (worker) 节点。

    管理节点用于 Swarm 集群的管理,docker swarm 命令基本只能在管理节点执行(节点退出集群命令 docker swarm leave 可以在工作节点执行)。一个 Swarm 集群可以有多个管理节点,但只有一个管理节点可以成为 leader,leader 通过 raft 协议实现。
    工作节点是任务执行节点,管理节点将服务 (service) 下发至工作节点执行。管理节点默认也作为工作节点。你也可以通过配置让服务只运行在管理节点。

二、服务和任务:

    任务 (Task)是 Swarm 中的最小的调度单位,目前来说就是一个单一的容器。

    服务 (Services) 是指一组任务的集合,服务定义了任务的属性。服务有两种模式:

        replicated services 按照一定规则在各个工作节点上运行指定个数的任务。

        global services 每个工作节点上运行一个任务

    两种模式通过 docker service create 的 --mode 参数指定

 

实验环境:

rhel7.3 selinux和iptables均为disabed状态

172.25.254.1 server1

172.25.254.2 server2

172.25.254.3 server3

172.25.254.44 物理机

在server1上做初始化

在server2和server3上做初始化。是为了加入server1的集群中:

在server1上查看节点信息:

在三个server上安装 nginx

server1上,在manager节点部署nginx服务,服务数量为3个,公开指定端口为8080映射容器80,使用nginx镜像

先做好解析,每台机子上都要做好

docker service create --name nginx --publish 80:80 --replicas 3 nginx  #3创建nginx服务

在浏览器上输入三台服务机的ip,均可以访问nginx

实现负载均衡

此时,在server1上,需要一个visualizer.tar

在server1上,创建viz服务并开启

查看

在server2上

在server3上

在主机上查看此时负载均衡成功:

浏览器访问http://172.25.254.1:8080/查看三台主机的nginx负载均衡

此时不论关闭任何一台服务机,此时的负载均衡就会出现在另外两个主机上实现

 

 

 

 

 

 

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页