Skip to main content
Ayakaleaf Pro compila LaTeX in container TeX Live isolati in sandbox. Li avvia da solo, tramite il socket Docker della macchina su cui viene eseguito. Su Kubernetes questo significa che:
  • ogni nodo che può eseguire il pod di Ayakaleaf Pro ha Docker Engine installato e in esecuzione;
  • ogni immagine TeX Live che configuri è scaricata in Docker su ciascuno di questi nodi.
Il kubelet può continuare a usare containerd: Docker Engine include containerd.io, ed entrambi usano lo stesso daemon in namespace diversi.
I node pool gestiti senza Docker (la maggior parte delle configurazioni predefinite di EKS, GKE e AKS) non possono eseguire sandboxed compiles. Usa node pool su cui puoi installare Docker Engine, oppure etichetta tali nodi e mantieni Ayakaleaf Pro su di essi con un nodeSelector.
I passaggi seguenti si riferiscono a Ubuntu 24.04 e a un cluster creato con kubeadm. Se il tuo cluster esiste già, esegui i passaggi 1, 2 e 5 sui nodi che eseguiranno Ayakaleaf Pro.
1

Moduli del kernel e sysctl

2

Docker Engine

Installa Docker Engine dal repository di Docker come descritto in 0. Configurare Docker. Il plugin Compose non è necessario. In questo modo viene installato anche containerd.io.
3

containerd per il kubelet

Il pacchetto containerd.io del repository di Docker ha il plugin CRI disattivato. Scrivi la configurazione predefinita completa, che lo attiva, e passa ai cgroup di systemd:
4

kubeadm, kubelet e kubectl

Segui Installing kubeadm, poi crea il cluster con kubeadm init e kubeadm join e installa un plugin di rete. Ad esempio, con flannel:
kubeadm-config.yaml
Il cluster necessita anche di una StorageClass predefinita. Per un cluster di test va bene local-path-provisioner; in produzione, usa lo storage a blocchi della tua piattaforma (Longhorn, Ceph, un driver CSI del cloud).
5

Immagini TeX Live

Su ogni nodo che può eseguire Ayakaleaf Pro, scarica con Docker le immagini TeX Live che elencherai in ALL_TEX_LIVE_DOCKER_IMAGES, ad esempio:
crictl pull o ctr non servono in questo caso: Ayakaleaf Pro chiede l’immagine a Docker. Le immagini complete sono grandi (circa 28 GB ciascuna); vedi Sandboxed Compiles per l’elenco. Per un primo test è sufficiente ghcr.io/ayaka-notes/texlive-basic:2026.1 (circa 630 MB, un TeX Live minimale).

Q&A

Risposta: Solo con SANDBOXED_COMPILES=false. Le compilazioni vengono quindi eseguite all’interno del container di Ayakaleaf Pro con il suo piccolo TeX Live integrato, e i documenti LaTeX possono leggere e scrivere tutto ciò a cui quel container ha accesso. Non lo consigliamo; vedi Sandboxed Compiles.
Risposta: No. I container TeX Live vengono avviati dal Docker del nodo, al di fuori del pod e al di fuori della vista del kubelet. Lascia memoria libera sul nodo per loro, ad esempio con systemReserved come sopra, e non riempire il nodo con altri pod.
Ultima modifica il 2 novembre 2026