ניהול מכונות וירטואליות

בדף הזה נסביר איך לנהל מכונות וירטואליות בפריסה המחוברת של Google Distributed Cloud שבה פועל VM Runtime ב-Google Distributed Cloud. כדי לבצע את השלבים שבדף הזה, אתם צריכים להכיר את VM Runtime ב-GDC. רשימה של מערכות הפעלה נתמכות של אורחים זמינה במאמר מערכות הפעלה מאומתות של אורחים עבור VM Runtime ב-GDC.

כדי ללמוד איך מכונות וירטואליות משמשות כרכיב חיוני בפלטפורמה המחוברת של Distributed Cloud, אפשר לעיין במאמר הרחבת GKE Enterprise לניהול מכונות וירטואליות בפריסה מקומית.

קלאסטרים מחוברים של Distributed Cloud תומכים בוווב-הוקים של מכונות וירטואליות. כך אפשר לאמת בקשות משתמשים שמופנות לשרת Kubernetes API המקומי ב-Distributed Cloud. בקשות שנדחו יוצרות מידע מפורט על סיבת הדחייה.

הגדרת Symcloud Storage

‫Google Distributed Cloud במודל מחובר משתמש ב-Rakuten Symcloud Storage כפתרון אחסון. ‫Symcloud Storage הוא פתרון של צד שלישי שפועל כשכבת הפשטה של אחסון מקומי בכל צומת שמחובר ל-Distributed Cloud, ומאפשר לעומסי עבודה שפועלים בצמתים אחרים שמחוברים ל-Distributed Cloud לגשת לאחסון המקומי.

שירות Symcloud Storage נפרס מ-Google Cloud Marketplace והוא כפוף לתנאים שמפורטים שם. ‫Google מספקת תמיכה מוגבלת בשימוש ב-Symcloud Storage עם Distributed Cloud במודל מחובר, ועשויה לפנות לספק הצד השלישי לקבלת עזרה. עדכוני התוכנה של Symcloud Storage כלולים בעדכוני התוכנה המקושרים של Distributed Cloud.

כדי להפעיל את Symcloud Storage למכונות וירטואליות, צריך להגדיר את האשכול המחובר של Google Distributed Cloud באופן הבא. מידע נוסף זמין במאמר בנושא התקנת Symcloud Storage בצומת שמחובר ל-Distributed Cloud.

  1. יוצרים את מרחב השמות robin-admin באמצעות הפקודה הבאה:

    kubectl create ns robin-admin
    
  2. מקבלים את קובץ הרישיון של Symcloud Storage ומחילים אותו על האשכול באמצעות הפקודה הבאה:

    kubectl apply -f LICENSE_FILE
    

    מחליפים את הערך ב-LICENSE_FILE בנתיב לקובץ הרישיון.

  3. מריצים את הפקודה הבאה כדי לוודא ש-Symcloud Storage פועל:

    kubectl describe robincluster
    

    הפקודה מחזירה פלט שדומה לזה:

     Name:         robin
     Namespace:
     Labels:       app.kubernetes.io/instance=robin
                   app.kubernetes.io/managed-by=robin.io
                   app.kubernetes.io/name=robin
     Annotations:  <none>
     API Version:  manage.robin.io/v1
     Kind:         RobinCluster
     Metadata:
       
     Spec:
       
     Status:
       
       Phase:             Ready
       
    
  4. יוצרים את סוג האחסון robin-block-immediate על ידי החלת ההגדרה הבאה על האשכול:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: robin-block-immediate
    parameters:
      faultdomain: host
      replication: "3"
      blocksize:   "512"
    provisioner: robin
    reclaimPolicy: Delete
    volumeBindingMode: Immediate
    allowVolumeExpansion: true
    
  5. יוצרים את המחלקה robin-snapshotclass של snapshot של נפח על ידי החלת ההגדרה הבאה על האשכול:

    apiVersion: snapshot.storage.k8s.io/v1
    kind: VolumeSnapshotClass
    metadata:
      name: robin-snapshotclass
      labels:
        app.kubernetes.io/instance: robin
        app.kubernetes.io/managed-by: robin.io
        app.kubernetes.io/name: robin
      annotations:
        snapshot.storage.kubernetes.io/is-default-class: "true"
    driver: robin
    deletionPolicy: Delete
    
  6. משנים את storageprofile עבור סוג האחסון robin-block-immediate עם התוכן הבא ומחילים אותו על האשכול:

    apiVersion: cdi.kubevirt.io/v1beta1
    kind: StorageProfile
    metadata:
      name: robin-block-immediate
    spec:
      claimPropertySets:
    accessModes:
    ReadWriteMany
      volumeMode: Block

התקנה של כלי הניהול virtctl

כדי לנהל מכונות וירטואליות באשכול מחובר של Distributed Cloud, צריך את כלי הלקוח virtctl. כדי להתקין את הכלי, מבצעים את השלבים הבאים:

  1. מתקינים את כלי הלקוח virtctl כפלאגין של kubectl:

    export VERSION=v1.3.1-anthos1.35-gke.39
    gcloud storage cp gs://anthos-baremetal-release/virtctl/${VERSION}/linux-amd64/virtctl ./virtctl
    sudo mv ./virtctl /usr/local/bin/virtctl
    cd /usr/local/bin
    sudo ln -s virtctl kubectl-virt
    sudo chmod a+x virtctl
    cd -
  2. מוודאים שהפלאגין virt מותקן:

    kubectl plugin list

    אם הפלאגין הותקן בהצלחה, הפלט של הפקודה יכלול את kubectl-virt כאחד מהפלאגינים.

