על CBL-Mariner וכאלה

לאחרונה, ובאופן שקט יחסי העלתה Microsoft לאוויר הפצה נוספת לעולם – CBL Mariner.

CBL-Mariner היא הפצת לינוקס פנימית בתשתית הענן של Microsoft שנמצאת בשימוש של מערכות שונות, בעיקר תשתית ענן וכן מערכות Edge. הקבוצה שאחראית על פיתוח CBL-Mariner היא קבוצת Linux System Group שבין היתר אחראית על עוד הצלחות רבות של חיבור לינוקס לעולם של Microsoft.

הפצת CBL-Mariner נועדה לספק פלטפורמה על מנת להגביר את יכולתה של Microsoft להישאר מעודכנת בלינוקס ולתת מענה לתרחישים שונים. היוזמה הזאת היא רק חלק מההשקעה הגוברת של Microsoft במגוון רחב של טכנולוגיות לינוקס השונות, בין היתר, SONiC, התשתית של Azure Sphere וכמובן WSL.

CBL-Mariner תוכננה מתוך תפיסה של  סט חבילות ליבה קטנות שיכולות לתת מענה לצרכים רוחבים של שירותי ענן וכן ציודי קצה, תוך מתן אפשרות לשלב חבילות נוספות על גבי הליבה המשותפת וזאת בכדי לייצר אימייגים לטובת תרחישים. הדבר מתאפשר על ידי מערכת בנייה פשוטה המאפשרת:

יצירת Package – פעולה זו מייצרת חבילות נדרשות מתוך קובצי SPEC וקובצי מקור.
יצירת Images – פעולה זו מייצרת אימייגים נדרשים כמו ISO או VHD ממערך נתון של קוד.

בין אם CBL-Mariner נפרס כקונטיינר או כמערכת המארחת קוטיינרים , CBL-Mariner צורכת משאבי דיסק וזיכרון מוגבלים, וזאת בכלל המאפיינים הפשוטים של CBL-Mariner אשר מספקים גם זמני אתחול מהירים יותר וגם בצד האבטחה משטח תקיפה מינימלי. על ידי מיקוד התכונות והרכיבים באימייג ליבה לטובת דרישות נקודתיות, למשל, דרישות נקודתיות לצורכי הענן, ומכאן המשמעות היא מערכות מהירות, בטוחות יותר וקלות לתפעול.

כאשר מתעוררות פגיעות אבטחה, CBL-Mariner תומך הן במודל עדכון מבוסס חבילה והן במודל עדכון מבוסס אימייג. CBL-Mariner עושה שימוש במערכת ניהול חבילות RPM המשותפת, ומציעה את תיקוני האבטחה והתיקונים האחרונים הזמינים להורדה במטרה לזמן עדכונים מהירים.

כאמור, CBL-Mariner היא מערכת קוד פתוח אשר זמינה בחשבון Microsoft בגיטהאב microsoft / CBL-Mariner והמאגר ניתן לשכפול וכמובן שמאפשר לשים הערות במאגר לטובת שיפור הקוד. כמו כן, CBL-Mariner בנויה על ההפצה של Ubuntu 18.04 (לפחות לפי ההוראות הגדרה והתקנה).

על CBL-Mariner וכאלה

איך CBL-Mariner בנוי? ההפצה של CBL-Mariner מצריכה את Ubuntu למחולקת לשולשה שלביי בנייה של: כלים, אריזה והפצת האימייג. במסמכים של CBL-Mariner ישנם הוראות להגדרת חבילות מקוסטמות לפי שפות שונות, מימוש Docker ועוד.

איך מקנפגים CBL

ישנם דרכים שונות להגדיר CBL-Mariner החל מבניית הכלים, דרך קיפוג האריזה של החבילה ועד סגירת האימייג ופרסום למערכות וציודי קצה. במאמר הנוכחי ישנם הנחיות והתקנה באופן השפוט יחסי, שלוקח את ההפצה של CBL-Mariner איך שהיא ומכין אותה לאימייג בסיסי בלבד.

