Ubuntu 20.04 LTS安装和配置Docker Swarm教程

93次阅读

共计 1805 个字符,预计需要花费 5 分钟才能阅读完成。

Docker Swarm 是一个容器编排工具,它允许创建 docker 主机集群并将它们变成单个虚拟服务器。这使您在容器上运行的应用程序通过在集群内的可用主机之间分布来实现高性能和高可用性。本文主要介绍如何在 Ubuntu 20.04 LTS 上安装配置 Docker Swarm,下面一起来了解下。

背景条件:在 Vultr 上部署两个或更多最新版本的 Ubuntu 20.04 LTS,至少配置 2GB 内存和 1 个 vCPU 内核;然后在两台服务器上创建一个具有 sudo 访问权限的非 root 用户。

1、配置集群主机
无论部署多少台服务器,一个是管理器节点,其余是工作器节点。当工作节点运行容器时,管理节点处理所有集群管理任务。在本文中,我们将使用两个节点,例如:

192.0.2.11 manager

192.0.2.12 worker-1

以具有 sudo 访问权限的非 root 用户身份通过​​ SSH 连接到所有的 Vultr 服务器。编辑 /etc/hosts 所有节点中的主机文件。

$ sudo nano /etc/hosts

在文件中添加以下代码。

192.0.2.11 manager
192.0.2.12 worker-1

使用主机名 Ping 所有节点。

$ ping -c 4 manager
$ ping -c 4 worker-1

2、安装 Docker CE

在所有节点上安装 Docker CE。在所有节点上执行此步骤中的所有阶段。更新系统包。

$ sudo apt update

安装所有必需的软件包。

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

安装 Docker 存储库签名密钥。

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –

添加 Docker 存储库。

$ sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable”

更新系统包。

$ sudo apt update

安装 Docker CE。

$ sudo apt install docker-ce -y

确认 Docker 的状态。

$ sudo systemctl status docker

启用 Docker 服务在系统启动时自动运行。

$ sudo systemctl enable docker

将您当前的用户添加到 docker 组中。

$ sudo usermod -aG docker ${USER}

3、创建 Docker Swarm 集群

要创建 Docker Swarm 集群,您首先需要在管理器节点上初始化 swarm 模式。然后,将工作节点加入集群。严格使用节点 IP 地址。

初始化集群模式。

$ sudo docker swarm init –advertise-addr 192.0.2.11

转到 worker- 1 节点并将其添加到集群中。–token 用您自己的值修改值。

$ sudo docker swarm join –token SWMTKN-1-2jxta71638d1pyioznb9jo4hi4u5ppd8t7lc90linwi9acu54s-aef4mqdy23ktrkcxsp57uyoma 192.0.2.11:2377

转到管理节点并验证是否所有工作节点都成功加入集群。

$ sudo docker node ls

4、将应用程序部署到集群

转到管理器节点并创建一个名为“Docker 入门网页”服务 docker-tutorial,该服务将在默认的 http 端口 80 上运行,并将其公开到主机服务器上的端口 80。

$ sudo docker service create –name docker-tutorial –publish 80:80 docker/getting-started

验证创建的服务的状态。

$ sudo docker service ls

5、创建服务副本

我们的集群中有两个节点,我们将制作服务的两个副本。这将允许从管理器和工作器节点访问服务。

创建副本。

$ sudo docker service scale docker-tutorial=2

验证服务副本的状态。

$ sudo docker service ls

转到您的浏览器并从您的所有节点访问该服务。例如:

管理器节点。

http://192.0.2.11

worker-1 节点。

http://192.0.2.12

正文完
 0