יצירת קטגוריה של Cloud Storage לקובצי אימג' של מכונות וירטואליות

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

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

  1. כדי ליצור קטגוריה, פועלים לפי השלבים במאמר יצירת קטגוריות.

  2. יוצרים Google Cloud חשבון שירות לגישה לקטגוריית האחסון:

    export GSA_PROJECT_ID=GSA_PROJECT_ID
    export GSA_NAME=GSA_NAME
    gcloud iam service-accounts create ${GSA_NAME}

    מחליפים את מה שכתוב בשדות הבאים:

    • GSA_NAME: שם משמעותי לחשבון השירות הזה. Google Cloud
    • GSA_PROJECT_ID: המזהה של Google Cloud הפרויקט שמארח אתGoogle Cloud חשבון השירות של היעד.
  3. נותנים לחשבון השירות Google Cloud הרשאות גישה לדלי:

    export BUCKET_PROJECT_ID=BUCKET_PROJECT_ID
    export GSA_NAME=GSA_NAME
    gcloud storage buckets add-iam-policy-binding gs://${BUCKET_PROJECT_ID}-vm-images \
       --member="serviceAccount:${GSA_NAME}@${GSA_PROJECT_ID}.iam.gserviceaccount.com" \
       --role="roles/storage.objectViewer" \
       --project=${BUCKET_PROJECT_ID}

    מחליפים את מה שכתוב בשדות הבאים:

    • GSA_NAME: השם של חשבון השירות Google Cloud של היעד.
    • BUCKET_PROJECT_ID: המזהה של Google Cloud הפרויקט שמארח את הקטגוריה.
    • GSA_PROJECT_ID: המזהה של Google Cloud הפרויקט שמארח אתGoogle Cloud חשבון השירות של היעד.
  4. יוצרים חשבון שירות של Kubernetes במרחב השמות של המכונה הווירטואלית של היעד כדי לקשר אותו לחשבון השירות שלכם: Google Cloud

    export GSA_PROJECT_ID=GSA_PROJECT_ID
    export VM_NAMESPACE=NAMESPACE
    export KSA_NAME=KSA_NAME
    export GSA_EMAIL=${GSA_NAME}@${GSA_PROJECT_ID}.iam.gserviceaccount.com
    kubectl create serviceaccount ${KSA_NAME} -n ${VM_NAMESPACE}
    kubectl annotate serviceaccount ${KSA_NAME} gsaEmail=${GSA_EMAIL} -n ${VM_NAMESPACE}

    מחליפים את מה שכתוב בשדות הבאים:

    • GSA_PROJECT_ID: המזהה של Google Cloud הפרויקט שמארח אתGoogle Cloud חשבון השירות של היעד.
    • NAMESPACE: מרחב השמות של המכונה הווירטואלית היעד.
    • KSA_NAME: שם משמעותי לחשבון השירות הזה ב-Kubernetes.
    • GSA_NAME: השם של חשבון השירות Google Cloud המתאים.
  5. מאתרים את השם של מאגר הזהויות של עומסי העבודה וספק הזהויות של האשכול:

    gcloud container fleet memberships describe MEMBERSHIP_ID \
        --project=FLEET_PROJECT_ID \
        --format="table(authority.identityProvider,authority.workloadIdentityPool,name)"

    מחליפים את מה שכתוב בשדות הבאים:

    • MEMBERSHIP_ID: שם החברות ב-Fleet של האשכול. בדרך כלל זה השם של האשכול.
    • FLEET_PROJECT_ID: המזהה של פרויקט המארח של ה-Fleet. Google Cloud

    הפקודה מחזירה פלט שדומה לזה:

    IDENTITY_PROVIDER: IDENTITY_PROVIDER
    WORKLOAD_IDENTITY_POOL: WORKLOAD_IDENTITY_POOL
    

    בפלט, שימו לב לערכים הבאים:

  6. מקשרים את חשבון השירות של Kubernetes לחשבון השירות Google Cloud כדי להגדיר את ההתחזות:

    export GSA_PROJECT_ID=GSA_PROJECT_ID
    export GSA_NAME=GSA_NAME
    export KSA_NAME=KSA_NAME
    export VM_NAMESPACE=NAMESPACE
    export WI_POOL=WORKLOAD_IDENTITY_POOL
    gcloud iam service-accounts add-iam-policy-binding ${GSA_NAME}@${GSA_PROJECT_ID}.iam.gserviceaccount.com \
       --project=${GSA_PROJECT_ID} \
       --role=roles/iam.workloadIdentityUser \
       --member="serviceAccount:${WI_POOL}[${VM_NAMESPACE}/${KSA_NAME}]" \
       --condition="IAM_CONDITION" \
       --condition-from-file="IAM_CONDITION_FILE"

    מחליפים את מה שכתוב בשדות הבאים:

    • GSA_PROJECT_ID: המזהה של Google Cloud הפרויקט שמארח אתGoogle Cloud חשבון השירות של היעד.
    • GSA_NAME: השם של חשבון השירות Google Cloud המתאים.
    • KSA_NAME: השם של חשבון השירות של יעד Kubernetes.
    • NAMESPACE: מרחב השמות של המכונה הווירטואלית היעד.
    • WORKLOAD_IDENTITY_POOL: השם של מאגר הזהויות של עומסי העבודה באשכול.
    • IAM_CONDITION: אופציונלי. מציין את תנאי ה-IAM שבהם צריך להשתמש כדי להגביל את הגישה לאשכולות ספציפיים ב-Fleet. אם לא מציינים ערך או אם הערך הוא None, לא חלים תנאי IAM.
    • IAM_CONDITION_FILE: אופציונלי; מציין את הקובץ שמכיל את תנאי ה-IAM שמשמשים להגבלת הגישה לאשכולות ספציפיים בצי. אם לא מציינים את הדגל --condition, לא חלים תנאי IAM, אלא אם מציינים את הדגל --condition ומגדירים לו ערך שונה מ-None.
  7. מאחסנים את התמונות בדלי.

