JAVA全系列 教程
3762个小节阅读:7089k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目,但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,可以将组成某个应用的多个docker容器编排在一起,同时管理。而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口(docker stack)统一管理这些Docker主机上的各种Docker资源。
Swarm的几个核心概念
Swarm的运行模式
Docker Swarm集群管理节点和工作节点组成。
任务与调度
调度策略
Swarm在调度(scheduler)节点(leader节点)运行容器的时候,会根据指定的策略来计算最适合运行容器的节点,目前支持的策略有:spread, binpack, random.
Random
顾名思义,就是随机选择一个Node来运行容器,一般用作调试用,spread和binpack策略会根据各个节点的可用的CPU, RAM以及正在运行的容器的数量来计算应该运行容器的节点。
Spread
在同等条件下,Spread策略会选择运行容器最少的那台节点来运行新的容器,binpack策略会选择运行容器最集中的那台机器来运行新的节点。使用Spread策略会使得容器会均衡的分布在集群中的各个节点上运行,一旦一个节点挂掉了只会损失少部分的容器。
Binpack
Binpack策略最大化的避免容器碎片化,就是说binpack策略尽可能的把还未使用的节点留给需要更大空间的容器运行,尽可能的把容器运行在一个节点上面。
初始化管理节点
xxxxxxxxxx
[root@localhost ~]# docker swarm init --advertise-addr 192.168.139.141:2377 --listen-addr 192.168.139.141:2377
执行成功后,系统提示:
xSwarm initialized: current node (ge83q7eo6nm0bppm5gz5jyvv0) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join \
--token SWMTKN-1-5u9phg7l5pidpiivrp0t6s1nb7shnw5dmifzx0fc59ms586wuk-1xezpgpymv5pxwcwladt7n3yy \
192.168.139.141:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
加入集群
在工作节点中执行下面的命令,加入到集群中
xxxxxxxxxx
docker swarm join \
--token SWMTKN-1-5u9phg7l5pidpiivrp0t6s1nb7shnw5dmifzx0fc59ms586wuk-1xezpgpymv5pxwcwladt7n3yy \
192.168.139.141:2377
查看集群信息
进入管理节点,执行:docker info 可以查看当前集群的信息。
当前集群中有两个节点,一个管理节点一个工作节点。