סביבת זמן הריצה של VM ב-GDC מאפשרת לכם להריץ ולתזמר מכונות וירטואליות (VM) בסביבת פיתוח אחידה ב-Google Distributed Cloud באמצעות KubeVirt. במדריך הזה תשתמשו בסביבת זמן הריצה של VM ב-GDC כדי ליצור מכונה וירטואלית באשכול.
לפני שמתחילים
כדי להשלים את המדריך למתחילים, אתם צריכים גישה לאשכול של Google Distributed Cloud בגרסה 1.12 (anthosBareMetalVersion: 1.12) ואילך. אפשר להשתמש בכל סוג של אשכול שיכול להריץ עומסי עבודה. במקרה הצורך, אתם יכולים לנסות את Google Distributed Cloud ב-Compute Engine או לעיין בסקירה הכללית על יצירת אשכולות.
הפעלת VM Runtime ב-GDC
סביבת זמן הריצה של VM ב-GDC מותקנת באופן אוטומטי ב-Google Distributed Cloud מגרסה 1.10 ואילך, אבל מושבתת כברירת מחדל. כדי להפעיל משאבי VM ב-Google Distributed Cloud, צריך להפעיל את VM Runtime on GDC.
bmctl
בגרסה 1.11 ומעלה של Google Distributed Cloud אפשר להשתמש בכלי שורת הפקודה bmctl:
כדי להפעיל את סביבת זמן הריצה, משתמשים בכלי
bmctl:bmctl enable vmruntime --kubeconfig KUBECONFIG_PATHציינו את הנתיב לקובץ kubeconfig של האשכול. כשיוצרים אשכול, Google Distributed Cloud יוצר את קובץ ה-kubeconfig בתחנת העבודה של האדמין. כברירת מחדל, הנתיב הוא
bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig.אם VM Runtime on GDC כבר מופעל, הפקודה מחזירה שגיאה.
משאב בהתאמה אישית
בגרסה 1.10 ואילך של Google Distributed Cloud, אפשר להשתמש בהגדרה של משאב בהתאמה אישית כדי להפעיל את VM Runtime on GDC. המשאב המותאם אישית הזה מותקן כברירת מחדל.
עורכים את המשאב המותאם אישית
VMRuntime:kubectl edit vmruntimeמגדירים את
enabled:trueבמפרט:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true # useEmulation defaults to "false" if not set. useEmulation: true # vmImageFormat defaults to "qcow2" if not set. vmImageFormat: qcow2בקטע
specשלמעלה, אפשר להגדיר את הערכים הבאים:-
enabled: צריך להגדיר את הערך true כדי להפעיל את VM Runtime on GDC -
useEmulation: אם הצומת לא תומך בווירטואליזציה של חומרה, או אם אתם לא בטוחים, הגדירו את הערך כ-true. אם יש אפשרות, וירטואליזציה של חומרה מספקת ביצועים טובים יותר מאמולציה של תוכנה. אם לא מציינים את השדהuseEmulation, ערך ברירת המחדל שלו הואfalse. -
vmImageFormat: תומך בשני ערכים של פורמט קובץ אימג' של דיסק:rawו-qcow2. אם לא מגדירים אתvmImageFormat, סביבת זמן הריצה של VM ב-GDC משתמשת בפורמט קובץ האימג'rawכדי ליצור מכונות וירטואליות. הפורמטrawעשוי לספק ביצועים משופרים בהשוואה ל-qcow2, פורמט של העתקה בזמן כתיבה, אבל הוא עשוי להשתמש ביותר שטח דיסק. למידע נוסף על הפורמטים של קובצי האימג' של ה-VM, קראו את המאמר Disk image file formats במאמרי העזרה של QEMU.
-
שומרים את המשאב בהתאמה אישית בעורך.
מוודאים שהמשאב המותאם אישית
VMRuntimeמופעל:kubectl describe vmruntime vmruntimeהפרטים של המשאב המותאם אישית
VMRuntimeכוללים קטעStatus. התכונה VM Runtime on GDC מופעלת ופועלת כשמוצג הערךtrueבשדהVMRuntime.Status.Ready.
התקנת כלי הלקוח של virtctl
כדי ליצור ולנהל מכונות וירטואליות, מתקינים את כלי הלקוח virtctl.
מתקינים את כלי הלקוח של
virtctlכפלאגין שלkubectl:export GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_SERVICE_ACCOUNT_KEY/bm-gcr.json" sudo -E bmctl install virtctlפרטי הכניסה מאפשרים לכם לאמת ולהוריד את כלי הלקוח של
virtctl, ואז להתקין את/usr/bin/kubectl-virtבמחשב המקומי.מוודאים שהפלאגין
virtctlמותקן:kubectl plugin listאם
kubectl-virtמופיע בתגובה, הפלאגין הותקן בהצלחה.אם
kubectl-virtלא מופיע ברשימה, בודקים את הקובץinstall-virtctl.logכפי שצוין בפלט של הפקודה הקודמתbmctl install, למשלbmctl-workspace/log/install-virtctl-[date]/install-virtctl.log.
יצירת VM
במדריך למתחילים הזה תשתמשו ב-CLI של kubectl כדי ליצור מכונה וירטואלית שמשתמשת באימג' ציבורי של מכונה וירטואלית ובפרטי כניסה שמוגדרים כברירת מחדל.
יוצרים מכונה וירטואלית באשכול. משתמשים בפלאגין
virtctlעם הפקודהkubectl:kubectl virt create vm VM_NAME \ --image ubuntu20.04 \ --configure-initial-password USERNAME:PASSWORDהפקודה הזו יוצרת מכונה וירטואלית של Ubuntu 20.04 עם ברירות מחדל של מעבד (CPU) אחד (1), זיכרון של 4Gi ודיסק אתחול של 20Gi במצב ReadWriteOnce באמצעות מחלקת האחסון local-shared. מחליפים את הערכים הבאים:
-
VM_NAME: השם של המכונה הווירטואלית. שמות של מכונות וירטואליות יכולים להכיל רק תווים אלפאנומריים באותיות קטנות או את התו "-", להתחיל ולהסתיים בתו אלפאנומרי ולהכיל עד 63 תווים. למידע נוסף, קראו את המאמר שמות תוויות RFC 1123 במסמכי התיעוד של Kubernetes. -
USERNAME: שם המשתמש של החשבון שרוצים ליצור במכונה הווירטואלית. -
PASSWORD: הסיסמה של חשבון המשתמש.
אם מופיעה שגיאה לגבי פרמטרים של CLI, ודאו שבקלאסטר מותקנת גרסה
1.11.1ומעלה, ושיש לכם את הגרסה העדכנית של כלי הלקוחvirtctl. כדי לקבל מידע נוסף על שגיאות CLI, אפשר לעיין ביומן המסוף. כדי לדעת מהם הכללים לשם המשתמש והסיסמה, עיינו במסמכי התיעוד של מערכת ההפעלה (OS) של האורח. אם משהו לא עובד כמו שצריך, כדאי לבדוק את הבעיות המוכרות בסביבת זמן הריצה של VM ב-GDC.-
יצירת המכונה הווירטואלית יכולה להימשך כמה דקות. בודקים את הסטטוס של ה-VM באמצעות הפקודה
kubectl:kubectl get gvmבפלט לדוגמה הבא, ה-VM במצב
Running:NAME STATUS AGE IP vm-sample1 Running 64s 192.168.2.124
התחברות למכונה הווירטואלית
כשהמכונה הווירטואלית פועלת, מתחברים למסוף שלה.
כדי לגשת למכונה וירטואלית מהמסוף, משתמשים ב-
kubectl:kubectl virt console VM_NAMEכשמוצגת בקשה, מזינים את פרטי הכניסה של המשתמש שציינתם כדי ליצור את ה-VM.
אחרי שהתחברתם למסוף של המכונה הווירטואלית, אתם יכולים לצאת מהסשן ומהמסוף:
Ctrl + ]
הסרת המשאבים
כדי לנקות את המשאבים שנוצרו במדריך למתחילים הזה, מבצעים את השלבים הבאים.
כדי למחוק את המכונה הווירטואלית ואת ה-DataVolume שמשויך אליה, משתמשים ב-
kubectl:kubectl virt delete vm VM_NAME --all
המאמרים הבאים
- ניהול מצב ההפעלה של VM ב-Google Distributed Cloud
- עריכת מכונה וירטואלית ב-Google Distributed Cloud
- צפייה ביומני המסוף של המכונה הווירטואלית ב-Google Distributed Cloud