如何使用Portainer扩展服务部署

230 阅读4分钟

使用Portainer扩展Docker服务实际上非常简单。Jack Wallen向你展示了如何快速部署Docker Swarm和Portainer,然后将服务快速扩展到Swarm中的所有节点。

图片:vectorhot/Adobe Stock

容器之所以在企业中大行其道,其中一个原因是它能够根据需要轻松地扩大和减少规模。容器的这一方面是如此关键,以至于一些开发人员不遗余力地使其部署能够自动扩展以满足需求。

但不是每一个部署都需要这种程度的灵活性。对于那些可以从手动扩展中受益的容器服务部署,总是有命令行,这一点都不具挑战性(在我的文章《如何将服务部署到Docker Swarm集群中》中找到了方法)。

但是对于那些喜欢用GUI方式处理所有容器的人来说,我最喜欢的管理平台Portainer。Portainer使你更容易根据需要扩大或缩小部署的Docker服务。这正是我想在这里向你介绍的,通过Portainer对你部署的Docker服务进行扩展(增加和减少)。

见:招聘工具。云计算工程师(TechRepublic Premium)。

你需要什么?

为了以这种方式扩展你的服务,你需要一个部署在Docker Swarm上的Portainer运行实例。让我们概述一下部署Swarm和Portainer的过程,然后我们将扩展一个新服务。

如何部署Docker Swarm

我将把这个过程提炼成精华。你至少需要三台机器,我将在Ubuntu Server 22.04上演示。在每台机器上安装Docker与。

sudo apt-get docker.io -y

确保你的用户有权限进入docker组(在每台机器上),命令是:。

sudo usermod -aG docker $USER

退出并重新登录。

在Docker控制器上,用以下命令初始化Swarm。

docker swarm init --advertise-addr SERVER

其中SERVER 是控制器的IP地址。

这将输出你必须在每个节点上运行的命令,以连接到swarm。 只是为了确保一切正常,而且我们以后有一个服务可以使用,用以下方法部署一个服务。

docker service create -p 8001:80 --name webservice nginx

如何部署Portainer

现在我们将部署Portainer。首先,用以下命令创建一个卷。

docker volume create portainer_data

现在你可以用以下命令来部署Portainer了。

docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data `portainer/portainer-ce`

一两分钟后,将Web浏览器指向https://SERVER:9443,其中`SERVER` 是托管服务器的IP地址。现在Portainer已经准备好了。

如何使用Portainer扩展服务

现在我们已经运行了Docker和Portainer,是时候将服务扩展到Swarm中了。记住,我们总共只部署了三个节点,所以这是我们扩展的极限。

在Portainer中,点击左侧边栏的服务,你应该看到我们之前从命令行创建的测试服务**(图A**)。

图A

图片。Jack Wallen/TechRepublic。我们的测试服务(名为webservice)已经准备好进行扩展。

在调度模式栏下(左起第四栏),你应该看到一个复制的1/1规模。在1/1和Scale之间,有箭头指向向上和向下。要向上扩展服务,点击箭头,然后在产生的字段中输入3 ,或使用向上箭头将服务扩展到所有三个节点**(图B**)。

图B

图片。Jack Wallen/TechRepublic。将我们的服务扩展到Docker Swarm的所有三个节点上

该服务将需要一些时间来扩展。起初,它的读数是1/3,但最终应该是3/3,这意味着它已经成功地扩展到所有三个节点。你可能需要刷新Portainer服务页面,才能看到服务已经扩展了**(图C**)。

图C

图片。Jack Wallen/TechRepublic。我们的服务已经成功地扩展到所有三个节点。

亲爱的朋友们,这就是使用Portainer扩展服务的全部过程。没有比这更容易的事情了。

在YouTube上订阅TechRepublic的How To Make Tech Work,了解Jack Wallen为商业专家提供的所有最新技术建议。