---
title: 集群（高级）
description: '管理服务器集群设置。'
---

在 Dokploy 中部署应用程序时，所有应用程序都在同一个节点上运行。如果您希望在不同的服务器上运行应用程序，可以使用集群功能。

使用集群的理念是允许每台服务器托管不同的应用程序，并通过 Traefik 和负载均衡器将流量从 Dokploy 服务器重定向到您选择的服务器。

## 服务器扩展方法

扩展服务器的主要方式有两种：

1. **垂直扩展**: 这涉及向同一 Dokploy 服务器添加更多资源，例如更多的 CPU 和 RAM。
2. **水平扩展**: 这种方法涉及添加多台服务器。

### 垂直扩展

我们建议使用垂直扩展来提高应用程序的处理能力，因为这更快，并且需要更少的额外配置。

要进行垂直扩展，您需要向 Dokploy 服务器添加更多资源，即更多的 CPU 和 RAM。这可以通过您的 VPS 提供商完成。

理想情况下，首先检查您能够处理的垂直扩展限制。如果您发现不足，可以考虑水平扩展。

### 水平扩展

水平扩展通常需要更多的额外配置，并涉及添加更多服务器（VPS）。

如果您选择第二个选项，我们将继续配置不同的服务器。

## 集群设置的要求

1. 运行中的 Dokploy 服务器（管理器）。
2. 至少有一台与 Dokploy 服务器架构相同的额外服务器。
3. 拥有一个 Docker 注册表。

## 配置 Docker 注册表

首先，我们需要配置一个 Docker 注册表，因为在部署应用程序时，您需要一个注册表来在其他服务器上部署和下载应用程序镜像。

我们提供两种配置注册表的方法：

1. **外部注册表**: 使用您想要的任何注册表。
2. **自托管注册表**: 我们为您创建和配置自托管注册表。

### 外部注册表

您可以使用任何注册表，如 Docker Hub、DigitalOcean Spaces、ECR 或您选择的注册表。确保输入正确的凭据并在添加注册表之前测试连接。

### 自托管注册表

我们将询问您以下三件事：

1. 用户名。
2. 密码。
3. 域名。确保此域名指向 Dokploy VPS。

设置完成后，集群部分将解锁。

## 理解 Docker Swarm

我们建议您阅读以下信息，以更好地理解 Docker Swarm 的工作原理及其调度： [Docker Swarm 文档](https://docs.docker.com/engine/swarm/) 以及其架构： [Swarm 模式的工作原理](https://docs.docker.com/engine/swarm/how-swarm-mode-works/nodes/)。

## 管理您的集群

现在您可以执行两项操作：

1. 添加工作节点。
2. 添加管理节点。

管理节点有两个功能：

1. 管理集群状态。
2. 调度服务。

工作节点的唯一目的是运行容器，按照管理节点创建或设定的规则进行操作。

## 添加节点

您可以点击“添加节点”按钮，系统将显示您需要遵循的说明，以将您的服务器作为节点添加并加入 Dokploy 管理节点。

<ImageZoom src="/assets/add-node.png" width={800} height={630} className="rounded-lg"/>

按照说明操作后，工作节点或管理节点将出现在表格中。

<ImageZoom src="/assets/nodes.png" width={800} height={630} className="rounded-lg"/>
