Kompilierungen werden vom clsi-Dienst in jedem Ayakaleaf Pro-Pod ausgeführt. Bei aktivierten Sandboxed Compiles weist clsi die Docker Engine des Knotens, auf dem der Pod läuft, an, für jede Kompilierung einen TeX Live-Container zu starten, und übergibt ihm das Projektverzeichnis über dessen Pfad auf diesem Knoten. Wie das Sandboxing funktioniert und welche Images es gibt, ist unter Sandboxed Compiles beschrieben.
Konfiguration
Die Installation richtet alles ein: Docker und die Images auf den Knoten in 0. Knoten vorbereiten, die Einstellungen in 4. Ihre Instanz personalisieren und die Volumes in 5. Ayakaleaf Pro bereitstellen. Die Einstellungen, alle in der ConfigMap:
Eine TeX Live-Version hinzufügen
Das Image auf jedem Knoten pullen
Das Toolkit pullt die Images selbst; auf Kubernetes übernimmt das niemand. Pullen Sie in Docker, nicht mit crictl: clsi fragt Docker nach dem Image. Eine Kompilierung mit einem Image, das auf dem Knoten fehlt, schlägt fehl. In der ConfigMap eintragen und neu starten
Ein später zum Cluster hinzugefügter Knoten benötigt Docker und alle Images, bevor Ayakaleaf Pro dort läuft. Versehen Sie solche Knoten mit einem Label und halten Sie Ayakaleaf Pro mit einem nodeSelector auf ihnen, wenn nicht jeder Knoten geeignet ist.
Mehrere Replikate
Jedes Replikat kompiliert auf seinem eigenen Knoten und bewahrt die Kompilierungsausgabe dort auf, daher muss ein Benutzer auf dem Replikat bleiben, das kompiliert hat; dafür sorgt das Sticky-Cookie des Load Balancers. Betreiben Sie nie zwei Replikate auf demselben Knoten: Sie würden sich die Kompilierungsverzeichnisse des Knotens teilen. Das Setup für die Horizontale Skalierung verhindert dies mit podAntiAffinity.
Die TeX Live-Container laufen neben dem Pod, außerhalb seines Speicherlimits und außerhalb der Sicht des Schedulers. Lassen Sie auf den Knoten Speicher für sie frei, siehe 0. Knoten vorbereiten.
Auf Kubernetes getestet
Auf Kubernetes 1.37 mit drei Replikaten hinter HAProxy, einem pro Knoten, und TeX Live 2026 und 2025 in Docker auf jedem Knoten bestehen unsere End-to-End-Tests für Sandboxed Compiles (7 Fälle): Ein neues Projekt wird zu einem PDF kompiliert, die Compiler-Einstellungen bieten beide Images an und wechseln zwischen ihnen, XeLaTeX mit fontspec, LaTeX-Fehler und erneutes Kompilieren nach der Korrektur, Abbrechen einer laufenden Kompilierung sowie SyncTeX in beide Richtungen. Ein Lasttest mit 12 Benutzern, die gleichzeitig ein 600-seitiges Dokument kompilierten, führte 4 Kompilierungen pro Knoten aus, siehe Was Sie erwarten können. Zuletzt geändert am 2. November 2026