> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/automate-protect-and-extend/zh/zi-dong-hua/tenant-recipes.md).

# 租户配方

租户配方可用于自动化租户部署。租户配方可以包含生成一个完全可用的新租户实例所需的一切内容，包括：租户设置、网络配置、包含的虚拟机，以及用于执行诸如创建随机密码、建立唯一主机名/密码/用户名、注册 DHCP 和 DNS 条目、发送通知等任务的自动化。本页面将引导你了解创建和使用租户配方的基本流程。

**使用租户配方的优势：**

* 快速部署整个租户
* 租户配置的一致性
* 减少手动设置时间，从而降低人为错误的可能性
* 用于合规性的黄金镜像

## 创建租户配方

1. **构建一个租户作为基础模板。** 租户配方基于一个作为起始模板的租户。创建该租户时，应包含通用配置中应作为一部分的设置、虚拟机和网络。在创建配方之前，必须先将该租户关闭电源。

{% hint style="success" %}
**作为配方基础的租户应专用于此目的。如果你想基于一个正在使用的租户创建配方，可能需要从原始租户的克隆副本开始。在将克隆的租户实例用作配方模板之前，请务必移除任何特定信息，例如密码、特定用户名、客户数据等。**
{% endhint %}

2. 导航到 **租户配方仪表板** (存储库 > 租户配方)。
3. 点击 **新建** 在左侧菜单中。
4. 配置租户配方 **字段：**

   * **名称：** 使用一个能够充分标识该配方的名称，以帮助用户定位合适的配方。
   * **说明：** （可选）你可以在此存储有关该配方的任何附加信息。这可以作为提供其预期用途的基本文档以及一般指南的好地方。
   * **图标：** （可选）可为该配方关联一个 Font Awesome 图标。图标有助于用户轻松识别不同的配方/配方类型。可用图标列表见 [FontAwesome](https://fontawesome.com/v4/icons/) .
   * **目录：** 选择一个用于存储该配方的目录。目录有助于整理配方。有关目录的更多信息，请参见 [配方组织](/automate-protect-and-extend/zh/zi-dong-hua/recipes-organization.md) 。
   * **租户：** 选择将作为该配方基础的租户。
   * **版本：** 每次修改配方时，此字段都会自动递增，以帮助跟踪更改。默认值为 1.0.0，但如果你希望从不同的编号开始版本控制，也可以更改。

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>版本编号</strong></p><p>版本号 1.0.0 会递增为 1.0.0-1，然后是 1.0.0-2，依此类推。此外，您还可以手动编辑版本号以反映更大的版本变更，例如在进行重大配方修改后将版本更改为 2.0.0。</p></div>

   * **保留 SSL 证书：** 选中后，安装在基础租户中的 SSL 证书将复制到使用该配方创建的租户实例中。
   * **版本依赖项：** （不适用于仅在本地系统及其自身租户上使用的配方）。当需要 VergeOS 功能才能使配方正常工作时，可以指定依赖项（以防止远程系统使用其无法支持的配方）。
5. 点击 **提交** 以保存该配方。租户配方仪表板将显示可自定义配方问题的位置。

## 问题

问题通过捕获用户输入或与 VergeOS 数据库交互，为使用配方创建的单个租户提供自定义值。租户配方会自动包含系统问题。其中一些问题默认处于禁用状态，如需使用则需要启用。

**（可选）启用默认禁用的问题：**\
点击 **问题** （左侧菜单或仪表板卡片）， **选择问题**，然后点击 **启用** 在左侧菜单中。

{% hint style="success" %}
**系统问题可以被禁用，但不能被删除。**
{% endhint %}

要配置其他问题，请点击 **问题** 在左侧菜单中，然后点击 **新建**.

**问题字段**:

* **部分：** 分区可让你在输入表单上对问题进行分组。某些分区会自动创建，你也可以在租户配方仪表板中为你的问题创建额外的分区。
* **名称：** 作为脚本中可引用的变量名；使用具有描述性的名称有助于脚本维护和故障排查；仅限字母数字字符，不允许空格或特殊字符。
* **类型：** 确定数据的收集方式：通过用户输入、与 VergeOS 数据库交互等。
* **顺序 ID：** 用于确定所选分区内问题的显示顺序。
* **显示：** 显示在问题用户输入表单上的文本标签
* **默认值：** （可选）定义该问题的初始答案值
* **正则验证：** （可选）用于验证输入的正则表达式字符串（标准 Regex 语法）
* **占位文本：** （可选）以灰色显示的文本，用于向用户提供预期输入示例
* **工具提示文本：** （可选）当鼠标悬停在该字段上时，以弹出窗口显示的用户帮助文本
* **注释文本：** （可选）直接显示在输入字段下方的用户帮助文本，用于提供额外指导。
* **变更时：** 允许在更改此字段时隐藏/显示其他问题。（创建新问题时，此字段中会显示示例代码。）

根据所选类型，可能还会提供其他配置选项。

### 与 VergeOS 数据库交互

某些问题类型允许你查询数据库信息或创建/编辑数据库记录。在配置数据库交互问题时，请注意占位文本（显示示例输入的灰色文本）以获取提示。这些知识库文章提供了有关使用 VergeOS 数据库的更多信息： [API 表说明](/knowledge-base/zh/automation-api/api-tables-description.md) 和 [API 指南](/knowledge-base/zh/automation-api/verge-api-guide.md)

#### 数据库上下文

该 *数据库上下文* 字段可让你选择与本地数据库（父系统）或新创建的租户数据库交互。这适用于以下问题类型： *数据库创建、数据库编辑和数据库查找*.

### 系统问题参考

创建租户配方时，系统会自动生成一组按分区组织的内置问题。其中许多问题是 **默认禁用的** ，如果你希望使用它们，则必须启用。系统问题不能被删除，但可以启用或禁用。

要启用一个已禁用的系统问题：导航到 **问题** （左侧菜单或仪表板卡片）， **选择问题**，然后点击 **启用** 在左侧菜单中。

#### 租户分区

这些问题控制租户的核心设置，例如标识、管理员凭据和 SSL 配置。

| 名称                           | 显示        | 类型   | 默认值   | 默认启用 |
| ---------------------------- | --------- | ---- | ----- | ---- |
| YB\_URL                      | URL       | 字符串  |       | 是    |
| YB\_DESCRIPTION              | 描述        | 文本区域 |       | 是    |
| YB\_USER\_NAME               | 管理员用户     | 字符串  | admin | 是    |
| YB\_USER\_PASSWORD           | 密码        | 密码   |       | 是    |
| YB\_USER\_EMAIL              | 电子邮件      | 字符串  |       | 否    |
| YB\_USER\_CHANGE\_PASSWORD   | 要求更改密码    | 布尔   | false | 否    |
| YB\_EXPOSE\_CLOUD\_SNAPSHOTS | 公开系统快照    | 布尔   | true  | 否    |
| YB\_HELP\_URL                | 帮助 URL    | 字符串  | 默认    | 否    |
| YB\_THEME\_ACCESS            | 主题访问      | 列表   | 仅主机   | 是    |
| YB\_SPECIFIED\_THEME         | 主题        | 行选择  |       | 是    |
| YB\_CLUSTER                  | 集群        | 集群   |       | 否    |
| YB\_CERT\_TYPE               | SSL 证书类型  | 隐藏   | 手动    | 否    |
| YB\_CERT\_DOMAIN             | SSL 证书域名  | 字符串  |       | 否    |
| YB\_CERT\_PUBLIC             | 公共 SSL 证书 | 文本区域 |       | 否    |
| YB\_CERT\_PRIVATE            | 私有 SSL 证书 | 文本区域 |       | 否    |
| YB\_CERT\_CHAIN              | SSL 证书链   | 文本区域 |       | 否    |

#### 节点分区

这些问题定义分配给租户节点的计算资源。

| 名称                             | 显示          | 类型 | 默认值   | 默认启用 |
| ------------------------------ | ----------- | -- | ----- | ---- |
| YB\_NODE\_1\_CPU\_CORES        | 节点 1 核心数    | 数字 | 8     | 是    |
| YB\_NODE\_1\_RAM               | 节点 1 内存     | 内存 | 16384 | 是    |
| YB\_NODE\_1\_INSTANCES         | 节点 1 实例数    | 数字 | 1     | 否    |
| YB\_NODE\_1\_CLUSTER           | 节点 1 集群     | 集群 |       | 否    |
| YB\_NODE\_1\_CLUSTER\_FAILOVER | 节点 1 故障转移集群 | 集群 |       | 否    |

#### 网络分区

这些问题配置租户的网络地址。

| 名称             | 显示       | 类型       | 默认值 | 默认启用 |
| -------------- | -------- | -------- | --- | ---- |
| YB\_NET\_1\_IP | UI IP 地址 | 虚拟 IP 地址 |     | 是    |
| YB\_NET\_2\_IP | IP 地址    | 虚拟 IP 地址 |     | 是    |

{% hint style="success" %}
**这些是 VergeOS 26.1 中的默认系统问题。你可以在此基础上添加自定义问题，以捕获额外输入，例如到期日期、自定义主机名或其他特定于租户的值。**
{% endhint %}

## 修改配方

对配方进行任何更改后，都需要重新发布，才能使这些更改可用。配方仪表板顶部会显示一条消息，提示必须重新发布更改才会生效。您可以使用 **重新发布** 此消息中的链接，或在左侧菜单中点击“重新发布”。

{% hint style="success" %}
**当你进行更改并重新发布配方时，拥有该配方访问权限的远程系统和租户会收到更新可用的通知（租户配方仪表板顶部的通知以及“更新可用”复选框）；他们必须更新配方才能访问这些更改。**
{% endhint %}

## 使用租户配方

### 从配方创建租户

1. 从顶部菜单，导航到 **租户** > **+ 新建租户**.
2. 点击所需的 **目录** ，位于左侧的目录部分。
3. 所选目录中可用的各个租户配方将显示在右侧。 **选择所需的配方** 并点击 **下一步** 在屏幕底部。
4. 输入字段会按照配方的问题定义显示。
5. 输入/配置字段并点击 **提交** 以创建新租户。配方问题配置将决定所需字段和其他字段验证。

## 配方实例

实例是指与某个租户配方关联的特定租户。当一个租户通过配方创建后，在其被删除或与配方解除关联之前，它都被视为该配方的一个实例。

点击 **实例** 在租户配方仪表板左侧菜单中，可快速访问相关租户列表。若存在任何关联实例，则该配方无法删除。

配方可用于实现各种潜在解决方案。若需要使用配方自动化租户部署方面的额外帮助，请联系 VergeOS 支持。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/automate-protect-and-extend/zh/zi-dong-hua/tenant-recipes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
