Kompilasi dijalankan oleh layanan clsi di dalam setiap pod Ayakaleaf Pro. Dengan sandboxed compiles aktif, clsi meminta Docker Engine pada node tempat pod berjalan untuk memulai kontainer TeX Live untuk setiap kompilasi, dan memberikan direktori proyek melalui path-nya di node tersebut. Cara kerja sandboxing dan image apa saja yang tersedia dijelaskan di Sandboxed Compiles.
Konfigurasi
Instalasi menyiapkan semuanya: Docker dan image di node pada 0. Siapkan node, pengaturan di 4. Personalisasi instance Anda, dan volume di 5. Deploy Ayakaleaf Pro. Pengaturannya, semuanya di ConfigMap:
Menambahkan versi TeX Live
Pull image di setiap node
Toolkit melakukan pull image sendiri; di Kubernetes tidak ada yang melakukannya. Lakukan pull ke Docker, bukan dengan crictl: clsi meminta image dari Docker. Kompilasi dengan image yang tidak ada di node akan gagal. Cantumkan di ConfigMap dan mulai ulang
Node yang ditambahkan ke klaster di kemudian hari memerlukan Docker dan semua image sebelum Ayakaleaf Pro berjalan di sana. Beri label pada node tersebut dan pertahankan Ayakaleaf Pro di node itu dengan nodeSelector jika tidak semua node memenuhi syarat.
Beberapa replika
Setiap replika melakukan kompilasi di node-nya sendiri dan menyimpan output kompilasi di sana, sehingga pengguna harus tetap berada di replika yang melakukan kompilasi, yang dijamin oleh cookie sticky load balancer. Jangan pernah menjalankan dua replika di node yang sama: keduanya akan berbagi direktori kompilasi node. Penyiapan Penskalaan horizontal mencegah hal ini dengan podAntiAffinity.
Kontainer TeX Live berjalan di samping pod, di luar batas memorinya dan di luar pantauan scheduler. Sisakan memori kosong di node untuk kontainer tersebut, lihat 0. Siapkan node.
Diuji di Kubernetes
Di Kubernetes 1.37 dengan tiga replika di belakang HAProxy, satu per node, dan TeX Live 2026 serta 2025 yang di-pull ke Docker di setiap node, pengujian end-to-end kami untuk sandboxed compiles lulus (7 kasus): proyek baru dikompilasi menjadi PDF, pengaturan kompiler menawarkan kedua image dan beralih di antaranya, XeLaTeX dengan fontspec, error LaTeX dan kompilasi ulang setelah perbaikan, menghentikan kompilasi yang sedang berjalan, dan SyncTeX di kedua arah. Uji beban dengan 12 pengguna yang mengompilasi dokumen 600 halaman secara bersamaan menjalankan 4 kompilasi per node, lihat Apa yang dapat diharapkan. Terakhir diubah pada 2 November 2026