> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 使用 Kubernetes

> 使用纯清单文件在 Kubernetes 集群上部署 Ayakaleaf Pro。

[Toolkit](https://ayakaleaf-pro.mintlify.site/zh-CN/on-premises/installation/using-the-toolkit) 是在单台服务器上运行 Ayakaleaf Pro 的推荐方式。如果你已经在运行 Kubernetes 集群，本节将使用纯 `kubectl` 清单文件在集群上部署相同的容器：无需额外镜像，也无需 Helm chart。

完成本节后，你将在命名空间 `overleaf` 中拥有一个启用沙盒编译的 Ayakaleaf Pro 实例、一个 MongoDB 副本集和 Redis。如需在负载均衡器后运行多个实例，请在此之后继续阅读[水平扩展](https://ayakaleaf-pro.mintlify.site/zh-CN/on-premises/configuration/kubernetes/horizontal-scaling.md)。

> [!NOTE]
>
> Kubernetes 支持目前处于实验阶段。我们不发布 Helm chart 或 Kubernetes 专用镜像。这些页面中的清单文件是我们在 Kubernetes 1.37（kubeadm、containerd 2.4、flannel）上测试过的，集群包含三个节点，每个节点 2 个 vCPU 和 4 GB 内存。请根据你的集群调整存储、网络和 ingress。

### 各组件如何对应

| Toolkit（单台服务器） | Kubernetes |
| - | - |
| `config/variables.env` | ConfigMap `overleaf-env` 和 Secret `overleaf-secrets` |
| `sharelatex` 容器 | Deployment `overleaf`（一个运行所有 Overleaf 服务的 pod） |
| `mongo` 和 `redis` 容器 | StatefulSet `mongo`（副本集）和 `redis`，或你的托管服务 |
| `~/overleaf-toolkit/data/overleaf` | PersistentVolumeClaim `overleaf-data` |
| 主机上用于编译的 Docker | 每个运行 Ayakaleaf Pro 的节点上的 Docker Engine |
| `bin/up`、`bin/logs`、`bin/shell` | `kubectl apply`、`kubectl logs`、`kubectl exec` |

### 你需要准备的内容

* 一个可以安装软件包的 Kubernetes 集群：每个可能运行 Ayakaleaf Pro 的节点都需要 **Docker Engine**，因为编译在 TeX Live 容器中运行，而这些容器由 Ayakaleaf Pro 通过节点的 `/var/run/docker.sock` 启动。参见 [0. 准备节点](https://ayakaleaf-pro.mintlify.site/zh-CN/on-premises/installation/using-kubernetes/0.-prepare-the-nodes.md)。
* 一个提供 `ReadWriteOnce` 卷的默认 StorageClass。
* 工作站上安装了 `kubectl` 和 `openssl`。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.