יש גם אפשרות להשתמש בשיטה מדור קודם באמצעות סוד שנוצר מהמפתח הפעיל של חשבון השירות שלכם ב-Google. מידע נוסף זמין במאמר יצירת קטגוריה של Cloud Storage לתמונות של מכונות וירטואליות.

הגבלת הגישה לדלי באמצעות תנאי IAM

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

  1. יוצרים את קובץ התנאים של IAM:

    cat <<EOF > iam_condition.yaml
    > expression: request.auth.claims.google.providerId == '$IDENTITY_PROVIDER'
    title: allow_only_this_cluster
    > EOF
  2. מחילים את קובץ תנאי ה-IAM כשמבצעים קישור בין GSA ל-KSA. מריצים את הפקודה הבאה בפרויקט GSA Google Cloud :

    gcloud iam service-accounts add-iam-policy-binding "${GSA_NAME}@${GSA_PROJECT_ID}.iam.gserviceaccount.com" \
      --project="${GSA_PROJECT_ID}" \
      --role=roles/iam.workloadIdentityUser \
      --member="serviceAccount:${WI_POOL}[${VM_NAMESPACE}/${KSA_NAME}]" \
      --condition-from-file=iam_condition.yaml

יצירת דיסק של מכונה וירטואלית מקובץ אימג' של מכונה וירטואלית

כדי ליצור דיסק של מכונה וירטואלית מקובץ אימג' של מכונה וירטואלית, צריך לבצע את השלבים שבקטע הזה.

יצירת דיסק מקובץ אימג' שמאוחסן ב-Cloud Storage

יוצרים דיסק של מכונה וירטואלית ממכונה וירטואלית שמאוחסנת בקטגוריית Cloud Storage, על ידי החלת ההגדרה הבאה על האשכול:

 apiVersion: vm.cluster.gke.io/v1
 kind: VirtualMachineDisk
 metadata:
   name: DISK_NAME
   namespace: NAMESPACE
 spec:
   source:
     gcs:
       url: gs://${BUCKET_PROJECT_ID}-vm-images/IMAGE_FILE_PATH
       serviceAccount: KSA_NAME
   size: DISK_SIZE
   storageClassName: robin-block-immediate

מחליפים את מה שכתוב בשדות הבאים:

  • DISK_NAME: השם של הדיסק של המכונה הווירטואלית.
  • NAMESPACE: מרחב השמות של המכונה הווירטואלית היעד.
  • IMAGE_FILE_PATH: הנתיב המלא ושם הקובץ של תמונת המכונה הווירטואלית. לוחצים לחיצה ימנית על התמונה במסוף Google Cloud ובוחרים באפשרות העתקת URI של gsutil כדי לקבל את הנתיב הזה.
  • KSA_NAME: חשבון השירות של Kubernetes להורדת תמונות של מכונות וירטואליות שיצרתם קודם.
  • DISK_SIZE: גודל היעד של הדיסק. הערך הזה צריך להיות גדול יותר מהערך של virtual-size בקובץ התמונה של המכונה הווירטואלית. אפשר למצוא את הערך הזה באמצעות הפקודה qemu-img info DISK_SIZE.

אם לא מציינים ערך storageClassName, המערכת משתמשת בערך ברירת המחדל שצוין במשאב VMRuntime.

יצירת דיסק מתמונה שמאוחסנת בשירות של צד שלישי

יש גם אפשרות להשתמש ב-http, ב-https, ב-S3 או במאגר תמונות כדי לאחסן את תמונות המכונות הווירטואליות. אם שירות האחסון דורש פרטי כניסה כדי לגשת אליו, צריך להמיר את פרטי הכניסה האלה לסוד ולציין את הסוד הזה באמצעות השדה secretRef.

לדוגמה:

source:
    http/s3/registry:
       url:
       secretRef: "SECRET_NAME" # optional

מחליפים את SECRET_NAME בשם הסוד.

מידע נוסף אפשר למצוא במאמר בנושא מקור HTTP/S3/GCS/Registry.

יצירת דיסק ריק

יוצרים דיסק ריק של מכונה וירטואלית על ידי החלת ההגדרה הבאה על האשכול:

 apiVersion: vm.cluster.gke.io/v1
 kind: VirtualMachineDisk
 metadata:
   name: DISK_NAME
   namespace: NAMESPACE
 spec:
   size: DISK_SIZE
   storageClassName: robin-block-immediate

מחליפים את מה שכתוב בשדות הבאים:

  • DISK_NAME: השם של הדיסק של המכונה הווירטואלית.
  • NAMESPACE: מרחב השמות של היעד.
  • DISK_SIZE: גודל הדיסק הרצוי בגיביבייט. הערך הזה צריך להיות גדול יותר מהערך של virtual-size בקובץ התמונה של המכונה הווירטואלית. אפשר למצוא את הערך הזה באמצעות הפקודה qemu-img info DISK_SIZE.

אם לא מציינים ערך storageClassName, המערכת משתמשת בערך ברירת המחדל שצוין במשאב VMRuntime.

הגדרת רשתות וירטואליות

פועלים לפי השלבים שבקטע Networking כדי להגדיר את הרשת הווירטואלית למכונות הווירטואליות.

יצירת מכונה וירטואלית

כדי ליצור מכונה וירטואלית בפריסת שרת מחובר של Distributed Cloud, צריך לבצע את השלבים שבקטע הזה. ההוראות בקטע הזה הן דוגמאות שממחישות הגדרות לתרחישים שונים. מידע מפורט על הגדרת מכונות וירטואליות זמין במאמר יצירת מכונה וירטואלית עם משאבי CPU וזיכרון ספציפיים באמצעות VM Runtime ב-GDC.

הקצאת המשאבים למכונות הווירטואליות מוגבלת על ידי פרופילי החומרה של הפריסה המחוברת של Distributed Cloud, כמו חומרה מסוג G1 או G2. אי אפשר להגדיל את הגודל של מכונה וירטואלית יחידה מעבר לגודל של המכונה הפיזית המחוברת ל-Distributed Cloud שעליה היא פועלת.

