Компиляции выполняет сервис clsi внутри каждого пода Ayakaleaf Pro. При включённой изолированной компиляции clsi просит Docker Engine узла, на котором работает под, запустить контейнер TeX Live для каждой компиляции и передаёт ему каталог проекта по его пути на этом узле. Как работает изоляция и какие образы существуют, описано на странице Изолированная компиляция.
Настройка
Установка настраивает всё сама: Docker и образы на узлах — в разделе 0. Подготовка узлов, настройки — в разделе 4. Персонализация экземпляра, тома — в разделе 5. Развёртывание Ayakaleaf Pro. Настройки, все в ConfigMap:
Добавление версии TeX Live
Загрузите образ на каждом узле
Toolkit загружает образы сам; в Kubernetes этого никто не делает. Загружайте образы в Docker, а не с помощью crictl: clsi запрашивает образ у Docker. Компиляция с образом, отсутствующим на узле, завершается ошибкой. Укажите его в ConfigMap и перезапустите
Узлу, добавленному в кластер позже, нужны Docker и все образы до того, как на нём запустится Ayakaleaf Pro. Если подходят не все узлы, пометьте подходящие метками и закрепите Ayakaleaf Pro на них с помощью nodeSelector.
Несколько реплик
Каждая реплика компилирует на своём узле и хранит там результаты компиляции, поэтому пользователь должен оставаться на реплике, которая выполнила компиляцию, что обеспечивает sticky-cookie балансировщика нагрузки. Никогда не запускайте две реплики на одном узле: они будут использовать общие каталоги компиляции узла. Конфигурация из раздела Горизонтальное масштабирование предотвращает это с помощью podAntiAffinity.
Контейнеры TeX Live работают рядом с подом, вне его лимита памяти и вне поля зрения планировщика. Оставляйте на узлах свободную память для них, см. 0. Подготовка узлов.
Проверено на Kubernetes
В Kubernetes 1.37 с тремя репликами за HAProxy, по одной на узел, и с TeX Live 2026 и 2025, загруженными в Docker на каждом узле, наши сквозные тесты изолированной компиляции проходят (7 сценариев): новый проект компилируется в PDF, настройки компилятора предлагают оба образа и переключаются между ними, XeLaTeX с fontspec, ошибки LaTeX и повторная компиляция после исправления, остановка выполняющейся компиляции и SyncTeX в обоих направлениях. Нагрузочный тест, в котором 12 пользователей одновременно компилировали документ на 600 страниц, выполнял по 4 компиляции на узел, см. Чего ожидать. Последнее изменение 2 ноября 2026 г.