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
本文地址:https://gpu.xuandashi.com/33671.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!