יצירת מכונה וירטואלית באמצעות מסוף Google Cloud

כדי ליצור מכונה וירטואלית באמצעות Google Cloud console:

  1. נכנסים לדף Clusters במסוף Google Cloud .

    מעבר אל Clusters

  2. בוחרים את פרויקט היעד Google Cloud .

  3. (אופציונלי) אם עדיין לא עשיתם זאת, נכנסים לאשכול היעד:

    1. בחלונית הניווט הימנית, לוחצים על Clusters (אשכולות).

    2. ברשימה Anthos Managed Clusters, לוחצים על אשכול היעד.

    3. בחלונית המידע בצד שמאל, לוחצים על LOG IN (כניסה).

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

  4. עוברים לדף מכונות וירטואליות.

    מעבר אל Virtual Machines

  5. לוחצים על יצירה.

  6. בקטע Basics (פרטים בסיסיים), מבצעים את הפעולות הבאות:

    1. בשדה Name, מזינים שם משמעותי למכונה הווירטואלית.

    2. בשדה Select cluster (בחירת אשכול), בוחרים את אשכול היעד של המכונה הווירטואלית.

    3. בשדה Namespace, בוחרים את מרחב השמות של היעד.

    4. בשדה סוג מערכת ההפעלה, בוחרים את מערכת ההפעלה לטירגוט.

    5. (אופציונלי) אם רוצים להוסיף תווית אחת או יותר להגדרת המכונה הווירטואלית, לוחצים על הוספת תווית.

  7. בקטע Machine Configuration, מבצעים אחת מהפעולות הבאות:

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

    • אם רוצים להשתמש במספר מוגדר מראש של vCPU ובכמות מוגדרת מראש של זיכרון למכונה הווירטואלית הזו, בוחרים באפשרות Standard Configuration (תצורה רגילה), בוחרים תצורת מכונה מהרשימה הנפתחת Machine Type (סוג מכונה) ולוחצים על NEXT (הבא).

  8. בקטע Storage, מבצעים אחת מהפעולות הבאות:

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

    • אם רוצים להשתמש בדיסק וירטואלי קיים למכונה הווירטואלית הזו, בוחרים באפשרות בחירת דיסק קיים ובוחרים את תמונת הדיסק הרצויה מהרשימה הנפתחת בחירת דיסק.

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

    • מציינים מנהל התקן של דיסק וירטואלי ברשימה הנפתחת Driver (מנהל התקן).

    • כדי להוסיף עוד דיסק למכונה הווירטואלית, לוחצים על ADD A DISK (הוספת דיסק) בקטע Additional disks (דיסקים נוספים).

    • לוחצים על הבא.

  9. בקטע Network (רשת), מבצעים את הפעולות הבאות:

    1. בקטע Default network interface, מציינים את השם של ממשק הרשת הראשי של המכונה הווירטואלית הזו בשדה Interface name.

    2. בוחרים את סוג הרשת המתאים מהרשימה הנפתחת סוג הרשת.

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

    4. אם רוצים להוסיף מכונת רשת משנית אחת או יותר למכונה הווירטואלית הזו, לוחצים על הוספת ממשק רשת.

    5. לוחצים על הבא.

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

  11. בקטע Firmware:

    1. בשדה סוג Bootloader, בוחרים את סוג הקושחה של היעד. אם בוחרים ב-UEFI firmware, אפשר להפעיל את האפשרות Secure boot (הפעלה מאובטחת) באמצעות תיבת הסימון.

    2. מציינים מספר סידורי למכונה הווירטואלית בשדה Serial.

    3. מציינים מזהה ייחודי אוניברסלי (UUID) למכונה הווירטואלית הזו בשדה UUID.

  12. בקטע Cloud-init, מציינים ערך סודי של נתוני משתמש בשדה User data secret (סוד נתוני משתמש).

  13. לוחצים על CREATE VM (יצירת מכונה וירטואלית) כדי ליצור את המכונה הווירטואלית.

יצירת מכונה וירטואלית מקובץ YAML

כדי ליצור מכונה וירטואלית מקובץ תצורה בפורמט YAML:

  1. נכנסים לדף Clusters במסוף Google Cloud .

    מעבר אל Clusters

  2. בוחרים את פרויקט היעד Google Cloud .

  3. (אופציונלי) אם עדיין לא עשיתם זאת, נכנסים לאשכול היעד:

    1. בחלונית הניווט הימנית, לוחצים על Clusters (אשכולות).

    2. ברשימה Anthos Managed Clusters, לוחצים על אשכול היעד.

    3. בחלונית המידע בצד שמאל, לוחצים על LOG IN (כניסה).

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

  4. עוברים לדף מכונות וירטואליות.

    מעבר אל Virtual Machines

  5. לוחצים על CREATE WITH YAML (יצירה באמצעות YAML).

  6. בשדה Select cluster (בחירת אשכול), בוחרים את אשכול היעד של המכונה הווירטואלית.

  7. מדביקים את ההגדרה של המכונה הווירטואלית בפורמט YAML בשדה YAML. פרטים על שדות ה-YAML הנתמכים זמינים במפרט של מכונות וירטואליות.

  8. לוחצים על יצירה.

יצירת מכונה וירטואלית מקובץ אימג' של דיסק שאפשר לאתחל ממנו

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

apiVersion: vm.cluster.gke.io/v1
kind: VirtualMachine
metadata:
  name: my-virtual-machine
  namespace: NAMESPACE
spec:
  osType: Linux/Windows
  # guestEnvironment: {} # uncomment this line to disable guest environment
  priorityClassName: PRIORITY_CLASS
  compute:
    cpu:
      vcpus: 6
    memory:
      capacity: 8Gi
  interfaces:
    - name: eth0
      networkName: NETWORK_NAME
      ipAddresses:
        - IP_ADDRESS/PREFIX
  disks:
    - virtualMachineDiskName: DISK_NAME
      boot: true
    - virtualMachineDiskName: DISK_NAME

