Skip to main content
Ayakaleaf Pro compile le LaTeX dans des conteneurs TeX Live isolés. Il les démarre lui-même, via le socket Docker de la machine sur laquelle il s’exécute. Sur Kubernetes, cela signifie que :
  • chaque nœud pouvant exécuter le pod Ayakaleaf Pro dispose de Docker Engine installé et en cours d’exécution ;
  • chaque image TeX Live que vous configurez est récupérée dans Docker sur chacun de ces nœuds.
Le kubelet peut continuer à utiliser containerd : Docker Engine fournit containerd.io, et tous deux utilisent le même démon dans des namespaces différents.
Les pools de nœuds managés sans Docker (la plupart des configurations par défaut d’EKS, GKE et AKS) ne peuvent pas exécuter de compilations isolées. Utilisez des pools de nœuds sur lesquels vous pouvez installer Docker Engine, ou étiquetez ces nœuds et maintenez Ayakaleaf Pro sur eux avec un nodeSelector.
Les étapes ci-dessous concernent Ubuntu 24.04 et un cluster créé avec kubeadm. Si votre cluster existe déjà, effectuez les étapes 1, 2 et 5 sur les nœuds qui exécuteront Ayakaleaf Pro.
1

Modules du noyau et sysctls

2

Docker Engine

Installez Docker Engine depuis le dépôt de Docker comme dans 0. Installer Docker. Le plugin Compose n’est pas nécessaire. Cela installe également containerd.io.
3

containerd pour le kubelet

Le paquet containerd.io du dépôt de Docker a le plugin CRI désactivé. Écrivez la configuration par défaut complète, qui l’active, et passez-la aux cgroups systemd :
4

kubeadm, kubelet et kubectl

Suivez Installing kubeadm, puis créez le cluster avec kubeadm init et kubeadm join et installez un plugin réseau. Par exemple, avec flannel :
kubeadm-config.yaml
Le cluster a également besoin d’une StorageClass par défaut. Pour un cluster de test, local-path-provisioner convient ; en production, utilisez le stockage en mode bloc de votre plateforme (Longhorn, Ceph, un pilote CSI cloud).
5

Images TeX Live

Sur chaque nœud pouvant exécuter Ayakaleaf Pro, récupérez avec Docker les images TeX Live que vous listerez dans ALL_TEX_LIVE_DOCKER_IMAGES, par exemple :
crictl pull ou ctr ne sont d’aucune aide ici : Ayakaleaf Pro demande l’image à Docker. Les images complètes sont volumineuses (environ 28 Go chacune) ; voir Compilations isolées pour la liste. Pour un premier test, ghcr.io/ayaka-notes/texlive-basic:2026.1 (environ 630 Mo, un TeX Live minimal) suffit.

Q&A

Réponse : Uniquement avec SANDBOXED_COMPILES=false. Les compilations s’exécutent alors dans le conteneur Ayakaleaf Pro avec son petit TeX Live intégré, et les documents LaTeX peuvent lire et écrire tout ce à quoi ce conteneur a accès. Nous ne le recommandons pas ; voir Compilations isolées.
Réponse : Non. Les conteneurs TeX Live sont démarrés par le Docker du nœud, en dehors du pod et hors de la vue du kubelet. Laissez de la mémoire libre sur le nœud pour eux, par exemple avec systemReserved comme ci-dessus, et ne remplissez pas le nœud avec d’autres pods.
Dernière modification le 2 novembre 2026