Kompileringar körs av tjänsten clsi i varje Ayakaleaf Pro-pod. Med sandlådekompilering påslagen ber clsi nodens Docker Engine, där podden körs, att starta en TeX Live-container för varje kompilering och ger den projektets katalog via dess sökväg på noden. Hur sandlådan fungerar och vilka avbildningar som finns beskrivs i Sandlådekompilering.
Konfiguration
Installationen konfigurerar allt: Docker och avbildningarna på noderna i 0. Förbered noderna, inställningarna i 4. Anpassa din instans och volymerna i 5. Driftsätt Ayakaleaf Pro. Inställningarna, alla i ConfigMap:en:
Lägga till en TeX Live-version
Hämta avbildningen på varje nod
Toolkit hämtar avbildningarna själv; på Kubernetes gör ingen det. Hämta till Docker, inte med crictl: clsi frågar Docker efter avbildningen. En kompilering med en avbildning som saknas på noden misslyckas. Lista den i ConfigMap:en och starta om
En nod som läggs till i klustret senare behöver Docker och alla avbildningar innan Ayakaleaf Pro körs där. Märk sådana noder med en etikett och håll Ayakaleaf Pro på dem med en nodeSelector om inte alla noder uppfyller kraven.
Flera repliker
Varje replik kompilerar på sin egen nod och behåller kompileringsutdata där, så en användare måste stanna på repliken som kompilerade, vilket lastbalanserarens sticky-cookie säkerställer. Kör aldrig två repliker på samma nod: de skulle dela nodens kompileringskataloger. Konfigurationen för Horisontell skalning förhindrar detta med podAntiAffinity.
TeX Live-containrarna körs bredvid podden, utanför dess minnesgräns och utanför schemaläggarens överblick. Lämna minne ledigt på noderna för dem, se 0. Förbered noderna.
Testat på Kubernetes
På Kubernetes 1.37 med tre repliker bakom HAProxy, en per nod, och TeX Live 2026 och 2025 hämtade till Docker på varje nod, klarar våra end-to-end-tester för sandlådekompilering sig (7 fall): ett nytt projekt kompileras till en PDF, kompilatorinställningarna erbjuder båda avbildningarna och växlar mellan dem, XeLaTeX med fontspec, LaTeX-fel och omkompilering efter rättningen, avbrytande av en pågående kompilering samt SyncTeX åt båda hållen. Ett belastningstest med 12 användare som kompilerade ett 600-sidigt dokument samtidigt körde 4 kompileringar per nod, se Vad du kan förvänta dig. Senast ändrad 2 november 2026