מחליפים את מה שכתוב בשדות הבאים:

  • NAMESPACE: מרחב השמות של היעד.
  • PRIORITY_CLASS: מחלקת העדיפות של המכונה הווירטואלית הזו. מחלקת עדיפות היא טווח של ערכי עדיפות. אפשר להשתמש בערך kubectl get priorityclass כדי לראות רשימה של מחלקות העדיפות הנתמכות. עדיפות תזמון גבוהה יותר מקטינה את הסיכוי לפינוי של מכונה וירטואלית (VM) כשמשאבי הצומת מוגבלים. אם לא מציינים ערך, המכונה הווירטואלית מקבלת את ערך ברירת המחדל של העדיפות הנמוכה ביותר.
  • NETWORK_NAME: השם של רשת L2 שאליה רוצים לצרף את הממשק של המכונה הווירטואלית.
  • DISK_NAME: השמות של הדיסקים של המכונה הווירטואלית הזו.
  • vcpus: מספר המעבדים הווירטואליים להקצאה למכונה הווירטואלית.
  • capacity: כמות הזיכרון להקצאה למכונה הווירטואלית. לדוגמה, 4Gi או 8Gi.
  • ipAddresses: אופציונלי. מאפשר הקצאת כתובת IP סטטית למכונה הווירטואלית. אם רשת L2 הבסיסית תומכת ב-DHCP חיצוני, אפשר להשמיט את ipAddresses כדי לאפשר הקצאה דינמית.

שימוש ב-cloud-init API לאתחול מכונות וירטואליות

cloud-init API הוא דרך סטנדרטית לאתחול מכונת VM בענן. אפשר להשתמש ב-cloud-init כדי להגדיר קבצים, משתמשים והיבטים אחרים של המכונה הווירטואלית.

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

הדוגמאות הבאות הן כלליות, ולכן צריך לבדוק אותן בסביבה שלכם.

אוטומציה של הגדרת מכונות וירטואליות באמצעות נתוני משתמשים ב-cloud-init

זמן הריצה של מכונות וירטואליות ב-GDC תומך בcloud-init נתוני משתמשים למכונות וירטואליות של Linux. אפשר לציין נתוני משתמש כמחרוזת טקסט פשוט, כמחרוזת בקידוד Base64 או על ידי הפניה ל-Kubernetes Secret.

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

בדוגמה הבאה מוצג מניפסט VirtualMachine שכולל נתוני משתמש בטקסט פשוט cloud-init להרצת פקודה כשהמכונה הווירטואלית מופעלת:

apiVersion: vm.cluster.gke.io/v1
kind: VirtualMachine
metadata:
  name: VM_NAME
spec:
  compute:
    cpu:
      vcpus: 2
    memory:
      capacity: 4Gi
  osType: Linux
  cloudInit:
    noCloud:
      userData: |
        #cloud-config
        runcmd:
          - echo "Hello World" > /tmp/hello.txt

מחליפים את VM_NAME בשם המכונה הווירטואלית.

כדי ליצור את המכונה הווירטואלית עם נתוני cloud-init, שומרים את המניפסט כ-vm-cloud-init.yaml ומחילים אותו על האשכול באמצעות הפעלת הפקודה kubectl apply:

kubectl apply -f vm-cloud-init.yaml

פתרון בעיות cloud-init

אם נתקלים בבעיות ב-cloud-init, כדאי לבדוק את היומנים בתוך ה-VM. בדרך כלל אפשר למצוא את היומנים בספריות הבאות:

  • /var/log/cloud-init.log
  • /var/log/cloud-init-output.log

יצירת מכונה וירטואלית מקובץ אימג' של דיסק אופטי ISO

אתם יכולים ליצור מכונה וירטואלית (VM) של Windows שמבצעת אתחול מתמונת ISO באמצעות VM Runtime ב-GDC. היכולת הזו מאפשרת לכם להעביר אפליקציות ארגוניות מדור קודם שמבוססות על Windows, תוכנות צד שלישי ייעודיות או מערכות קופה מותאמות אישית ישירות לאשכולות המחוברים שלכם ב-Distributed Cloud.

תמונות שמשמשות לדיסקים של מכונות וירטואליות מיובאות מקטגוריית תמונות שמחוברת ל-Distributed Cloud. לפני שיוצרים את המניפסטים, צריך להוריד את קובץ ה-ISO של ההתקנה של Windows ואת קובץ ה-ISO של מנהלי ההתקנים של KubeVirt virtio ולהעלות אותם לדלי התמונות. כדי להבטיח בנייה אמינה וניתנת לשחזור של מכונות וירטואליות, מומלץ לשמור עותק מאומת של קובץ ה-ISO של מנהלי ההתקנים במאגר פנימי או להכין אותו מראש ב-Cloud Storage.

יצירת קובצי המניפסט

כדי לבצע אתחול מתמונת ISO של Windows, צריך את המניפסטים הבאים:

  • VirtualMachineDisk שמכיל את קובץ ה-ISO של Windows.
  • VirtualMachineDisk שמכיל את הדרייברים של KubeVirt Windows virtio.
  • דיסק VirtualMachineDisk ריק שישמש כדיסק האתחול שבו יותקן Windows.

בדוגמאות הבאות מוצגים קובצי ה-manifest של VirtualMachineDisk לשלושת הדיסקים הנדרשים.

במניפסטים, מחליפים את מה שכתוב בשדות הבאים:

  • BUCKET_PROJECT_ID: מזהה הפרויקט שבו נמצאת קטגוריית התמונות.
  • KSA_NAME: חשבון השירות ב-Kubernetes עם הרשאות לקריאה מהקטגוריה.

