Skip to main content
Pandoc 转换与编译一样,由每个 Ayakaleaf Pro pod 的 clsi 服务执行:clsi 请求节点的 Docker Engine 从 PANDOC_IMAGE 启动一个容器。web 服务显示导入和导出菜单。该功能的作用以及如何构建镜像,请参见 Pandoc 导入与导出。

配置

1

将镜像放入每个节点的 Docker 中

从 ayakaleaf-pro 仓库的 develop/pandoc 文件夹构建一次镜像,然后将其加载到每个可以运行 Ayakaleaf Pro 的节点的 Docker 中:
或者将其推送到节点可以访问的镜像仓库,然后在每个节点上执行 sudo docker pull。与 TeX Live 镜像一样,它必须位于 Docker 中,而不仅仅是 containerd 中。
2

ConfigMap

web 和 clsi 都从同一个 ConfigMap 读取 ENABLE_PANDOC_CONVERSIONS,因此在 Kubernetes 上二者的设置不会不一致。
3

应用并重启

多个副本

除了确保每个节点上都有该镜像外,无需额外配置:每个副本都在自己的节点上执行转换。

在 Kubernetes 上的测试

使用从 develop/pandoc 构建、并通过 docker save | docker load 加载到每个节点 Docker 中的镜像,在 Kubernetes 1.37 上以单副本运行时,我们针对 Pandoc 的端到端测试全部通过(6 个用例):将 Markdown 文档导入为 LaTeX 项目、损坏的 Word 文档所显示的错误、导出 Word(可再次导入)、Markdown 和 HTML,以及在未设置 ENABLE_PANDOC_CONVERSIONS 时隐藏菜单。
最后修改于 2026年11月2日