ב-VM Runtime on GDC אתם יכולים ליצור מכונה וירטואלית (VM) של Windows שמופעלת ישירות מקובץ אימג' מסוג ISO. כשה-VM מופעל, משלימים באופן ידני את תהליך ההגדרה של Windows.
אפשר גם ליצור מכונה וירטואלית של Windows מקובץ אימג' מוכן של דיסק באמצעות מקור HTTP או מ-Cloud Storage.
לפני שמתחילים
כדי להשלים את המשימות שבמסמך הזה, אתם צריכים גישה למשאבים הבאים:
- גישה לאשכול של Google Distributed Cloud בגרסה 1.12.0 (
anthosBareMetalVersion: 1.12.0) ואילך. אפשר להשתמש בכל סוג של אשכול שיכול להריץ עומסי עבודה. במקרה הצורך, תוכלו לנסות את Google Distributed Cloud ב-Compute Engine או לעיין בסקירה הכללית על יצירת אשכולות. - כלי הלקוח של
virtctlמותקן כפלאגין שלkubectl. אם צריך, מתקינים את כלי הלקוח virtctl.
יצירת דיסק וירטואלי לתמונת ה-ISO
כדי ליצור מכונה וירטואלית של Windows, צריך לבצע את השלבים והקטעים במסמך הזה לפי הסדר.
כדי להפעיל מקובץ אימג' של Windows ISO, קודם צריך ליצור VirtualMachineDisk עם diskType של cdrom. משתמשים בקובץ ה-ISO של Windows כמקור לדיסק הזה.
יוצרים מניפסט של
VirtualMachineDisk, כמוwindows-iso.yaml, בכלי העריכה שבוחרים:nano windows-iso.yamlמעתיקים ומדביקים את המניפסט הבא ב-YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: windows-iso spec: source: http: url: IMG_URL size: 10Gi diskType: cdromמחליפים את
IMG_URLבנתיב ה-HTTP לקובץ ה-ISO של Windows. אפשר גם ליצור פרטי כניסה ולהשתמש בהם כדי לייבא קובץ ISO מ-Cloud Storage.שומרים וסוגרים את המניפסט בכלי העריכה.
יוצרים את ה-
VirtualMachineDiskבאמצעותkubectl:kubectl apply -f windows-iso.yaml
יצירת דיסק של מנהלי התקנים למכונה וירטואלית
כדי להפעיל בהצלחה את המכונה הווירטואלית מקובץ ISO של Windows ולהשלים את תהליך ההתקנה, המכונה הווירטואלית צריכה גישה למנהלי ההתקנים של virtio. כדי לספק את מנהלי ההתקנים של virtio למכונה הווירטואלית:
יוצרים מניפסט של
VirtualMachineDisk, כמוvirtio-driver.yaml, בכלי העריכה שבוחרים:nano virtio-driver.yamlמעתיקים ומדביקים את המניפסט הבא ב-YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: virtio-driver spec: size: 1Gi source: registry: url: docker://quay.io/kubevirt/virtio-container-disk:latest diskType: cdromהמניפסט הזה שולף את מנהלי ההתקנים העדכניים ביותר של
virtioממאגר Docker ציבורי ומגדיר אתdiskTypeכ-cdrom. המכונה הווירטואלית משתמשת בדיסק הזה במהלך תהליך ההתקנה.שומרים וסוגרים את המניפסט בכלי העריכה.
יוצרים את ה-
VirtualMachineDiskבאמצעותkubectl:kubectl apply -f virtio-driver.yaml
יצירת מכונה וירטואלית של Windows
יוצרים מכונה וירטואלית שמופעלת מקובץ ה-ISO של Windows VirtualMachineDisk, ומחברים את דיסק מנהלי ההתקנים של virtio:
בעורך לבחירתכם, יוצרים מניפסט שמגדיר
VirtualMachineDiskלנפח האתחול ו-VirtualMachine, כמוwindows-vm.yaml:nano windows-vm.yamlמעתיקים ומדביקים את המניפסט הבא ב-YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineDisk metadata: name: VM_NAME-boot-dv spec: size: 100Gi --- apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: osType: Windows disks: - virtualMachineDiskName: VM_NAME-boot-dv boot: true - virtualMachineDiskName: windows-iso - virtualMachineDiskName: virtio-driver compute: cpu: vcpus: 2 memory: capacity: 4Gi interfaces: - name: eth0 networkName: pod-networkמחליפים את
VM_NAMEבשם שרוצים לתת למכונה הווירטואלית.המניפסט הזה יוצר אמצעי אחסון לאתחול בנפח של 100 Gibibyte (GiB). מכיוון שנפח האתחול הזה ריק כשהמכונה הווירטואלית מופעלת בפעם הראשונה, המכונה הווירטואלית מבצעת אתחול מ-ISO כמכשיר CD-ROM כדי להתחיל את שגרת ההגדרה. מנהלי ההתקנים של
virtioמצורפים גם הם כדי להשלים את תהליך ההתקנה.שומרים וסוגרים את המניפסט בכלי העריכה.
יוצרים את
VirtualMachineDiskואתVirtualMachineבאמצעותkubectl:kubectl apply -f windows-vm.yaml
התחברות ל-VM של Windows והשלמת ההתקנה של מערכת ההפעלה
המכונה הווירטואלית מופעלת ומבצעת אתחול מקובץ ה-ISO של Windows שנוצר בקטע הקודם. מתחברים ל-VM, משלימים את תהליך ההתקנה של Windows ומגדירים את ה-VM:
מתחברים למכונה הווירטואלית של Windows:
kubectl virt vnc VM_NAMEמחליפים את
VM_NAMEבשם של המכונה הווירטואלית של Windows.כשמוצגת בקשה, מזינים את פרטי הכניסה של המשתמש במערכת ההפעלה Windows של המכונה הווירטואלית.
מידע נוסף על השימוש ב-
kubectl virt vncכדי להתחבר למכונה הווירטואלית זמין במאמר התחברות ישירה באמצעות VNC.בהגדרות של Windows, בוחרים באפשרות התקנה בהתאמה אישית.
בוחרים באפשרות Load driver, עוברים לספרייה viostor בדיסק
virtioובוחרים את הספרייה שתואמת לגרסת Windows שרוצים להתקין.מידע נוסף זמין במאמר מנהלי התקנים של KubeVirt Windows
virtio.עכשיו, כשמנהלי ההתקנים של האחסון והרשת מ-
virtioזמינים, משלימים את שאר תהליך ההתקנה של Windows.מומלץ להפעיל את פרוטוקול Remote Desktop (RDP) כדי שתוכלו להתחבר ישירות למכונה הווירטואלית אחרי ההתקנה.
ניתוק קובץ האימג' של ה-ISO ודיסק מנהלי ההתקנים
אחרי שההתקנה של Windows מסתיימת, מסירים את דיסק מנהלי ההתקנים של virtio ואת קובץ האימג' של Windows ISO מה-VM:
עוצרים את ה-VM של Windows:
kubectl virt stop VM_NAMEמחליפים את
VM_NAMEבשם של המכונה הווירטואלית של Windows.משתמשים ב-
kubectlכדי לערוך את המכונה הווירטואלית:kubectl edit gvm VM_NAMEמחליפים את
VM_NAMEבשם של המכונה הווירטואלית של Windows.בעורך, מעדכנים את הקטע
spec.disksכדי להסיר את הדיסקים של Windows ISO ו-virtio, כמו בדוגמה הבאה. הדיסק היחיד שצריך להישאר מחובר ל-VM הואVM_NAME-boot-dv:apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: windows-vm spec: osType: Windows disks: - virtualMachineDiskName: windows-vm-boot-dv boot: true interfaces: ...שומרים וסוגרים את המניפסט של ה-VM.
מפעילים את ה-VM של Windows:
kubectl virt start VM_NAMEמחליפים את
VM_NAMEבשם של המכונה הווירטואלית של Windows.בודקים את ה-
STATUSשל ה-VM:kubectl get gvm VM_NAMEמחליפים את
VM_NAMEבשם של המכונה הווירטואלית של Windows.מוודאים שהמכונה הווירטואלית נמצאת במצב
Running. אם המכונה הווירטואלית לא במצבRunning, בודקים את מניפסט המשאבים שלVirtualMachineכדי לוודא שהסרתם רק את קובץ ה-ISO של Windows ואת הדיסקvirtio. בודקים שיש למארח מספיק משאבי מחשוב כדי להפעיל את ה-VM.