הגודל הווירטואלי המדויק של קובץ ה-ISO חייב להיות קטן או שווה לערך size שמוגדר במניפסטים.

דיסק ISO של Windows

apiVersion: vm.cluster.gke.io/v1
kind: VirtualMachineDisk
metadata:
  name: windows-iso
spec:
  size: 10Gi
  storageClassName: robin-block-immediate
  diskType: cdrom
  source:
    gcs:
      url: gs://BUCKET_PROJECT_ID-vm-images/windows.iso
      serviceAccount: KSA_NAME

דיסק של מנהלי התקנים של VirtIO

apiVersion: vm.cluster.gke.io/v1
kind: VirtualMachineDisk
metadata:
  name: virtio-driver
spec:
  size: 1Gi
  storageClassName: robin-block-immediate
  diskType: cdrom
  source:
    gcs:
      url: gs://BUCKET_PROJECT_ID-vm-images/virtio-win.iso
      serviceAccount: KSA_NAME

ריקון דיסק האתחול

apiVersion: vm.cluster.gke.io/v1
kind: VirtualMachineDisk
metadata:
  name: windows-vm-boot-dv
spec:
  size: 40Gi
  storageClassName: robin-block-immediate

יצירת הדיסקים

כדי ליצור את הדיסקים האלה, שומרים את קובצי ה-manifest ומחילים אותם על האשכול באמצעות הפעלת הפקודה kubectl apply:VirtualMachineDisk

kubectl apply -f windows-iso.yaml
kubectl apply -f virtio-driver.yaml
kubectl apply -f windows-vm-boot-dv.yaml

יצירת מכונה וירטואלית של Windows

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

בדוגמה הבאה מוצג מניפסט של VirtualMachine:

apiVersion: vm.cluster.gke.io/v1
kind: VirtualMachine
metadata:
  labels:
    kubevirt.io/vm: windows-vm
  name: windows-vm
spec:
  osType: Windows
  disks:
    - virtualMachineDiskName: windows-vm-boot-dv
      boot: true
    - virtualMachineDiskName: windows-iso
    - virtualMachineDiskName: virtio-driver
  compute:
    cpu:
      vcpus: 2
    memory:
      capacity: 4Gi
  interfaces:
    - name: eth0
      networkName: NETWORK_NAME
      default: true
      ipAddresses:
        - IP_ADDRESS/PREFIX

כדי ליצור את המכונה הווירטואלית, שומרים את המניפסט כ-windows-vm.yaml ומחילים אותו על האשכול על ידי הרצת הפקודה kubectl apply:

kubectl apply -f windows-vm.yaml

חיבור והשלמת ההתקנה

כדי להתחבר ולהשלים את ההתקנה, מבצעים את השלבים הבאים:

  1. כדי להתחבר למכונה הווירטואלית באמצעות VNC, משתמשים בכלי virtctl או בתוסף kubectl virt:

    virtctl vnc windows-vm
    

    או אם התקנתם את virtctl כפלאגין של kubectl:

    kubectl virt vnc windows-vm
    

    מידע נוסף על virtctl זמין במסמכי התיעוד של KubeVirt.

  2. פועלים לפי ההוראות שמוצגות בכלי ההתקנה של Windows. כשמופיעה בקשה, בוחרים באפשרות התקנה בהתאמה אישית.

  3. כשמתבקשים, טוענים את מנהלי ההתקנים virtio של האחסון והרשת, ומעיינים בדיסק virtio-driver המצורף.

  4. משלימים את ההתקנה.

גישה באמצעות פרוטוקול Remote Desktop

אחרי שמתקינים ומפעילים את Remote Desktop Protocol ‏ (RDP) במערכת ההפעלה של האורח, אפשר לגשת למכונה הווירטואלית דרך RDP.

מכיוון שהמכונה הווירטואלית מצורפת לרשת L2, אפשר להגיע אליה ישירות מחוץ לאשכול באמצעות כתובת ה-IP שהוקצתה לה (לדוגמה, 10.223.237.10). מתחברים לכתובת ה-IP הזו ביציאה 3389 באמצעות לקוח RDP. מוודאים שאפשר להגיע לכתובת ה-IP הפנימית של L2 ממכונת הלקוח דרך חומת האש הארגונית וכללי הניתוב.

יצירת מכונה וירטואלית עם תמיכה ב-GPU

כדי ליצור מכונה וירטואלית שמוגדרת בהתאם לדרישות העסקיות שלכם, צריך לבצע את השלבים שמתוארים בדף הזה, ואז את השלבים במאמר הגדרה של מכונה וירטואלית לשימוש במשאבי GPU.

מפרט מכונות וירטואליות

בטבלה הבאה מתוארים השדות העיקריים במפרט.VirtualMachine אפשר להשתמש בשדות האלה כשמגדירים מניפסט YAML של מכונה וירטואלית כדי להחיל אותו על האשכול באמצעות kubectl apply, או כשמשתמשים באפשרות יצירה באמצעות YAML במסוף Google Cloud .

