部署到 Kubernetes
📊📝📽️ Univer General
Kubernetes 是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。在本教程中,我们将使用 Helm —— Kubernetes 的包管理工具,来简化部署过程。
技术架构
Univer 的后端服务在 Kubernetes 上的部署将涉及以下组件:
- Kubernetes Cluster:你的应用程序将在这里运行。
- helm:用于在 Kubernetes 上部署和管理应用程序的工具。需要 helm 3 版本。
- PostgreSQL + RabbitMQ
安装 Helm
访问 Helm 的 官方安装页面 (opens in a new tab) 并按照指南安装 Helm。 验证 Helm 是否安装成功,运行以下命令:
helm version
部署
准备 Kubernetes 集群
确保你有一个运行中的 Kubernetes 集群。如果你使用的是云服务提供商,如 Google Kubernetes Engine (GKE) 或 Amazon Elastic Kubernetes Service (EKS),请按照他们的指南创建集群。
部署 Univer 服务
- 使用 Helm 安装 Univer 服务:
helm install -n univer --create-namespace \
--set global.istioNamespace="univer" \
univer-stack oci://univer-acr-registry.cn-shenzhen.cr.aliyuncs.com/helm-charts/univer-stack
kubectl rollout restart -n univer deployment/collaboration-server
kubectl rollout restart -n univer deployment/universer
- 检查部署状态:
kubectl get pods
- 部署可观测性组件(可选):
helm upgrade --install -n univer-observability --create-namespace \
--set global.univerNamespace="univer" \
univer-observability oci://univer-acr-registry.cn-shenzhen.cr.aliyuncs.com/helm-charts/univer-observability
验证部署
# 可以简单修改本地 hosts 文件来解析域名。
# 默认域名: univer.example.com
open: http://univer.example.com/sheet/
常见问题
服务未启动: 检查 Kubernetes 的 Pod 是否正常运行,查看日志以确定问题所在。
下载不了 OCI 制品?
helm
版本要求大于等于 3,如果版本低于 3.8,需要通过 export HELM_EXPERIMENTAL_OCI=1
设置环境变量来开启 OCI 特性,详情请查看 helm 官方文档 (opens in a new tab)。