目录
单机版Swarm安装与试用
云平台技术与应用大作业
1021041210刘祖龙
一、什么是Swarm?
Swarm是Docker公司推出的用来管理docker集群的平台,几乎全部用GO语言来完成的开发的,代码开源在https://github.com/docker/swarm, 它是将一群Docker宿主机变成一个单一的虚拟主机,Swarm使用标准的Docker API接口作为其前端的访问入口,换言之,各种形式的DockerClient(compose,docker-py等)均可以直接与Swarm通信,甚至Docker本身都可以很容易的与Swarm集成,这大大方便了用户将原本基于单节点的系统移植到Swarm上,同时Swarm内置了对Docker网络插件的支持,用户也很容易的部署跨主机的容器集群服务。
Swarm的整体架构图如下所示。
二、安装Docker
安装docker容器是安装的Swarm的事前准备工作,本文的安装平台为Ubuntu18.0.4。可通过运行官方脚本文件来安装docker,安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可使用国内daocloud一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
安装完成后的界面如下图所示:
安装完成后,使用如下命令检查docker是否安装成功:
docker -V
除此之外,也可通过自行下载docker软件包进行手动安装,碍于篇幅限制,本文在此不详细介绍。
三、Swarm单机版安装
Docker提供了Swarm的镜像源,安装Swarm只需在docker上获取该镜像即可,表示为:
sudo -s
docker pull swarm
由于docker服务器在国外,国内用户在获取docker镜像时很可能出现请求超时的情况,发生超时时,可利用如下代码使用国内仓库获取镜像:
echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://f2d6cb40.m.daocloud.io\"" | sudo tee -a /etc/default/docker
sudo service docker restart
如下图所示,则安装完成:
在swarm安装完成之后,可对环境进行初始化,
sudo docker swarm init
初始化之后,可得到node的唯一标识码,作为本机swarm环境的唯一标识,表示为:
初始化完成之后,可执行如下命令,查看当前集群信息。
docker info
同时可通过下列命令查看Swarm中的node信息:
sudo docker node ls
接下来可进行集群的服务部署,而Swarm中与集群管理有关的操作,都是在管理节点的基础上进行操作。以下例子展示了如何在工作节点上创建一个名为hello world的服务:
docker service create --replicas 1 --name helloworld alpine ping docker.com
查看helloworld部署的具体信息:
docker service inspect --pretty helloworld
总结
本文是Ubuntu上swarm工具的部署与简单应用,在之后的学习中再慢慢深入。