שדה תיאור חובה
apiVersion חייב להיות vm.cluster.gke.io/v1. חובה
kind חייב להיות VirtualMachine. חובה
metadata.name שם ייחודי למכונה הווירטואלית. חובה
metadata.namespace מרחב השמות של Kubernetes שבו המכונה הווירטואלית פועלת. חובה
spec.osType סוג מערכת ההפעלה של האורח. ערכים נתמכים: Linux ו-Windows. חובה
spec.guestEnvironment הגדרת סביבת האורח. אם לא מציינים את ההגדרה, סביבת האורח מופעלת כברירת מחדל. כדי להשבית את ההגדרה, מגדירים את הערך {}. אופציונלי
spec.priorityClassName סיווג העדיפות של מכונת ה-VM. עדיפות גבוהה יותר מקטינה את הסיכוי להוצאה מהזיכרון. אופציונלי
spec.compute הגדרת משאבי החישוב של המכונה הווירטואלית. חובה
spec.compute.cpu.vcpus מספר המעבדים הווירטואליים להקצאה. הערכים הקבילים הם 1 עד 96. חובה
spec.compute.memory.capacity נפח הזיכרון, לדוגמה, 8Gi. חובה
spec.interfaces רשימה של ממשקי הרשת של המכונה הווירטואלית. חובה
spec.interfaces[].name השם של הממשק, לדוגמה, eth0. חובה
spec.interfaces[].networkName השם של רשת המשנה שאליה רוצים להתחבר, שמופה למשאב Network באשכול. חובה
spec.interfaces[].ipAddresses כתובות IP סטטיות להקצאה לממשק הזה. אם לא מופעל DHCP ברשת המשנה, צריך לציין כתובת IP סטטית. אופציונלי
spec.disks רשימת הדיסקים לצירוף למכונה הווירטואלית. חובה
spec.disks[].virtualMachineDiskName השם של משאב VirtualMachineDisk. חובה
spec.disks[].boot מגדירים את הדיסק ל-true. אפשר לסמן רק דיסק אחד כניתן לאתחול. אופציונלי

גישה למכונה וירטואלית

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

דרישות רשת לגישה ישירה

כדי לגשת למכונה וירטואלית ישירות מהרשת המקומית בלי להשתמש בשירות Kubernetes LoadBalancer, צריך להגדיר את רכיבי הרשת הלוגיים והפיזיים. ב-Distributed Cloud connected, המערכת מנהלת באופן אוטומטי את משאבי הרשת בתוך האשכול, אבל צריך להגדיר את הרשת החיצונית ואת הממשק של המכונה הווירטואלית.

  1. הגדרת רשת משנה (VLAN): יצירת רשת משנה עם מזהה VLAN ספציפי באמצעות Distributed Cloud Edge Network API, באמצעות gcloud או ה-API. ‫Distributed Cloud במודל מחובר מסנכרן אוטומטית את ההגדרה הזו עם האשכול. אין צורך ליצור ידנית משאבי רשת של Kubernetes. איך יוצרים ומנהלים רשתות משנה

  2. הגדרת הרשת המקומית: האדמין של הרשת צריך להגדיר את המתגים הפיזיים והנתבים שמחוברים לשרתים המחוברים ל-Distributed Cloud באופן הבא:

    • מאפשרים את מזהה ה-VLAN שהוגדר ביציאות המתג (VLAN trunking).
    • מפעילים ניתוב בין הרשת המקומית לבין רשת המשנה. אם פרוטוקול הניתוב הדינמי Border Gateway Protocol‏ (BGP) מוגדר בנתבים המחוברים ל-Distributed Cloud, המסלולים האלה יפורסמו באופן אוטומטי אחרי יצירת רשת המשנה. אחרת, צריך להגדיר נתיבים סטטיים בנתבים הפיזיים כדי לנתב את התנועה לטווח כתובות ה-IP (CIDR) של רשת המשנה לצמתים המחוברים של Distributed Cloud.
  3. הגדרת הממשק של מכונת ה-VM: בקובץ ההגדרות של VirtualMachine YAML, מציינים את שם הרשת בשדה spec.interfaces כדי להגדיר את מכונת ה-VM לשימוש ברשת המשנה הזו. מידע נוסף זמין במאמר בנושא מפרט של מכונות וירטואליות.

קבלת פרטי כניסה למכונות וירטואליות של Linux

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

  1. כדי להפעיל את סביבת האורח של Linux במכונה הווירטואלית של היעד, צריך להחיל את ההגדרה הבאה על האשכול:

    kind: VirtualMachine
    metadata:
     name: my-virtual-machine
     namespace: my-vm-namespace
    spec:
     osType: Linux
     guestEnvironment: // enabled by default; disable with guestEnvironment: {}
       accessManagement:
        enable: true
  2. מריצים את הפקודה הבאה כדי ליצור קובץ id_rsa.pub שמכיל זוג מפתחות SSH:

    ssh-keygen -t rsa
  3. יוצרים משאב VirtualMachineAccessRequest על ידי החלת ההגדרה הבאה על האשכול:

    apiVersion: vm.cluster.gke.io/v1alpha1
    kind: VirtualMachineAccessRequest
    metadata:
     name: RESOURCE_NAME
     namespace: NAMESPACE
    spec:
      vm: VM_NAME
      user: USER_NAME
      ssh:
        key: RSA_KEY
        ttl: 2h

    מחליפים את מה שכתוב בשדות הבאים:

    • RESOURCE_NAME: שם תיאורי של משאב בקשת הגישה למכונה הווירטואלית.
    • NAMESPACE: מרחב השמות של היעד.
    • VM_NAME: השם של המכונה הווירטואלית של היעד.
    • USER_NAME: השם של המשתמש שמקבל גישה.
    • RSA_KEY: התוכן של קובץ id_rsa.pub שיצרתם בשלב הקודם.
  4. כדי לבדוק את הסטטוס של בקשת הגישה, מריצים את הפקודה kubectl get:

    kubectl get vmar
    

    אם הפקודה מחזירה סטטוס Configured, ממשיכים לשלב הבא.

  5. ניגשים למכונה הווירטואלית באמצעות SSH. אם המכונה הווירטואלית מחוברת לרשת המקומית, אפשר לגשת אליה ישירות באמצעות SSH:

    ssh USERNAME@VM_IP_ADDRESS -i PATH_TO_KEY

    מחליפים את מה שכתוב בשדות הבאים:

    • USERNAME: שם המשתמש שמשמש לכניסה, לדוגמה, המשתמש שהוגדר במשאב VirtualMachineAccessRequest.
    • VM_IP_ADDRESS: כתובת ה-IP של המכונה הווירטואלית.
    • PATH_TO_KEY: הנתיב למפתח ה-SSH הפרטי שמתאים למפתח הציבורי שנוצר בשלבים הקודמים.

