- كل عقدة يمكنها تشغيل pod الخاص بـ Ayakaleaf Pro يكون Docker Engine مثبّتًا عليها وقيد التشغيل؛
- كل صورة TeX Live تضبطها تُسحب إلى Docker على كل واحدة من تلك العقد.
containerd.io، ويستخدم كلاهما الخدمة (daemon) نفسها في مساحات أسماء مختلفة.
الخطوات أدناه مخصّصة لـ Ubuntu 24.04 ولعنقود مبني باستخدام kubeadm. إذا كان العنقود لديك موجودًا بالفعل، فنفّذ الخطوات 1 و2 و5 على العقد التي ستشغّل Ayakaleaf Pro.
1
وحدات النواة وإعدادات sysctl
2
Docker Engine
ثبّت Docker Engine من مستودع Docker كما في 0. إعداد Docker. لا حاجة إلى إضافة Compose. يثبّت ذلك أيضًا
containerd.io.3
containerd من أجل kubelet
تأتي حزمة
containerd.io من مستودع Docker مع إضافة CRI معطّلة. اكتب الإعدادات الافتراضية الكاملة، والتي تفعّلها، وحوّلها إلى استخدام systemd cgroups:4
kubeadm وkubelet وkubectl
اتّبع Installing kubeadm، ثم أنشئ العنقود باستخدام يحتاج العنقود أيضًا إلى StorageClass افتراضي. بالنسبة إلى عنقود اختباري، يعمل local-path-provisioner؛ أما في بيئة الإنتاج، فاستخدم التخزين الكتلي (block storage) الخاص بمنصتك (Longhorn، أو Ceph، أو برنامج تشغيل CSI سحابي).
kubeadm init وkubeadm join وثبّت إضافة شبكة. على سبيل المثال، مع flannel:kubeadm-config.yaml
5
صور TeX Live
على كل عقدة يمكنها تشغيل Ayakaleaf Pro، اسحب باستخدام Docker صور TeX Live التي ستدرجها في لا يفيد
ALL_TEX_LIVE_DOCKER_IMAGES، على سبيل المثال:crictl pull أو ctr هنا: إذ يطلب Ayakaleaf Pro الصورة من Docker. الصور الكاملة كبيرة الحجم (نحو 28 GB لكلٍّ منها)؛ راجع الترجمة المعزولة (Sandboxed Compiles) للاطلاع على القائمة. وفي الاختبار الأول، تكفي الصورة ghcr.io/ayaka-notes/texlive-basic:2026.1 (نحو 630 MB، وهي TeX Live بالحد الأدنى).أسئلة وأجوبة
هل يمكنني تشغيل Ayakaleaf Pro على عقد لا تحتوي على Docker؟
هل يمكنني تشغيل Ayakaleaf Pro على عقد لا تحتوي على Docker؟
الإجابة: فقط مع
SANDBOXED_COMPILES=false. عندئذٍ تجري عمليات الترجمة داخل حاوية Ayakaleaf Pro باستخدام TeX Live الصغير المدمج فيها، ويمكن لمستندات LaTeX قراءة وكتابة كل ما تستطيع تلك الحاوية الوصول إليه. لا نوصي بذلك؛ راجع الترجمة المعزولة (Sandboxed Compiles).هل تُحتسب عمليات الترجمة ضمن حدّ الذاكرة الخاص بالـ pod؟
هل تُحتسب عمليات الترجمة ضمن حدّ الذاكرة الخاص بالـ pod؟
الإجابة: لا. يشغّل Docker الخاص بالعقدة حاويات TeX Live، خارج الـ pod وخارج نطاق رؤية kubelet. اترك ذاكرة متاحة على العقدة من أجلها، على سبيل المثال باستخدام
systemReserved كما هو موضّح أعلاه، ولا تملأ العقدة بـ pods أخرى.
