VM Runtime ב-Google Distributed Cloud הוא הרכיב המרכזי להרצת עומסי עבודה (workloads) מבוססי מכונות וירטואליות בהתקנות של Google Distributed Cloud (תוכנה בלבד) על bare metal.
מה זה VM Runtime ב-GDC?
VM Runtime on GDC הוא חלק מ-Google Distributed Cloud שמאפשר להריץ מכונות וירטואליות על Kubernetes באותו אופן שבו מריצים קונטיינרים. בעזרת VM Runtime ב-GDC, אתם יכולים להריץ עומסי עבודה קיימים שמבוססים על מכונות וירטואליות, וגם לפתח ולהריץ אפליקציות חדשות שמבוססות על קונטיינרים. VM Runtime ב-GDC דומה ל-hypervisor בסביבה וירטואלית אחרת.
VM Runtime ב-GDC מאפשר לכם לראות ולנהל את מצב המכונות הווירטואליות ולאסוף יומני ביקורת או יומני מסוף. זמן הריצה של מכונות וירטואליות ב-GDC פועל כמו כלי מסוף ניהול שמשמשים בסביבות וירטואליות אחרות.
אתם לא חייבים לבצע מודרניזציה או לשדרג עומסי עבודה קיימים שמבוססים על מכונות וירטואליות כדי להשתמש ב-VM Runtime ב-GDC. מכונות וירטואליות פועלות כמו בסביבות וירטואליות אחרות, אבל הן נהנות מסט יחיד של תהליכי עבודה ותהליכים עבור האפליקציות שלכם באשכול. כשמוכנים, אפשר להעביר את עומסי העבודה האלה שמבוססים על מכונות וירטואליות לקונטיינרים ולהמשיך להשתמש באותם כלי ניהול.
יתרונות
ל-VM Runtime ב-GDC יש את היתרונות הבאים:
- אפשרות להשתמש במשאבי מכונות וירטואליות באופן פרוגרמטי, כמו שמשתמשים בקונטיינרים.
- שימוש יעיל במשאבים בקונטיינרים ובמכונות וירטואליות.
- ניהול והפעלה מאוחדים של מכונות וירטואליות וקונטיינרים.
- תצוגה מאוחדת ושליטה בתנועה בין אפליקציות חדשות מבוססות-קונטיינרים לבין אפליקציות מדור קודם מבוססות-מכונות וירטואליות.
- חוויית העברה פשוטה יותר לענן או לאפליקציות בקונטיינרים.
ה-VM Runtime ב-GDC עוזר להעביר מכונות וירטואליות או ליצור מכונות וירטואליות חדשות על גבי אשכול Bare Metal.
מה ההבדל בין VM Runtime ב-GDC לבין KubeVirt
VM Runtime ב-GDC מבוסס על פרויקט הקוד הפתוח KubeVirt. Kubevirt מבוסס על Kubernetes, ופועל לפי מודל API הצהרתי כדי להשתמש במודל משאבים של Kubernetes, בהגדרות משאבים מותאמות אישית או באופרטורים. VM Runtime on GDC משלב את Kubevirt בהתקנה של Google Distributed Cloud שהיא רק תוכנה, כדי לספק דרך עקבית לניהול האפליקציות. בקטע הזה מפורטות חלק מהיכולות העיקריות של VM Runtime ב-GDC שלא זמינות ב-KubeVirt.
מחזור חיים
VM Runtime on GDC מבוסס על היכולות של Google Kubernetes Engine ומשולב באופן מלא עםGoogle Cloud. אפשר להתקין, לשדרג ולהסיר את VM Runtime ב-GDC באמצעות פקודת CLI, דרך ה-API או באמצעות Google Cloud המסוף. כשמשתמשים בשדרוגים של אשכולות עם אחסון תואם, הם כוללים מיגרציה פעילה של עומסי עבודה של מכונות וירטואליות (גרסת Preview) בין מארחים, כדי למזער את הסיכון להפרעה בעומסי העבודה של המכונות הווירטואליות.
חוויית ניהול שמגובה בענן
VM Runtime on GDC מספק חוויה שדומה לשימוש בענן עבור ההתקנה המקומית. הממשק הזה כולל את הפרימיטיבים החדשים הבאים שדומים לענן:
אובייקט
VirtualMachineTypeמאפשר לאדמינים ליצור סוגים מוגדרים מראש של מכונות וירטואליות עם הגדרות ספציפיות של CPU וזיכרון.אובייקטים מסוג
VirtualMachineDiskו-StorageProfileמוסיפים תמיכה במספר דיסקים וניהול מרכזי של מאפייניStorageClass.אובייקט
Networkמאפשר יכולות שדומות למתג וירטואלי ב-Kubernetes.
אחסון
VM Runtime on GDC יוצר באופן אוטומטי אובייקט של פרופיל אחסון, StorageProfile, לכל StorageClass באשכול. אובייקט הפרופיל החדש הזה מאפשר לכם להגדיר מאפיינים של מכונות וירטואליות של StorageClass, כולל accessMode ו-volumeMode, ממיקום אחד.
אפשר לצרף כמה דיסקים למכונה וירטואלית. אפשר לצרף דיסק קיים או ליצור דיסקים חדשים ולצרף אותם. המשאב החדש VirtualMachineDisk בהתאמה אישית מאפשר ליצור דיסקים ריקים או דיסקים מתמונות קיימות באמצעות הכלי Containerized Data Importer (CDI) שכלול בחבילה. CDI מאפשר לכם אפילו לשלוף תמונות מ-Cloud Storage שמאובטח באמצעות פרטי כניסה.
Networking
VM Runtime on GDC מרחיב את ההצעה pod-network של KubeVirt שמוגדרת כברירת מחדל, כדי לספק אפשרויות רשת שמתאימות יותר לעומסי עבודה של מכונות וירטואליות בסביבת ייצור.
VM Runtime ב-GDC מרחיב את מחסנית הרשת הקיימת שמבוססת על מסגרת Container Network Interface (CNI). VM Runtime on GDC מוסיף אובייקט Network שמאפשר יכולות דומות למתג וירטואלי ב-Kubernetes.
יש תוספים לרשת שזמינים ל-Kubernetes, אבל הם דורשים התקנה, מחזור חיים וניהול משלהם. עם VM Runtime ב-GDC, מכונות וירטואליות מוכנות לשימוש יכולות לתקשר עם כמה ממשקי רשת ברמה 2, כולל תמיכה בתגי VLAN, ב-DHCP חיצוני ועוד. בנוסף, VM Runtime ב-GDC מציג את האובייקט interfaces, שמאפשר לשמור על כתובות IP ו-MAC גם אם מפעילים מחדש מכונות וירטואליות, מעבירים אותן או יוצרים אותן מחדש. מערך רשתות חדש משולב גם עם NetworkPolicy, כך שאפשר להשתמש בפרימיטיבים של Kubernetes כדי לשלוט בתעבורה בשכבה 4 בין מכונות וירטואליות.
ניראות (observability)
VM Runtime ב-GDC תומך אוטומטית בבדיקת נראות של מכונות וירטואליות בGoogle Cloud מסוף. בנוסף ליומני הרישום של אשכול GKE ו-VM Runtime ב-GDC, היומנים של המסוף הטורי של ה-VM מועברים אוטומטית ל-Cloud Logging. אפשר לראות את יומני ה-VM בLogs Explorer, יחד עם יומני הקונטיינרים. אפשר לראות את מדדי המעבד, הזיכרון, הדיסק והרשת של המכונה הווירטואלית במסוףGoogle Cloud . אפשר גם להטמיע לוחות בקרה, התראות ושילוב עם התראות באמצעות שירותים מוכרים של Google Cloud Google.
ניהול
רוב היכולות של VM Runtime ב-GDC זמינות משורת הפקודה, ממשקי API וממסוף Google Cloud . הגישה הגמישה הזו תומכת בסגנונות שונים של מפתחים ושל תפעול. אפשר להשתמש גם במוצרים סנכרון תצורות ו-Policy Controller כדי ליישם את המתודולוגיה של GitOps וכללי מדיניות פרטניים. Google Cloud בנוסף, הרחבנו את הכלים של KubeVirt, כמו virtctl, כדי לתמוך ביכולות של זמן הריצה הנוסף של מכונות וירטואליות ב-GDC.
תמיכה ב-GPU
VM Runtime ב-GDC מאפשר להפעיל כרטיסי GPU נתמכים של NVIDIA במכונות הווירטואליות, וכך להריץ למידת מכונה ועומסי עבודה מיוחדים אחרים.
קדימה, מתחילים
כדי להתחיל להשתמש ב-VM Runtime ב-GDC, תוכלו להיעזר במסמכים הבאים:
- הפעלה או השבתה של VM Runtime ב-GDC
- מדריך למתחילים: יצירת מכונה וירטואלית
- ניהול מצב ההפעלה של מכונות וירטואליות שמשתמשות ב-VM Runtime ב-GDC
- איך צופים ביומני המסוף של מכונות וירטואליות שמשתמשות ב-VM Runtime ב-GDC