> ## 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

> 使用純 manifest 在 Kubernetes 叢集上部署 Ayakaleaf Pro。

[Toolkit](https://ayakaleaf-pro.mintlify.site/zh-TW/on-premises/installation/using-the-toolkit) 是在單一伺服器上執行 Ayakaleaf Pro 的建議方式。如果您已經在執行 Kubernetes 叢集，本節會使用純 `kubectl` manifest 在叢集上部署相同的容器：不需要額外的映像檔，也不需要 Helm chart。

完成本節後，您將擁有一個具備沙箱編譯、MongoDB 複本集與 Redis 的 Ayakaleaf Pro 執行個體，全部位於命名空間 `overleaf` 中。若要在負載平衡器後方執行多個執行個體，請接著參閱[水平擴展](https://ayakaleaf-pro.mintlify.site/zh-TW/on-premises/configuration/kubernetes/horizontal-scaling.md)。

> [!NOTE]
>
> Kubernetes 支援目前仍處於實驗階段。我們不發布 Helm chart 或 Kubernetes 專用的映像檔。這些頁面中的 manifest，是我們在 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**，因為編譯是在 Ayakaleaf Pro 透過節點的 `/var/run/docker.sock` 啟動的 TeX Live 容器中執行。請參閱 [0. 準備節點](https://ayakaleaf-pro.mintlify.site/zh-TW/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.