לאחר שנתיים של פיתוח, יצא לאור פרויקט Kata Containers 3.0, המפתח מחסנית לארגון ביצוע קונטיינרים באמצעות בידוד המבוסס על מנגנוני וירטואליזציה מלאים. הפרויקט נוצר על ידי אינטל והיפר על ידי שילוב של Clear Containers וטכנולוגיות runV. קוד הפרויקט כתוב ב-Go and Rust, ומופץ תחת רישיון Apache 2.0. פיתוח הפרויקט מפוקח על ידי קבוצת עבודה שנוצרה בחסות הארגון העצמאי OpenStack Foundation, הכוללת חברות כמו Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE ו-ZTE .
קאטה מבוססת על זמן ריצה המספק את היכולת ליצור מכונות וירטואליות קומפקטיות הפועלות על היפר-ויזור מלא, במקום להשתמש במכולות מסורתיות המשתמשות בליבת מערכות משותפת. Linux ומבודדים באמצעות מרחבי שמות וקבוצות משתמש (cgroups). מכונות וירטואליות מאפשר רמת אבטחה גבוהה יותר המגנה מפני התקפות הנגרמות על ידי ניצול פגיעויות בליבת המערכת Linux.
Kata Containers מתמקדת באינטגרציה בתשתיות קיימות של בידוד קונטיינרים עם יכולת להשתמש במכונות וירטואליות דומות כדי לשפר את ההגנה על קונטיינרים מסורתיים. הפרויקט מספק מנגנונים להבטחת תאימות של מכונות וירטואליות קלות משקל עם תשתיות שונות של בידוד קונטיינרים, פלטפורמות תזמור ומפרטי קונטיינרים כגון OCI (Open Container Initiative), CRI (Container Runtime Interface) ו-CNI (Container Networking Interface). כלים זמינים לשילוב עם Docker, Kubernetes, QEMU ו-OpenStack.

אינטגרציה עם מערכות ניהול מכולות מושגת באמצעות שכבת ניהול מכולות המתקשרת עם סוכן הניהול במכונה הווירטואלית דרך ממשק gRPC ופרוקסי ייעודי. בתוך הסביבה הווירטואלית נעשה שימוש בליבת מערכות אופטימלית, אשר מופעלת על ידי ההיפר-ויזור. Linux, המכיל רק את סט התכונות המינימלי הנדרש.
ה-hypervisor הנתמך הוא Dragonball Sandbox (מהדורת KVM מותאמת למכולות) עם QEMU, כמו גם Firecracker ו-Cloud Hypervisor. סביבת המערכת כוללת daemon init וסוכן. הסוכן מאפשר ביצוע של תמונות מכולה מוגדרות על ידי המשתמש בפורמט OCI עבור Docker ופורמט CRI עבור Kubernetes. כאשר משתמשים בו בשילוב עם Docker, נוצר מופע נפרד עבור כל מכולה. מכונה וירטואלית, כלומר, הסביבה הפועלת מעל ההיפר-ויזור משמשת להשקה מקוננת של מכולות.

כדי לצמצם את צריכת הזיכרון, נעשה שימוש במנגנון DAX (גישה ישירה למערכת הקבצים, עקיפת מטמון העמודים ללא שימוש ברמת התקן החסימה), ולביטול שכפול של אזורי זיכרון זהים, נעשה שימוש בטכנולוגיית KSM (Kernel Samepage Merging) המאפשרת לך כדי לארגן את השיתוף של משאבי מערכת מארח ולהתחבר למערכות אורחות שונות, שתפו תבנית סביבת מערכת משותפת.
בגרסה החדשה:
- מוצע זמן ריצה חלופי (Runtime-rs), היוצר מילוי של מיכלים, הכתובים בשפת Rust (זמן הריצה שסופק קודם לכן נכתב בשפת Go). זמן ריצה תואם ל-OCI, CRI-O ו-Containerd, ומאפשר להשתמש בו עם Docker ו-Kubernetes.
- הוצע hypervisor חדש של Dragonball המבוסס על KVM ו-rust-vmm.
- נוספה תמיכה להעברת גישה ל-GPU באמצעות VFIO.
- נוספה תמיכה עבור cgroup v2.
- תמיכה בשינוי הגדרות מבלי לשנות את קובץ התצורה הראשי יושמה על ידי החלפת בלוקים בקבצים נפרדים הממוקמים בספריית "config.d/".
- רכיבי חלודה כוללים ספרייה חדשה לעבודה מאובטחת עם נתיבי קבצים.
- רכיב virtiofsd (כתוב ב-C) הוחלף ב-virtiofsd-rs (כתוב ב-Rust).
- נוספה תמיכה עבור רכיבי QEMU של ארגז חול.
- QEMU משתמש בממשק ה-API של io_uring עבור I/O אסינכרוני.
- הוטמעה תמיכה בהרחבות Intel TDX (הרחבות דומיין מהימנות) עבור QEMU ו-Cloud-hypervisor.
- רכיבים מעודכנים: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, ליבה Linux 5.19.2.
מקור: OpenNet.ru
