Skip to main content
Ayakaleaf Pro kompiliert LaTeX in TeX Live-Containern, die als Sandbox dienen. Es startet sie selbst, über den Docker-Socket der Maschine, auf der es läuft. Auf Kubernetes bedeutet das:
  • Auf jedem Knoten, der den Ayakaleaf Pro-Pod ausführen kann, ist Docker Engine installiert und aktiv;
  • jedes von Ihnen konfigurierte TeX Live-Image ist auf jedem dieser Knoten in Docker gepullt.
Das kubelet kann weiterhin containerd verwenden: Docker Engine liefert containerd.io mit, und beide verwenden denselben Daemon in unterschiedlichen Namespaces.
Verwaltete Knotenpools ohne Docker (die meisten Standardkonfigurationen von EKS, GKE und AKS) können keine Sandboxed Compiles ausführen. Verwenden Sie Knotenpools, auf denen Sie Docker Engine installieren können, oder versehen Sie solche Knoten mit einem Label und halten Sie Ayakaleaf Pro mit einem nodeSelector auf ihnen.
Die folgenden Schritte gelten für Ubuntu 24.04 und einen mit kubeadm erstellten Cluster. Wenn Ihr Cluster bereits existiert, führen Sie die Schritte 1, 2 und 5 auf den Knoten aus, die Ayakaleaf Pro ausführen werden.
1

Kernelmodule und sysctls

2

Docker Engine

Installieren Sie Docker Engine aus dem Docker-Repository wie unter 0. Docker einrichten beschrieben. Das Compose-Plugin wird nicht benötigt. Dabei wird auch containerd.io installiert.
3

containerd für das kubelet

Im Paket containerd.io aus dem Docker-Repository ist das CRI-Plugin deaktiviert. Schreiben Sie die vollständige Standardkonfiguration, die es aktiviert, und stellen Sie sie auf systemd-cgroups um:
4

kubeadm, kubelet und kubectl

Folgen Sie Installing kubeadm, erstellen Sie dann den Cluster mit kubeadm init und kubeadm join und installieren Sie ein Netzwerk-Plugin. Zum Beispiel mit flannel:
kubeadm-config.yaml
Der Cluster benötigt außerdem eine Standard-StorageClass. Für einen Testcluster funktioniert local-path-provisioner; verwenden Sie in der Produktion den Blockspeicher Ihrer Plattform (Longhorn, Ceph, einen Cloud-CSI-Treiber).
5

TeX Live-Images

Pullen Sie auf jedem Knoten, der Ayakaleaf Pro ausführen kann, die TeX Live-Images, die Sie in ALL_TEX_LIVE_DOCKER_IMAGES aufführen werden, mit Docker, zum Beispiel:
crictl pull oder ctr helfen hier nicht: Ayakaleaf Pro fragt Docker nach dem Image. Die Full-Images sind groß (jeweils etwa 28 GB); die Liste finden Sie unter Sandboxed Compiles. Für einen ersten Test reicht ghcr.io/ayaka-notes/texlive-basic:2026.1 (etwa 630 MB, ein minimales TeX Live).

Q&A

Antwort: Nur mit SANDBOXED_COMPILES=false. Kompilierungen laufen dann im Ayakaleaf Pro-Container mit seinem kleinen integrierten TeX Live, und LaTeX-Dokumente können alles lesen und schreiben, was dieser Container kann. Wir empfehlen das nicht; siehe Sandboxed Compiles.
Antwort: Nein. Die TeX Live-Container werden vom Docker des Knotens gestartet, außerhalb des Pods und außerhalb der Sicht des kubelets. Lassen Sie auf dem Knoten Speicher für sie frei, zum Beispiel mit systemReserved wie oben, und füllen Sie den Knoten nicht mit anderen Pods.
Zuletzt geändert am 2. November 2026