Finch, כלי פיתוח שורת פקודה ליצירה, הפעלה ופרסום של קונטיינרים של לינוקס
לפני מספר ימים , אמזון הכריזה, באמצעות פוסט בבלוג, על השקת פרויקט הקוד הפתוח שלה "Finch", המפתח סט כלים לבנייה, פרסום והפעלת קונטיינרים של לינוקס בפורמט OCI (יוזמת הקונטיינרים הפתוחים).
מוזכר כי המטרה העיקרית של פרויקט "פינץ'" היא לפשט את העבודה עם קונטיינרים של לינוקס על מערכות אירוח שאינן מבוססות לינוקס.
Finch הוא לקוח קוד פתוח לפיתוח קונטיינרים. המתקין הפשוט שלו מספק לקוח מקומי מינימלי יחד עם הפצה אובייקטיבית של רכיבי קוד פתוח אחרים. במקום ליצור אפילו יותר אפשרויות לנמק ולבחור, Finch שואפת לעזור לקדם פרויקטים אחרים על ידי כך שהם קלים יותר להתקנה ולשימוש, תוך שהיא מציעה ללקוח מקומי פשוט לקשר את הכל יחד.
על פינץ'
פרויקט Finch מסתמך על מספר פרויקטים בקוד פתוח, כולל nerdctl, containerd, BuildKit ו-Lima. זה מאפשר לך להתחיל באופן מיידי מבלי שתצטרך להבין ולקבוע את התצורה של כל הרכיבים הללו בנפרד (בעוד שהפעלת קונטיינרים על מערכות לינוקס אינה משימה של מה בכך, יצירת סביבה להפעלת קונטיינרים של לינוקס על Windows ו-macOS אינה כזו).
לעבודה, אנו מציעים כלי שירות משלנו Finch, אשר מסתיר את פרטי העבודה עם כל רכיב מאחורי ממשק מאוחד. כדי להתחיל, פשוט התקן את החבילה שסופקה, הכוללת את כל מה שאתה צריך, ולאחר מכן תוכל ליצור ולהפעיל קונטיינרים באופן מיידי.
כדי לבנות את ממשק שורת הפקודה ב-Finch, נעשה שימוש בפיתוחים מפרויקט nerdctl, המספק קבוצה של פקודות תואמות Docker לבנייה, הפעלה, פרסום וטעינת קונטיינרים (בנייה, הפעלה, דחיפה, משיכה וכו'), כגון כמו גם תכונות אופציונליות נוספות כגון פעולה ללא שורשים, הצפנת תמונה, הפצת תמונות P2P באמצעות IPFS ואישור תמונה בחתימה דיגיטלית.
בנוסף, מוזכר ש-containerd משמש כזמן ריצה לניהול קונטיינרים, בעוד ערכת הכלים BuildKit משמשת ליצירת תמונות בפורמט OCI ולימה משמשת להפעלת מכונות וירטואליות של לינוקס, הגדרת שיתוף קבצים והעברת יציאות ברשת.
באשר לתכונות של Finch, בין היתר, תמיכה בדיסק מתמשך, שיפורים בזמן אתחול המכונה הווירטואלית (VM), קיצור זמן ההפעלה לחצי עבור מפתחים, תמיכה ניסיונית במסגרת הווירטואליזציה של אפל, מתן האצות ביצועים נוספות במכונות Finch VM, וכלי ביצועים שפועל על כל commit כדי לאמת מדדי ביצועים קיימים.
נכון לעכשיו, Finch נמצא בגרסה 1.0, המסומנת כגרסה היציבה הראשונה, המתאימה לפריסות ייצור ושימוש יומיומי בפלטפורמת macOS. תמיכת לקוח עבור לינוקס ו-Windows מתוכננת להתווסף במהדורות עתידיות.
אנו רוצים ש-Finch יהיה כלי פיתוח יציב ויעיל של זמן ריצה המקל על המשתמשים לבצע את משימות הפיתוח שלהם על ידי יצירה והרצה של קונטיינרים באופן מקומי ואינטראקציה עם רישום קונטיינרים. גרסה 1.0 זו מייצגת את האמונה שלנו ש-Finch מוכן לשימוש בייצור ככלי יומיומי של מפתחי מיכל ב-macOS.
כחלק מהפרויקט, אמזון הכינה גם מספר הרחבות שהועברו לגוף הראשי של פרויקט nerdctl. במיוחד הוכנו רכיבים לחתימה דיגיטלית של תמונות, כמו גם תמיכה ביצירה והשקה של תמונות בטכנולוגיית SOCI (Seekable OCI), שנוצרה במקור עבור AWS ומאפשרת טעינה מהירה משמעותית של תמונות מיכל (SOCI מאפשרת להתחיל את ההשקה בלי ממתינים לטעינת התמונה במלואה ומטעינים את החלקים הדרושים לעבודה לפי הצורך).
למי שמעוניין בפרויקט, הקוד של פינץ' כתוב ב-Go ומופץ תחת רישיון Apache 2.0 ב-GitHub . ניתן למצוא פרטים על הגרסה בהודעה המקורית בבלוג של AWS.