Skip to main content
Các lần biên dịch được thực hiện bởi dịch vụ clsi bên trong mọi pod Ayakaleaf Pro. Khi bật biên dịch trong sandbox, clsi yêu cầu Docker Engine của node mà pod đang chạy khởi động một container TeX Live cho mỗi lần biên dịch, và trao cho nó thư mục của dự án theo đường dẫn trên node đó. Cách hoạt động của sandbox và các image hiện có được mô tả trong Biên dịch trong sandbox.

Cấu hình

Quá trình cài đặt đã thiết lập mọi thứ: Docker và các image trên các node trong 0. Chuẩn bị các node, các cài đặt trong 4. Cá nhân hóa phiên bản của bạn và các volume trong 5. Triển khai Ayakaleaf Pro. Các cài đặt, tất cả đều nằm trong ConfigMap:

Thêm một phiên bản TeX Live

1

Pull image trên mọi node

Toolkit tự pull các image; trên Kubernetes thì không ai làm việc đó. Hãy pull vào Docker, không dùng crictl: clsi yêu cầu image từ Docker. Một lần biên dịch với image không có trên node sẽ thất bại.
2

Liệt kê image trong ConfigMap và khởi động lại

Một node được thêm vào cluster sau này cần có Docker và tất cả các image trước khi Ayakaleaf Pro chạy trên đó. Hãy gắn nhãn cho các node như vậy và giữ Ayakaleaf Pro trên chúng bằng nodeSelector nếu không phải node nào cũng đủ điều kiện.

Nhiều replica

Mỗi replica biên dịch trên node của chính nó và lưu kết quả biên dịch ở đó, vì vậy người dùng phải ở lại replica đã biên dịch, điều mà cookie sticky của load balancer đảm bảo. Không bao giờ chạy hai replica trên cùng một node: chúng sẽ dùng chung các thư mục biên dịch của node. Thiết lập Mở rộng theo chiều ngang ngăn chặn điều này bằng podAntiAffinity. Các container TeX Live chạy bên cạnh pod, nằm ngoài giới hạn bộ nhớ của pod và ngoài tầm quan sát của scheduler. Hãy để trống bộ nhớ trên các node cho chúng, xem 0. Chuẩn bị các node.

Đã kiểm thử trên Kubernetes

Trên Kubernetes 1.37 với ba replica phía sau HAProxy, mỗi node một replica, và TeX Live 2026 và 2025 được pull vào Docker trên mọi node, các bài kiểm thử end-to-end của chúng tôi cho biên dịch trong sandbox đều đạt (7 trường hợp): một dự án mới biên dịch ra PDF, cài đặt trình biên dịch cung cấp cả hai image và chuyển đổi giữa chúng, XeLaTeX với fontspec, lỗi LaTeX và biên dịch lại sau khi sửa, dừng một lần biên dịch đang chạy, và SyncTeX theo cả hai chiều. Một bài kiểm thử tải với 12 người dùng cùng lúc biên dịch một tài liệu 600 trang đã chạy 4 lần biên dịch trên mỗi node, xem Những gì có thể mong đợi.
Lần sửa đổi cuối 2 tháng 11, 2026