שימוש ב-RDP כדי לגשת למכונה וירטואלית של Windows

כדי לגשת למכונה וירטואלית של Windows באמצעות Remote Desktop Protocol‏ (RDP) מהרשת המקומית, צריך להפעיל את RDP במערכת ההפעלה של האורח, לוודא שיש למכונה הווירטואלית גישה לרשת ולהגדיר פרטי כניסה של משתמש.

דרישות מוקדמות

הפעלת RDP ב-Windows: צריך להפעיל את RDP במערכת ההפעלה האורחת של Windows. אם RDP עדיין לא מופעל, משתמשים במסוף Virtual Network Computing (VNC) כדי לגשת ישירות למסך של ה-VM ולהפעיל אותו. הפקודה kubectl virt vnc פותחת חלון של מציג גרפי בתחנת העבודה המקומית, ונדרש לקוח של מציג VNC, כמו Remote Viewer או VNC Viewer, שמותקן בתחנת העבודה:

kubectl virt vnc VM_NAME -n NAMESPACE

מחליפים את מה שכתוב בשדות הבאים:

  • VM_NAME: השם של מכונת ה-Windows הווירטואלית.
  • NAMESPACE: מרחב השמות של המכונה הווירטואלית.

חיבור באמצעות RDP

  1. כדי לקבל את כתובת ה-IP של מכונת ה-VM, מריצים את הפקודה kubectl get:

    kubectl get vmi VM_NAME -n NAMESPACE -o jsonpath='{.status.interfaces[*].ipAddress}'

    מחליפים את מה שכתוב בשדות הבאים:

    • VM_NAME: השם של מכונת ה-Windows הווירטואלית.
    • NAMESPACE: מרחב השמות של המכונה הווירטואלית.

    חשוב לשים לב לכתובת ה-IP ששייכת לתת-הרשת המנותבת מתוך הפלט.

  2. משתמשים בלקוח RDP רגיל, כמו Remote Desktop Connection ב-Windows או Remmina ב-Linux, כדי להתחבר לכתובת ה-IP שאוחזרה ביציאה 3389.

  3. משתמשים בשם המשתמש ובסיסמה כדי להיכנס לחשבון.

הפעלה, הפעלה מחדש או עצירה של מכונה וירטואלית

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

  • הפעלת מכונה וירטואלית: kubectl virt start vmVM_NAME-nNAMESPACE
  • הפעלה מחדש של מכונה וירטואלית: kubectl virt restart vmVM_NAME-nNAMESPACE
  • הפסקת מכונה וירטואלית: kubectl virt stop vmVM_NAME-nNAMESPACE

מחליפים את מה שכתוב בשדות הבאים:

  • VM_NAME: השם של המכונה הווירטואלית של היעד.
  • NAMESPACE: מרחב השמות של היעד.

הפעלה או השבתה של מכונה וירטואלית באמצעות מסוף Google Cloud

  1. נכנסים לדף Clusters במסוף Google Cloud .

    מעבר אל Clusters

  2. בוחרים את פרויקט היעד Google Cloud .

  3. (אופציונלי) אם עדיין לא עשיתם זאת, נכנסים לאשכול היעד:

    1. בחלונית הניווט הימנית, לוחצים על Clusters (אשכולות).

    2. ברשימה Anthos Managed Clusters, לוחצים על אשכול היעד.

    3. בחלונית המידע בצד שמאל, לוחצים על LOG IN (כניסה).

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

  4. עוברים לדף מכונות וירטואליות.

    מעבר אל Virtual Machines

  5. ברשימת המכונות הווירטואליות, מסמנים את התיבות של המכונות הווירטואליות הרלוונטיות.

  6. בראש הדף, לוחצים על התחלה או על הפסקה, בהתאם לצורך.

הצגת הסטטוס של מכונה וירטואלית באמצעות Google Cloud console

  1. נכנסים לדף Clusters במסוף Google Cloud .

    מעבר אל Clusters

  2. בוחרים את פרויקט היעד Google Cloud .

  3. (אופציונלי) אם עדיין לא עשיתם זאת, נכנסים לאשכול היעד:

    1. בחלונית הניווט הימנית, לוחצים על Clusters (אשכולות).

    2. ברשימה Anthos Managed Clusters, לוחצים על אשכול היעד.

    3. בחלונית המידע בצד שמאל, לוחצים על LOG IN (כניסה).

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

  4. עוברים לדף מכונות וירטואליות.

    מעבר אל Virtual Machines

  5. לוחצים על המכונה הווירטואלית של היעד.

  6. בדף שמופיע, לוחצים על הכרטיסיות פרטים, אירועים ו-YAML כדי לראות את המידע הרלוונטי על המכונה הווירטואלית הזו.

שינוי מכונה וירטואלית

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

מחיקת מכונה וירטואלית באמצעות Google Cloud מסוף

  1. נכנסים לדף Clusters במסוף Google Cloud .

    מעבר אל Clusters

  2. בוחרים את פרויקט היעד Google Cloud .

  3. (אופציונלי) אם עדיין לא עשיתם זאת, נכנסים לאשכול היעד:

    1. בחלונית הניווט הימנית, לוחצים על Clusters (אשכולות).

    2. ברשימה Anthos Managed Clusters, לוחצים על אשכול היעד.

    3. בחלונית המידע בצד שמאל, לוחצים על LOG IN (כניסה).

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

  4. עוברים לדף מכונות וירטואליות.

    מעבר אל Virtual Machines

  5. ברשימת המכונות הווירטואליות, מסמנים את התיבה של המכונה הווירטואלית הרצויה.

  6. בחלק העליון של הדף, לוחצים על מחיקה.

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

המאמרים הבאים