חשוב להדגיש כי המאגר של CBL-Mariner אינו מכיל קובץ ISO להורדה או כל משהו אחר בסגנון. 

בניית האימייג

תחילה, נצטרך לבצע הגדרות ספציפיות טרם מקמפלים את האימייג ועם סט של פקודות להתקנה – שלב הכלים – Tooling.

טיפ: ניתן להריץ את ההכנות ובניית האימייג מתוך WSL 2 בקלות רבה ומשם להוציא קובץ ISO. 

444bc screenshot 412

בפקודה הבאה נוסיף repository של Go באמצעות longsleep/golang-backports בכדי לקבל את הגרסה האחרונה. הפקודה שצריך להריץ היא

sudo add-apt-repository ppa:longsleep/golang-backports

61701 screenshot 413

לאחר מכן נתקין את הכלים הבאים בכדי שיהיו חלק מתהליך קיפול האימייג, ונריץ את הפקודה הבאה:

sudo apt install make tar wget curl rpm qemu-utils golang-go genisoimage python2-minimal bison gawk

49591 screenshot 414

לאחר מכן, נמשיך אל השלב הבא של הכנת האימייג ונשכפל את המאגר באמצעות הפקודה הבאה:

git clone https://github.com/microsoft/CBL-Mariner.git

48e59 screenshot 415

שלב השכפול לוקח דקות בודדות ובסיומו נוכל לגשת לתיקיות השונות ולתיקייה שאנו צריכים להריץ את השלב הבא: CBL-mariner/toolkit

מכאן, נמשיך את הכנת האימייג וביצוע פעולות אסמבל, קימפול ויכין קובץ ISO לטובת התקנת CBL-Mariner באמצעות הפקודה הבאה:

sudo make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full.json

5e186 screenshot 416

כאן הסתיים החלק הראשון וקוץ ISO מוכן להתקנה יהיה זמין בתיקייה Out/Image.

טיפ: למי שמכין את ההפצה מתוך WSL אפשר להעתיק את הקובץ ישירות מתוך File Explorer. 

95c82 screenshot 418

התקנת CBL-Mariner

לאחר סיום הכנת הכלים והאימייג אנו יכולים לפרוס ולהתקין את האימייג של CBL-Mariner על ציודי קצה או כמו בדוגמה שלנו על Hyper-V. שלבי ההתקנה מכילים ממשק גרפי אך לאחר מכן ניהול והגדרות נוספות של CBL-Mariner נעשה רק מתוך CLI.

9360e 2021 08 07 16h06 37

במידה קובץ הגדרות מכיל יותר מאימייג אחד ניתן לבחור מתוך תפריט התקנה

b7c25 2021 08 07 16h07 00

4b31f 2021 08 07 16h07 45

f506b 2021 08 07 16h08 03

27c6c 2021 08 07 16h08 56

ec966 2021 08 07 16h09 11

45003 2021 08 07 16h09 22

התקנה של CBL-Mariner היא התקנה מאוד קצרה גם אם נעמיס אותה בכלים, חבילות נוספות והגדרות. במקרה שלנו בצורה הכי בסיסית, התקנה ארכה שניות בודדות.

25ba3 2021 08 07 16h10 48

מכאן אפשר להתחיל לעבוד עם CBL-Mariner.

a76ae 2021 08 07 16h11 07

1bc70 2021 08 07 16h12 12

לסיכום, Microsoft ממשיכה לחבר ולהתבסס על עוד מערכות לינוקס בענן או עם ציודי קצה, בין אם מדובר על מערכות Azure Sphere או WSL ומערכות נוספות שיגיעו אלינו בקרוב.

מאמרים נוספים בנושא Microsoft Linux ומאמרים נוספים על CBL-Mariner בקישור הבא Linux Archives – אלי שלמה

You may also like...

השאר תגובה