Skip to main content
Le compilazioni vengono eseguite dal servizio clsi all’interno di ogni pod di Ayakaleaf Pro. Con le sandboxed compiles attive, clsi chiede al Docker Engine del nodo su cui gira il pod di avviare un container TeX Live per ogni compilazione, e gli passa la directory del progetto tramite il suo percorso su quel nodo. Come funziona il sandboxing e quali immagini esistono è descritto in Sandboxed Compiles.

Configurazione

L’installazione configura tutto: Docker e le immagini sui nodi in 0. Preparare i nodi, le impostazioni in 4. Personalizzare la tua istanza e i volumi in 5. Distribuire Ayakaleaf Pro. Le impostazioni, tutte nella ConfigMap:

Aggiungere una versione di TeX Live

1

Scarica l'immagine su ogni nodo

Il Toolkit scarica le immagini da solo; su Kubernetes nessuno lo fa. Esegui il pull in Docker, non con crictl: clsi chiede l’immagine a Docker. Una compilazione con un’immagine mancante sul nodo fallisce.
2

Elencala nella ConfigMap e riavvia

Un nodo aggiunto al cluster in seguito necessita di Docker e di tutte le immagini prima che Ayakaleaf Pro vi venga eseguito. Se non tutti i nodi sono idonei, etichetta quelli che lo sono e mantieni Ayakaleaf Pro su di essi con un nodeSelector.

Più repliche

Ogni replica compila sul proprio nodo e vi conserva l’output della compilazione, quindi un utente deve restare sulla replica che ha compilato, cosa garantita dal cookie sticky del load balancer. Non eseguire mai due repliche sullo stesso nodo: condividerebbero le directory di compilazione del nodo. La configurazione di Scalabilità orizzontale lo impedisce con podAntiAffinity. I container TeX Live vengono eseguiti accanto al pod, al di fuori del suo limite di memoria e al di fuori della vista dello scheduler. Lascia memoria libera sui nodi per loro, vedi 0. Preparare i nodi.

Testato su Kubernetes

Su Kubernetes 1.37 con tre repliche dietro HAProxy, una per nodo, e TeX Live 2026 e 2025 scaricati in Docker su ogni nodo, i nostri test end-to-end per le sandboxed compiles vengono superati (7 casi): un nuovo progetto viene compilato in un PDF, le impostazioni del compilatore offrono entrambe le immagini e permettono di passare dall’una all’altra, XeLaTeX con fontspec, errori LaTeX e ricompilazione dopo la correzione, interruzione di una compilazione in corso, e SyncTeX in entrambe le direzioni. Un test di carico con 12 utenti che compilavano contemporaneamente un documento di 600 pagine ha eseguito 4 compilazioni per nodo, vedi Cosa aspettarsi.
Ultima modifica il 2 novembre 2026