一、背景、功能介绍
Swarm是Docker公司自研发的容器集群管理系统,Swarm在早期是作为一个独立服务存在,在Docker Engine v1.12中集成了Swarm的集群管理和编排功能。可以通过初始化Swarm或加入现有Swarm来启用Docker引擎的Swarm模式。Docker Engine CLI和API包括了管理Swarm节点命令,比如添加、删除节点,以及在Swarm中部署和编排服务。也增加了服务栈(Stack)、服务(Service)、任务(Task)概念
二、swarm单机版安装
2.1、虚拟机安装
本文使用VMware® Workstation 16 Pro 虚拟机,版本号为16.1.2 build-17966106,
具体虚拟机安装细节自行搜索。使用的linux系统为ubuntu-20.04.2.0-desktop-amd64。读者可自行下载安装。
2.2、Docker 安装
首先下载curl:
sudo apt-get install curl
然后使用官方安装脚本自动安装。
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
正常运行的结果:
检验运行结果:
// 查看安装是否成功
docker -v
2.2、swarm单机版安装
为了之后运行的便利,切换到根用户模式。并拉取swarm镜像
sudo su
docker pull swarm
实现Swarm 集群的创建
其中,token SWMTKN-1-5txntluu4fne9iby4ix1ld48pnpc9fmyv4agnsgkv6kgkya50p-dzwjmvxwhu6qxe2vb4xniltn4 192.168.31.135:2377所分配的token与IP值,在管理节点不变的情况下进行多swarm集群管理时,可以用于工作节点的创建添加。
进入管理节点,执行:docker info 可以查看当前集群的信息。
docker info
2.2.4 swarm部署服务流程
// 创建并部署一个service,命名为helloworld
docker service create --replicas 1 --name helloworld alpine ping docker.com
参数解释:
--replicas:service运行的实例个数
--name: 为service命名
alpine ping docker.com: 设置此service在Alpine Linux容器中,执行ping http://docker.com任务
查看当前服务和task,可以确认确实生成成功:
docker service ls
//查看当前node上执行的task
docker ps