云网牛站
所在位置:首页 > Linux云服务器 > 在Debian 10服务器上安装和设置Docker Swarm Cluster的方法

在Debian 10服务器上安装和设置Docker Swarm Cluster的方法

2021-02-17 09:12:30作者:夏蓝稿源:云网牛站

本文介绍在Debian 10服务器上安装和设置Docker Swarm Cluster(集群)的详细方法。

 

前言

Docker Swarm使用管理器主机和工作节点架构,您的docker Swarm集群中可以有一个或多个Manager节点。管理器节点使用本机Docker API,并与辅助节点共享Docker Swarm集群的数据库,管理器主机维护集群状态,安排任务并处理HTTP API端点。

工作节点是执行容器的Docker引擎的实例。

在Debian 10服务器上安装和设置Docker Swarm Cluster的方法

与Kubernetes具有监视、入口和卷等完整功能相比,Docker Swarm具有更简单的状态。Docker Swarm还缺少自动扩展功能,即容器无法基于监视和资源利用来自动扩展,您必须手动缩放容器。

 

一、节点准备

为/etc/hosts文件中的每个节点配置主机名以进行本地解析:

sudo vim /etc/hosts

添加每个服务器上节点的详细信息,包括管理者节点和辅助节点:

10.31.45.182 manager

10.31.45.226 worker-01

10.31.45.219 worker-02

请确保主机可以通过ping相互访问。

 

二、在Debian 10上安装Docker CE

我们需要在所有主机、管理器和辅助节点上安装Docker引擎。请参考在Ubuntu/Debian/Fedora/Arch/CentOS上安装Docker CE的方法

所运行的命令如下:

sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

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

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli

然后启动并启用Docker,并将您的用户添加到Docker组:

sudo systemctl start docker

sudo systemctl enable docker

sudo usermod -aG docker ${USER}

 

三、初始化Docker Swarm Cluster

在此步骤中,我们需要在管理器节点上初始化Docker群集模式,然后我们可以稍后添加工作器节点。

以下命令用于初始化Docker Swarm Manager,您应将<manager-IP>地址替换为管理器节点的IP:

newgrp docker

sudo docker swarm init --advertise-addr <manager-IP>

样例输出如下:

$ docker swarm init --advertise-addr 10.31.45.182

Swarm initialized: current node (xj5sqdpsbs5x2pgt670dft31m) is now a manager.

To add a worker to this swarm, run the following command:

docker swarm join --token SWMTKN-1-5yat7zlum78qmnlhv1vs0b0k4c42jafh5kt8xtb36eara4c5ip-490dr4yhpbe5qnic476wh90zg 10.31.45.182:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

在初始化管理器节点之后,我们现在可以使用上面示例中提供的连接令牌添加工作器节点:

$ docker swarm join --token SWMTKN-1-5yat7zlum78qmnlhv1vs0b0k4c42jafh5kt8xtb36eara4c5ip-490dr4yhpbe5qnic476wh90zg 10.31.45.182:2377

This node joined a swarm as a worker.

我们可以使用以下命令检查工作节点是否已成功加入集群:

sudo docker node ls

样例输出如下图:

在Debian 10服务器上安装和设置Docker Swarm Cluster的方法

1、以下将在Docker Swarm上部署应用程序,我们将在集群上部署一个Web应用程序:

$ docker service create --name webserver -p 8080:80 nginx

上面的命令在群集上部署Nginx应用程序,并在8080端口上公开。

要确认服务是否正在运行,请运行docker service ls命令:

在Debian 10服务器上安装和设置Docker Swarm Cluster的方法

2、以下将在Docker Swarm上扩展应用程序,您可以在Docker Swarm集群上扩展应用程序,以实现高可用性和高性能,请使用以下命令:

$ docker service scale webserver=4

其中webserver=4是应用程序的名称,是复制后将要运行的总容器数,也可以是其它的名称,如ywnz,它的运行结果如下图:

在Debian 10服务器上安装和设置Docker Swarm Cluster的方法

您可以使用docker service ls命令验证副本,如下图:

在Debian 10服务器上安装和设置Docker Swarm Cluster的方法

至此,我们已经在Debian 10主机上成功部署了Docker Swarm Cluster(集群)。

 

相关主题

在Ubuntu 20.04服务器上设置Docker Swarm集群的步骤

精选文章
热门文章