> 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/learn-the-platform/zh/mo-kuai-10-chang-jing-shi-yan/lab-uci.md).

# 实验：UCI 部署

## 目标

使用 Terraform playground 以超融合基础设施（UCI）配置部署 VergeOS。你将配置一个包含专用计算集群和存储集群的多集群拓扑，然后验证跨集群资源分配和网络连接。

## 前置条件

* 已完成所有前置模块（1–9）
* 已完成 HCI 部署实验
* 可访问 vergeos-terraform-playground 仓库
* 已安装并配置 Terraform CLI
* 支持嵌套部署的 VergeOS 环境或实验室

## 难度

**高级** -- 需要理解 UCI 架构、多集群网络和资源分配

## 预计时间

**2 小时**

## 步骤

### 第 1 部分：UCI 拓扑回顾

在部署之前了解 UCI 架构。

1. 查看 `docs/architecture.md` 在 terraform playground 中 -- 重点关注 UCI 部分
2. 查看 `docs/deployment-scenarios.md` -- 跟踪 UCI 拓扑图
3. 识别 UCI `.tfvars` 文件（位于 examples 目录中）
4. 检查配置并识别：
   * 定义了多少个集群及其角色（计算 vs 存储）
   * 每个集群的节点分配
   * 跨集群网络配置
   * 跨集群的存储层分配
5. 比较 UCI `.tfvars` 与 HCI `.tfvars` 文件 -- 记录关键的结构差异

### 第 2 部分：UCI 3 集群部署

部署 UCI 拓扑。

1. 运行 `terraform init` （如有需要）以及 `terraform plan -var-file=<uci-3-cluster>.tfvars`
2. 查看计划中的资源 -- 注意与 HCI 相比新增的集群和网络资源
3. 运行 `terraform apply -var-file=<uci-3-cluster>.tfvars` 以部署
4. 在 VergeOS UI 中验证：
   * 所有集群都可见且标签正确（计算、存储）
   * 节点已分配到正确的集群
   * 已建立跨集群核心 fabric 网络
   * 存储池可供计算集群使用
   * 控制器节点（N+1 为节点 1–2，或 N+2 为节点 1–3）已正确指定且运行正常

### 第 3 部分：资源分配与扩展

练习使用 UCI 拓扑。

1. 在计算集群上创建一台 VM，并验证它使用来自存储集群的存储
2. 在仪表板中监控跨集群 I/O
3. 探索如何向现有集群添加一个节点
4. 记录这种 UCI 拓扑的优势：
   * 计算和存储可独立扩展
   * 集群之间的故障域隔离
   * 工作负载放置灵活性
5. 将操作模型与上一实验中的 HCI 部署进行比较

### 第 4 部分：设计决策练习

将你学到的知识应用到一个客户场景中。

1. **场景**：某客户有 200 台 VM、50TB 存储，需要独立扩展计算和存储，并且对数据隔离有严格的合规要求。他们目前运行带有独立管理集群和工作负载集群的 VMware vSAN。
2. 推荐一种 VergeOS 拓扑（HCI 或 UCI）并论证你的选择
3. 绘制集群布局草图（集群数量、每个集群的节点数、角色）
4. 确定哪个 terraform playground 示例与你的设计最接近
5. 记录该示例需要的任何修改 `.tfvars` 以匹配客户需求

## 验证

当你能够回答以下内容时，你的 UCI 部署实验就完成了 **是** 时，你的 VMware 迁移实验就完成了：

* [ ] 已通过 Terraform 成功部署 UCI 3 集群拓扑
* [ ] 已在 VergeOS UI 中验证所有集群、节点以及跨集群网络
* [ ] 在计算集群上创建了一台使用存储集群存储的 VM
* [ ] 记录了 UCI 和 HCI 操作模型之间的关键差异
* [ ] 已完成设计决策练习，并给出了有依据的拓扑建议
* [ ] 使用以下命令清理所有实验资源： `terraform destroy`


---

# 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/learn-the-platform/zh/mo-kuai-10-chang-jing-shi-yan/lab-uci.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.
