VM Runtime ב-Google Distributed Cloud הוא הרכיב המרכזי להפעלת עומסי עבודה (workloads) שמבוססים על מכונות וירטואליות בהתקנות של Google Distributed Cloud (תוכנה בלבד) בשרת פיזי.
מה זה VM Runtime ב-GDC?
VM Runtime on GDC הוא חלק מ-Google Distributed Cloud שמאפשר להריץ מכונות וירטואליות על Kubernetes באותו אופן שבו מריצים קונטיינרים. בעזרת VM Runtime ב-GDC, אתם יכולים להריץ עומסי עבודה קיימים שמבוססים על מכונות וירטואליות, וגם לפתח ולהריץ אפליקציות חדשות שמבוססות על קונטיינרים. VM Runtime ב-GDC דומה ל-hypervisor בסביבה וירטואלית אחרת.
VM Runtime ב-GDC מאפשר לכם לראות ולנהל את מצב המכונות הווירטואליות ולאסוף יומני ביקורת או יומני מסוף. VM Runtime ב-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 ב-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 on GDC מרחיב את מחסנית הרשת הקיימת שמבוססת על מסגרת Container Network Interface (CNI). VM Runtime ב-GDC מוסיף אובייקט Network שמאפשר יכולות דומות למתג וירטואלי ב-Kubernetes.
יש תוספים לרשתות שזמינים ל-Kubernetes, אבל הם דורשים התקנה, מחזור חיים וניהול משלהם. עם VM Runtime ב-GDC, מכונות וירטואליות מוכנות לשימוש יכולות ליצור אינטראקציה עם כמה ממשקי רשת ברמה 2, כולל תמיכה בתגי VLAN, ב-DHCP חיצוני ועוד. בנוסף, VM Runtime ב-GDC מציג את אובייקט הממשקים, שמאפשר שמירה של כתובות IP ו-MAC גם אם מפעילים מחדש מכונות וירטואליות, מעבירים אותן או יוצרים אותן מחדש. מערך פרוטוקולי הרשת החדש משולב גם עם NetworkPolicy, כך שאפשר להשתמש בפרימיטיבים של Kubernetes כדי לשלוט בתעבורה בשכבה 4 בין מכונות וירטואליות.
ניראות (observability)
VM Runtime ב-GDC תומך אוטומטית בבדיקת ה-VM בGoogle Cloud מסוף. בנוסף ליומני הרישום של אשכול GKE ו-VM Runtime ב-GDC, יומני המסוף הטורי של ה-VM מועברים אוטומטית ל-Cloud Logging. אפשר לראות את יומני ה-VM בLogs Explorer, יחד עם יומני הקונטיינרים. במסוףGoogle Cloud אפשר לראות את מדדי המעבד, הזיכרון, הדיסק והרשת של המכונה הווירטואלית. אפשר גם להטמיע לוחות בקרה, התראות ושילוב עם התראות באמצעות שירותים מוכרים של Google Cloud .
ניהול
רוב היכולות של VM Runtime ב-GDC זמינות משורת הפקודה, ממשקי API וממסוף Google Cloud . הגישה הגמישה הזו תומכת בסגנונות שונים של מפתחים ושל תפעול. אפשר גם להשתמש במוצרים Google Cloud סנכרון תצורות ו-Policy Controller כדי ליישם את המתודולוגיה של GitOps וכללי מדיניות מפורטים. בנוסף, הרחבנו את הכלים של KubeVirt, כמו virtctl, כדי לתמוך ביכולות הנוספות של VM Runtime ב-GDC.
קדימה, מתחילים
כדי להתחיל להשתמש ב-VM Runtime ב-GDC, אפשר לעיין במסמכים הבאים:
- הפעלה או השבתה של VM Runtime ב-GDC
- מדריך למתחילים: יצירת מכונה וירטואלית
- ניהול מצב ההפעלה של מכונות וירטואליות שמשתמשות ב-VM Runtime ב-GDC
- צפייה ביומני המסוף של מכונות וירטואליות שמשתמשות ב-VM Runtime ב-GDC