Kompilace provádí služba clsi uvnitř každého podu Ayakaleaf Pro. Se zapnutými sandboxed compiles požádá clsi Docker Engine uzlu, na kterém pod běží, o spuštění kontejneru TeX Live pro každou kompilaci a předá mu adresář projektu pomocí jeho cesty na tomto uzlu. Jak sandboxing funguje a které obrazy existují, je popsáno v části Sandboxed Compiles.
Konfigurace
Vše nastaví instalace: Docker a obrazy na uzlech v kroku 0. Příprava uzlů, nastavení v kroku 4. Přizpůsobení instance a svazky v kroku 5. Nasazení Ayakaleaf Pro. Nastavení, všechna v ConfigMapu:
Přidání verze TeX Live
Stáhněte obraz na každém uzlu
Toolkit si obrazy stahuje sám; na Kubernetes to nedělá nikdo. Stahujte do Dockeru, ne pomocí crictl: clsi žádá o obraz Docker. Kompilace s obrazem, který na uzlu chybí, selže. Uveďte jej v ConfigMapu a restartujte
Uzel přidaný do clusteru později potřebuje Docker a všechny obrazy dříve, než na něm Ayakaleaf Pro poběží. Pokud nevyhovuje každý uzel, takové uzly označte labelem a udržujte na nich Ayakaleaf Pro pomocí nodeSelector.
Více replik
Každá replika kompiluje na svém vlastním uzlu a uchovává tam výstup kompilace, takže uživatel musí zůstat na replice, která kompilovala, což zajišťuje sticky cookie load balanceru. Nikdy nespouštějte dvě repliky na stejném uzlu: sdílely by adresáře kompilací uzlu. Nastavení z horizontálního škálování tomu brání pomocí podAntiAffinity.
Kontejnery TeX Live běží vedle podu, mimo jeho limit paměti a mimo dohled scheduleru. Ponechte jim na uzlech volnou paměť, viz 0. Příprava uzlů.
Testováno na Kubernetes
Na Kubernetes 1.37 se třemi replikami za HAProxy, jednou na uzel, a s TeX Live 2026 a 2025 staženými do Dockeru na každém uzlu procházejí naše end-to-end testy sandboxed compiles (7 případů): nový projekt se zkompiluje do PDF, nastavení kompilátoru nabízí oba obrazy a přepíná mezi nimi, XeLaTeX s fontspec, chyby LaTeXu a opětovná kompilace po opravě, zastavení běžící kompilace a SyncTeX v obou směrech. Zátěžový test s 12 uživateli, kteří současně kompilovali dokument o 600 stranách, spustil 4 kompilace na uzel, viz Co očekávat. Naposledy změněno 2. listopadu 2026