ממשק רשת וירטואלי (gVNIC) של Google הוא ממשק רשת וירטואלי שנועד במיוחד ל-Compute Engine. gVNIC הוא חלופה למנהל התקן של Ethernet שמבוסס על virtIO.
ממשק הרשת gVNIC הוא הדור הבא של ממשקי הרשת, והוא מחליף את VirtIO-Net בתור ממשק הרשת היחיד שנתמך ב-Compute Engine לכל סוגי המכונות החדשים (דור 3 ואילך). בסדרות מכונות חדשות יותר ובתכונות רישות חדשות יותר נדרש gVNIC במקום VirtIO. שימוש ב-gVNIC כממשק קלט/פלט מודרני עם מכונות וירטואליות ב-Compute Engine מציע את היתרונות הבאים:
- משפרים את הביצועים.
- משפר את העקביות על ידי הפחתת בעיות של שכנים רועשים.
- הוא מציג יכולות רשת חדשות מעבר ליכולות של VirtIO.
לפני שמתחילים
- אם אתם משתמשים ב-gVNIC עם תמונות של Windows Server או של לקוח Windows, אתם צריכים לוודא שמנהל ההתקנים של gVNIC משתמש בגרסה
1.0.0@45או בגרסה מתקדמת יותר של חבילת GooGet. -
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
gcloud
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
מתי כדאי להשתמש ב-gVNIC
gVNIC נתמך ומומלץ לכל משפחות המכונות והדורות. חלק מהדורות תומכים רק ב-gVNIC. במקרים אחרים נדרש שימוש ב-gVNIC בתנאים מיוחדים. כדי לזהות את הדור של סדרת המכונות, אפשר לעיין בטרמינולוגיה של Compute Engine.
השימוש ב-gVNIC לפי דורות של סדרות מכונות הוא כדלקמן:
- סדרות מכונות מהדור השלישי ואילך, לא כולל מופעי Bare Metal, תומכות רק ב-gVNIC לממשק הרשת הווירטואלי.
אם סדרת המכונות מהדור הראשון או השני עומדת באחד מהתנאים הבאים, היא חייבת להשתמש ב-gVNIC עבור ממשק הרשת הווירטואלי של המכונות:
- המופע פועל בפלטפורמת Arm CPU.
- המכונה היא Confidential VM instance.
המופע צריך להשיג מהירויות רשת של 50 עד 100 Gbps. ההגדרה הזו חלה על מקרים שעומדים בקריטריונים הבאים:
- מקרים שתומכים בביצועי רשת ברמה 1 לכל מכונה וירטואלית
- מכונות מסוג A2, G2 ו-N1 שתומכות ברוחבי הפס הגבוהים יותר ברשת
תמחור
כדי לראות את המחירים העדכניים של רשתות Tier_1, אפשר לעיין בדף התמחור של מכונות VM.
רשימה של שיטות נוספות שבהן אפשר להשתמש כדי למצוא מידע על תמחור מופיעה במאמר בנושא תמחור של Compute Engine.
תמיכה במערכת הפעלה
ב-Compute Engine, אתם יכולים להשתמש ב-gVNIC בכל תמונות מערכת ההפעלה הציבוריות הנתמכות. במקרים הבאים, אפשר להתקין את מנהל ההתקן gVNIC באופן ידני:
- קובץ האימג' של מערכת ההפעלה לא כולל את מנהל ההתקן gVNIC
- תמונת מערכת ההפעלה לא כוללת את הגרסה האחרונה של דרייבר gVNIC
בכרטיסייה ממשקי משתמש אפשר לראות את מערכות ההפעלה הנתמכות. כדאי גם לבדוק את הכרטיסייה Networking features כדי לראות אם יש תמיכה בתכונות רשת.
שימוש במערכות הפעלה לא נתמכות
במקרה של תמונות של מערכת הפעלה שתומכות ב-gVNIC אבל לא כוללות את הגרסה האחרונה של דרייבר gVNIC, אפשר להוריד את הגרסה האחרונה של הדרייבר מ-GitHub.
אפשר להגדיר ולהתקין באופן ידני את הגרסה האחרונה של מנהל ההתקן gVNIC במכונות וירטואליות של Linux או Windows.
אחרי שמעדכנים את מערכת ההפעלה במכונה הווירטואלית כדי להשתמש ב-gVNIC, צריך ליצור אימג' בהתאמה אישית של מערכת ההפעלה על סמך האימג' של מערכת ההפעלה. אחר כך תוכלו להשתמש באימג' המותאם אישית של מערכת ההפעלה כדי ליצור מכונות וירטואליות נוספות שמשתמשות ב-gVNIC במערכת ההפעלה הזו. מידע נוסף על יצירת מכונות וירטואליות באמצעות אימג' של מערכת הפעלה בהתאמה אישית זמין במאמר יצירת אימג' של מערכת הפעלה בהתאמה אישית שתומך ב-gVNIC בדף הזה.
כדי להגדיר ולהתקין באופן ידני את הגרסה האחרונה של מנהל ההתקן gVNIC, פועלים לפי השלבים הבאים.
- למכונות וירטואליות של Linux, אפשר לעיין במאמר בנושא מנהל התקן של ליבת Linux ל-Compute Engine Virtual Ethernet.
- למכונות וירטואליות שמריצות FreeBSD, אפשר לעיין במאמר בנושא מנהל התקן של FreeBSD ל-Compute Engine Virtual Ethernet.
- למכונות וירטואליות של Windows, אפשר לעיין במאמר בנושא מנהל התקן של Windows עבור רשת Ethernet וירטואלית ב-Compute Engine.
סקירה כללית על שימוש ב-gVNIC עם מכונות וירטואליות של Compute Engine
כדי ליצור מכונה וירטואלית שמשתמשת ב-gVNIC, מבצעים את השלבים הבאים:
- בוחרים קובץ אימג' ציבורי של מערכת הפעלה שתומך ב-gVNIC, או יוצרים קובץ אימג' בהתאמה אישית של מערכת הפעלה שתויג לשימוש ב-gVNIC.
- יוצרים מכונה וירטואלית באמצעות תמונת מערכת הפעלה ציבורית או בהתאמה אישית. במהלך יצירת המכונה הווירטואלית, מגדירים את ממשק הרשת לשימוש ב-gVNIC.
- מוודאים ש-gVNIC מופעל.
אם נתקלתם בבעיות, תוכלו לעיין במאמר בנושא פתרון בעיות ב-Google Virtual NIC.
יצירת תמונת מערכת הפעלה בהתאמה אישית שתומכת ב-gVNIC
אפשר ליצור את תמונת מערכת ההפעלה באמצעות Google Cloud CLI או REST. מידע מפורט ושיטות מומלצות ליצירת תמונות של מערכת הפעלה בהתאמה אישית זמינים במאמר יצירת תמונות של מערכת הפעלה בהתאמה אישית.
gcloud
בוחרים תמונה של מערכת הפעלה או משפחת תמונות שתומכות ב-gVNIC. מידע נוסף זמין במאמר בנושא פרטים על מערכת ההפעלה.
באמצעות קובץ האימג' של מערכת ההפעלה או משפחת קובצי האימג' שנבחרו בשלב הקודם, יוצרים קובץ אימג' מותאם אישית של מערכת ההפעלה ומתייגים אותו באמצעות
GVNIC. כדי ליצור את אימג' מערכת ההפעלה בהתאמה אישית, משתמשים בפקודהgcloud compute images create. לדוגמה, הפקודה הבאה יוצרת תמונה של מערכת הפעלה בהתאמה אישית שתומכת ב-gVNIC ומבוססת על תמונה ספציפית של מערכת הפעלה.gcloud compute images create IMAGE_NAME \ --source-image=SOURCE_IMAGE \ --source-image-project=SOURCE_IMAGE_PROJECT \ --guest-os-features=GVNICמחליפים את מה שכתוב בשדות הבאים:
-
IMAGE_NAME: השם של התמונה שרוצים ליצור
SOURCE_IMAGE: קובץ אימג' ספציפי של מערכת הפעלה שתומך ב-gVNIC, לדוגמה:rocky-linux-8-optimized-gcp-v20220719אם רוצים להשתמש בתמונת מערכת ההפעלה העדכנית במשפחת תמונות, צריך להחליף את הדגל
--source-imageבדגל--source-image-familyולהגדיר את הערך שלו למשפחת תמונות שתומכת ב-gVNIC. לדוגמה:--source-image-family=rocky-linux-8-optimized-gcp.
SOURCE_IMAGE_PROJECT: השם של הפרויקט שמכיל את תמונת מערכת ההפעלה או את משפחת התמונות של המקור
דוגמה
כדי ליצור תמונה של מערכת הפעלה Rocky Linux 8 Optimized for Cloud de Confiance by S3NS OS באמצעות תמונת מערכת ההפעלה העדכנית ביותר ממשפחת התמונות של Compute Engine
rocky-linux-8-optimized-gcp, מריצים את הפקודה הבאה:gcloud compute images create IMAGE_NAME \ --source-image-family=rocky-linux-8-optimized-gcp \ --source-image-project=rocky-linux-cloud \ --guest-os-features=GVNICמידע נוסף על המקרים שבהם כדאי להשתמש במשפחות תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות תמונות.
-
REST
בוחרים תמונה של מערכת הפעלה או משפחת תמונות שתומכת ב-gVNIC. מידע נוסף זמין במאמר פרטים על מערכות הפעלה.
באמצעות קובץ האימג' של מערכת ההפעלה או משפחת קובצי האימג' של מערכת ההפעלה שנבחרו בשלב הקודם, יוצרים קובץ אימג' של מערכת ההפעלה ומתייגים אותו באמצעות
GVNIC. כדי ליצור את קובץ האימג' של מערכת ההפעלה, משתמשים ב-images.insertmethod.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name":"IMAGE_NAME", "sourceImage":"SOURCE_IMAGE_URI", "guestOsFeatures":[ { "type":"GVNIC" } ] }מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של הפרויקט שבו רוצים ליצור את התמונה החדשה -
IMAGE_NAME: שם לתמונה המותאמת אישית
SOURCE_IMAGE_URI: ה-URI של תמונת מערכת ההפעלה או של משפחת התמונות הספציפית שרוצים להשתמש בהלדוגמה:
- קובץ אימג' ספציפי של מערכת ההפעלה:
"sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719" - משפחת תמונות:
"sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
כשמציינים משפחת תמונות, Compute Engine יוצר מכונת VM מתמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש באותה משפחה. מידע נוסף על המקרים שבהם כדאי להשתמש במשפחות תמונות זמין במאמר שיטות מומלצות לשימוש במשפחות תמונות.
- קובץ אימג' ספציפי של מערכת ההפעלה:
-
יצירת מכונה וירטואלית עם תמיכה ב-gVNIC
אתם יכולים ליצור מכונה וירטואלית באמצעות אחד מקבצי האימג' הציבוריים של מערכת ההפעלה שנתמכים או באמצעות קובץ אימג' של מערכת הפעלה בהתאמה אישית שיצרתם באמצעות השלבים שמפורטים במאמר יצירת קובץ אימג' של מערכת הפעלה בהתאמה אישית שתומך ב-gVNIC.
אפשר גם להפעיל DPDK במכונה הווירטואלית כדי לעבד חבילות רשת מהר יותר, עם זמן אחזור נמוך וביצועים עקביים.
במכונות וירטואליות שתומכות בכמה ממשקי רשת (NIC), אפשר לצרף ממשקי NIC מסוגים שונים למכונה הווירטואלית, כי התמיכה בממשק מוגדרת לכל NIC. ההגדרה הזו נתמכת, אבל אנחנו לא ממליצים עליה. במכונות וירטואליות שתומכות בכמה כרטיסי ממשק רשת (NIC), צריך לוודא שמציינים nic-type=GVNIC לכל ממשק רשת כשיוצרים את המכונה הווירטואלית.
יצירת מכונה וירטואלית באמצעות תמונת מערכת הפעלה ציבורית
כדי ליצור מכונה וירטואלית באמצעות תמונת מערכת הפעלה ציבורית שתומכת ב-gVNIC, פועלים לפי ההוראות במאמר יצירת מכונות וירטואליות וקונטיינרים עם הגדרת רוחב פס גבוה.
יצירת מכונה וירטואלית באמצעות תמונת מערכת הפעלה בהתאמה אישית
אם אתם לא משתמשים בתמונת מערכת הפעלה ציבורית שתומכת ב-gVNIC, אתם צריכים קודם ליצור תמונת מערכת הפעלה בהתאמה אישית שתומכת ב-gVNIC. לאחר מכן משתמשים בתמונת מערכת ההפעלה המותאמת אישית כדי ליצור מכונה וירטואלית באמצעות Cloud de Confiance המסוף, Google Cloud CLI או REST.
המסוף
נכנסים לדף Create an instance במסוף Cloud de Confiance .
מזינים את השם של מכונת ה-VM.
בוחרים את התחום שבו רוצים ליצור את המכונה הווירטואלית.
בקטע דיסק אתחול לוחצים על Change.
בחלונית דיסק אתחול, בכרטיסייה Custom images, מבצעים את הפעולות הבאות:
- בוחרים את פרויקט המקור שמכיל את תמונת מערכת ההפעלה שיצרתם קודם.
- בוחרים את התמונה מהתפריט הנפתח תמונה.
- לוחצים על בחירה.
כדי להגדיר את gVNIC כממשק הרשת, מרחיבים את הקטע אפשרויות מתקדמות ומבצעים את הפעולות הבאות:
- מרחיבים את הקטע Networking.
- בקטע כרטיס רשת, בוחרים באפשרות
gVNIC.
מבצעים התאמות אישיות נוספות במכונה הווירטואלית לפי הצורך.
לוחצים על יצירה כדי ליצור את מופע המכונה הווירטואלית.
gcloud
יוצרים את ה-VM באמצעות הפקודה
gcloud compute instances create. בדיסק האתחול, מציינים את תמונת מערכת ההפעלה המותאמת אישית שיצרתם קודם. בממשק הרשת, מגדירים את הערך של הדגלnic-typeל-GVNIC.gcloud compute instances create VM_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --image=IMAGE_NAME \ --image-project=YOUR_IMAGE_PROJECT \ --network-interface=nic-type=GVNICמחליפים את מה שכתוב בשדות הבאים:
-
VM_NAME: השם של ה-VM החדש. -
ZONE: האזור שבו רוצים ליצור את המכונה הווירטואלית. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש כשיוצרים את המופע של המכונה הווירטואלית. אם לא מציינים סוג מכונה, ברירת המחדל היאn1-standard-1. -
IMAGE_NAME: קובץ האימג' של מערכת ההפעלה שנוצר בשלב הקודם. -
YOUR_IMAGE_PROJECT: השם של הפרויקט שמכיל את תמונת מערכת ההפעלה.
-
אופציונלי: מוודאים ש-Compute Engine יצר את המכונה הווירטואלית וש-
nicTypeמוגדר ל-GVNIC.gcloud compute instances describe VM_NAME \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
-
VM_NAME: שם ה-VM. -
ZONE: האזור שבו יצרתם את המכונה הווירטואלית.
דוגמה
כדי ליצור מכונה וירטואלית עם Rocky Linux 8 מסוג
n1-standard-1באזורus-west1-bבאמצעות תמונת מערכת הפעלה בשםmy-gvnic-rocky8שנמצאת בפרויקטmy-project-12345, מריצים את הפקודה הבאה:gcloud compute instances create my-rocky-linux-vm \ --zone=us-west1-b \ --image=my-gvnic-rocky8 \ --image-project=my-project-12345 \ --network-interface=nic-type=GVNICמה כדאי לקחת בחשבון
לדגל
--network-interfaceיש דגלים ברמת משנה, כמו הדגלים הבאים:-
--address: הקצאת כתובת IP למכונה הווירטואלית -
--network: הרשת שהממשק יהיה חלק ממנה -
--network-tier: רמת הרשת של הממשק --subnet: תת-הרשת שהממשק יהיה חלק ממנה. אם מציינים גם את--network, תת-הרשת חייבת להיות חלק מהרשת שצוינה.-
--private-network-ip: מציינים את כתובת ה-IP לפי RFC 1918 להקצאה למכונה הווירטואלית.
-
REST
יוצרים את המכונה הווירטואלית באמצעות ה-method instances.insert.
- בדיסק האתחול, מציינים את תמונת מערכת ההפעלה המותאמת אישית שיצרתם קודם.
- בממשק הרשת, מגדירים את הערך של השדה
nicTypeל-GVNIC.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name":"VM_NAME",
"networkInterfaces":[
{
"network":"NETWORK",
"nicType":"GVNIC",
"subnet":"SUBNET_NAME"
}
],
"disks":[
{
"initializeParams":{
"sourceImage":"projects/YOUR_IMAGE_PROJECT/global/images/IMAGE_NAME"
},
"boot":true
}
]
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המכונה הווירטואלית. -
ZONE: האזור שבו רוצים ליצור את המכונה הווירטואלית. -
VM_NAME: השם של ה-VM החדש. -
NETWORK: כתובת ה-URL של משאב הרשת של המכונה הווירטואלית הזו. אם לא מציינים רשת או רשת משנה, נעשה שימוש ברשת ברירת המחדלglobal/networks/default. -
SUBNET_NAME: שם תת-הרשת. הרשת מוסקת מרשת המשנה שצוינה. השדה הזה אופציונלי. -
YOUR_IMAGE_PROJECT: השם של הפרויקט שמכיל את תמונת מערכת ההפעלה. -
IMAGE_NAME: קובץ האימג' של מערכת ההפעלה שנוצר בשלב הקודם.
אימות שה-gVNIC מופעל
Linux
אתם יכולים להשתמש בכלי lshw כדי לחלץ מידע מפורט על הגדרת החומרה של המכונה הווירטואלית.
כדי להתקין את הכלי lshw במופע של מכונה וירטואלית ב-Linux, פותחים חיבור SSH למכונה הווירטואלית ומריצים את הפקודה הבאה:
sudo apt-get install lshw -y
כדי לבדוק אם המכונה הווירטואלית משתמשת בממשק הרשת gVNIC, מריצים את הפקודה הבאה:
sudo lshw -class network
הפלט אמור להיראות כך:
*-network
description: Ethernet interface
product: Compute Engine Virtual Ethernet [gVNIC]
vendor: Google, Inc.
physical id: 3
bus info: pci@0000:00:03.0
logical name: ens3
version: 00
serial: 42:01:0a:80:00:6f
width: 32 bits
clock: 33MHz
capabilities: msix bus_master cap_list ethernet physical
configuration: autonegotiation=off broadcast=yes driver=gve driverversion=1.0.0
duplex=full ip=10.128.0.111 latency=0 link=yes multicast=yes port=twisted pair
resources: irq:11 memory:c0203000-c0203fff memory:c0200000-c02000ff memory:c0100000-c01fffff
Windows
- במופע של מכונת Windows וירטואלית, פותחים את 'ניהול המכשירים'.
- בקטע Network Adapters (מתאמי רשת), אמורים להופיע:
"Google Ethernet Adapter"
פתרון בעיות
מידע על פתרון בעיות ב-gVNIC זמין במאמר בנושא פתרון בעיות ב-Google Virtual NIC.