Compilaties worden uitgevoerd door de clsi-service in elke Ayakaleaf Pro-pod. Met sandboxed compiles ingeschakeld vraagt clsi de Docker Engine van de node waarop de pod draait om voor elke compilatie een TeX Live-container te starten, en geeft deze de map van het project via het pad op die node. Hoe sandboxing werkt en welke images er bestaan, staat beschreven in Sandboxed Compiles.
Configuratie
De installatie stelt alles in: Docker en de images op de nodes in 0. De nodes voorbereiden, de instellingen in 4. Je instantie personaliseren en de volumes in 5. Ayakaleaf Pro deployen. De instellingen, allemaal in de ConfigMap:
Een TeX Live-versie toevoegen
Pull de image op elke node
De Toolkit pullt de images zelf; op Kubernetes doet niemand dat. Pull in Docker, niet met crictl: clsi vraagt Docker om de image. Een compilatie met een image die op de node ontbreekt, mislukt. Zet deze in de ConfigMap en herstart
Een node die later aan het cluster wordt toegevoegd, heeft Docker en alle images nodig voordat Ayakaleaf Pro daar draait. Label zulke nodes en houd Ayakaleaf Pro erop met een nodeSelector als niet elke node geschikt is.
Meerdere replica’s
Elke replica compileert op zijn eigen node en bewaart de compilatie-uitvoer daar, dus een gebruiker moet op de replica blijven die heeft gecompileerd, wat de sticky cookie van de load balancer garandeert. Draai nooit twee replica’s op dezelfde node: ze zouden de compilemappen van de node delen. De opzet uit Horizontaal schalen voorkomt dit met podAntiAffinity.
De TeX Live-containers draaien naast de pod, buiten de geheugenlimiet ervan en buiten het zicht van de scheduler. Laat geheugen vrij op de nodes voor deze containers, zie 0. De nodes voorbereiden.
Getest op Kubernetes
Op Kubernetes 1.37 met drie replica’s achter HAProxy, één per node, en TeX Live 2026 en 2025 gepulld in Docker op elke node, slagen onze end-to-endtests voor sandboxed compiles (7 gevallen): een nieuw project compileert naar een PDF, de compilerinstellingen bieden beide images aan en wisselen ertussen, XeLaTeX met fontspec, LaTeX-fouten en opnieuw compileren na de correctie, een lopende compilatie stoppen, en SyncTeX in beide richtingen. Een belastingstest met 12 gebruikers die tegelijkertijd een document van 600 pagina’s compileerden, draaide 4 compilaties per node, zie Wat je kunt verwachten. Laatst gewijzigd op 2 november 2026