Skip to main content
Ayakaleaf Pro компилирует LaTeX в изолированных контейнерах TeX Live. Он запускает их сам через сокет Docker машины, на которой работает. В Kubernetes это означает:
  • на каждом узле, на котором может работать под Ayakaleaf Pro, установлен и запущен Docker Engine;
  • каждый настроенный вами образ TeX Live загружен в Docker на каждом из этих узлов.
kubelet может продолжать использовать containerd: Docker Engine поставляется с containerd.io, и оба используют один и тот же демон в разных пространствах имён.
Управляемые пулы узлов без Docker (большинство конфигураций EKS, GKE и AKS по умолчанию) не могут выполнять изолированную компиляцию. Используйте пулы узлов, на которые можно установить Docker Engine, или пометьте такие узлы метками и закрепите Ayakaleaf Pro на них с помощью nodeSelector.
Приведённые ниже шаги предназначены для Ubuntu 24.04 и кластера, созданного с помощью kubeadm. Если ваш кластер уже существует, выполните шаги 1, 2 и 5 на узлах, где будет работать Ayakaleaf Pro.
1

Модули ядра и sysctl

2

Docker Engine

Установите Docker Engine из репозитория Docker, как описано в разделе 0. Установка Docker. Плагин Compose не нужен. При этом также устанавливается containerd.io.
3

containerd для kubelet

В пакете containerd.io из репозитория Docker плагин CRI отключён. Запишите полную конфигурацию по умолчанию, которая его включает, и переключите её на cgroups systemd:
4

kubeadm, kubelet и kubectl

Следуйте инструкции Installing kubeadm, затем создайте кластер с помощью kubeadm init и kubeadm join и установите сетевой плагин. Например, с flannel:
kubeadm-config.yaml
Кластеру также нужен StorageClass по умолчанию. Для тестового кластера подойдёт local-path-provisioner; в продакшене используйте блочное хранилище вашей платформы (Longhorn, Ceph, облачный CSI-драйвер).
5

Образы TeX Live

На каждом узле, на котором может работать Ayakaleaf Pro, загрузите с помощью Docker образы TeX Live, которые вы укажете в ALL_TEX_LIVE_DOCKER_IMAGES, например:
crictl pull или ctr здесь не помогут: Ayakaleaf Pro запрашивает образ у Docker. Полные образы большие (около 28 ГБ каждый); список см. на странице Изолированная компиляция. Для первого теста достаточно ghcr.io/ayaka-notes/texlive-basic:2026.1 (около 630 МБ, минимальный TeX Live).

Вопросы и ответы

Ответ: Только с SANDBOXED_COMPILES=false. Тогда компиляции выполняются внутри контейнера Ayakaleaf Pro с его небольшим встроенным TeX Live, и документы LaTeX могут читать и записывать всё, к чему имеет доступ этот контейнер. Мы не рекомендуем так делать; см. Изолированная компиляция.
Ответ: Нет. Контейнеры TeX Live запускает Docker узла, вне пода и вне поля зрения kubelet. Оставляйте на узле свободную память для них, например с помощью systemReserved, как показано выше, и не заполняйте узел другими подами.
Последнее изменение 2 ноября 2026 г.