Skip to main content
Ayakaleaf Pro pod 中的每个服务都会在 /var/log/overleaf/ 下写入自己的日志文件;kubectl logs 只显示容器的启动输出(初始化脚本、迁移)。Toolkit 的 bin/logs 读取的是相同的文件,参见日志。

读取日志

在多个副本的情况下,每个 pod 都有自己的文件:请使用 pod 名称(overleaf-0、overleaf-1……)代替 deploy/overleaf。HAProxy 添加的 X-Served-By 请求头会指明是哪个副本响应了请求。 ConfigMap 中的 LOG_LEVEL(默认 info,也可设为 debug、warn、error)会一次性设置 pod 中所有服务的日志级别。

保留日志

这些文件位于容器中,pod 被替换时会丢失。要保留它们,请在 Deployment 或 StatefulSet 中将一个卷挂载到 /var/log/overleaf,例如节点上的 hostPath 或 PersistentVolumeClaim:
容器每天轮转一次文件并保留五份,因此卷不会无限增长。你也可以使用集群的日志代理从该路径收集日志。

在 Kubernetes 上的测试

在 Kubernetes 1.37 上以三个副本运行,并如上所述在 /var/log/overleaf 挂载 hostPath 卷,每个节点的 /srv/overleaf-logs 中都保存了其副本的十二个服务日志,表中的命令也按所示方式正常工作:通过 kubectl exec 执行 tail、使用 kubectl cp 复制日志文件、对 Overleaf pod(启动和迁移)以及 mongo-0 执行 kubectl logs。
最后修改于 2026年11月2日