הגדרת מופעים של צרכני multicast
בדף הזה מוסבר איך להגדיר מכונות Compute Engine כך שיוכלו לקבל תנועת נתונים של Multicast. מופעים שמקבלים תנועת multicast נקראים צרכני multicast.
בדף הזה מוסבר איך להגדיר צרכני Multicast באופן הבא:
מפעילים שאילתת IGMP במופע חדש או קיים ומגדירים IGMPv2 במערכת ההפעלה של האורח.
השלמת השלבים האלה מאפשרת לאפליקציות שפועלות במופע שלכם להצטרף לקבוצות מולטיקאסט ולצאת מהן.
בהגדרות מולטיקאסט שבהן אדמין המולטיקאסט הגדיר מראש מדיניות מיקום, אתם יכולים להחיל את מדיניות המיקום על מופע חדש או קיים.
לצרכני Multicast שמקבלים נפח תעבורת נתונים גבוה, מומלץ להגדיל את גודל שטח האחסון הזמני של מנהל ההתקן של הרשת כדי למנוע אובדן מנות.
מידע נוסף על אופן הפעולה של IGMPv2 אחרי שמגדירים את המופע זמין במאמר איך IGMPv2 פועל.
לפני שמתחילים
לפני שיוצרים מופעים של צרכני Multicast, כדאי לעיין בקטעים הבאים.
בדיקת שיקולים לגבי מכונות ומערכות הפעלה עבור צרכני Multicast
כדי להבטיח ביצועים אופטימליים, כדאי לעיין בהנחיות הבאות וליצור את המופע בהתאם:
סוג המכונה: כדאי לעיין בהנחיות שמתוארות במאמר שיקולים לגבי מכונות עבור יצרנים וצרכנים של שידורי מולטיקאסט.
מערכת הפעלה (OS) ומנהל התקן של הרשת: אפשר לעיין בפרטים הבאים:
מומלץ להשתמש במערכת הפעלה Linux. מידע נוסף על מערכת ההפעלה
לצרכני מולטיקאסט שמקבלים נפח תעבורת נתונים גבוה, מומלץ להגדיל את שטח האחסון הזמני (ring buffer) של מנהל ההתקן ברשת לערך
2048, כדי למנוע אובדן מנות.אם אתם משתמשים במכונה וירטואלית (VM), כדאי לעיין בשיקולים הבאים לגבי מנהל ההתקן gVNIC:
יכול להיות שבגרסאות קודמות של מערכת ההפעלה לא נעשה שימוש בגרסת מנהל התקן של gVNIC שתומכת בהגדלת הגודל של שטח אחסון זמני. דוגמאות לגרסאות של מערכת הפעלה שתומכות בפונקציונליות הזו כברירת מחדל: RHEL 10, Rocky Linux 10 ו-Ubuntu 24.04.
אם אי אפשר להגדיל את גודל שטח האחסון הזמני של ה-ring כברירת מחדל, צריך קודם לשדרג ידנית את מנהל ההתקן gVNIC לגרסה 1.4.5 ואילך.
בדיקה אם יש מדיניות מיקום שהוגדרה מראש
אם האדמין של ה-Multicast הגדיר קבוצת דומיינים ל-Multicast עם יתירות, אז Google Cloud מספק באופן אוטומטי מדיניות מיקום אופציונלית, אלא אם האדמין של ה-Multicast השבית את המדיניות כשהוא הפעיל את הדומיין. כשמחילים את מדיניות המיקום הזו על מופעים חדשים או קיימים, מערכת Compute Engine מנסה למקם את המופעים כמה שיותר קרוב לתשתית של דומיין המולטיקאסט באזור המתאים.
כדי לבדוק אם מדיניות מיקום המודעה זמינה לכם:
צופים בפרטים של שיוך צרכן multicast לאזור שבו מתכננים ליצור את המכונה. איך צופים בשיוכים של צרכני multicast
אם הפלט מכיל שם של מדיניות מיקום בשדה
placementPolicy, אפשר להחיל את מדיניות המיקום כשיוצרים מכונה חדשה או כשמגדירים מכונה קיימת. חשוב לתעד את הערך כדי שתוכלו להשתמש בו בהמשך, כשמבצעים את הפעולות שמתוארות בדף הזה.
יצירת מופע של צרכן multicast
בקטע הזה מוסבר איך ליצור מכונה חדשה לשימוש כצרכן של שידור מרובה משתתפים על ידי הפעלת IGMP ושימוש במדיניות מיקום אופציונלית, אם רלוונטי.
למידע נוסף על יצירת מכונות, אפשר לעיין במאמר יצירת מכונה של Compute Engine והפעלה שלה.
gcloud
כדי ליצור מופע חדש של צרכן מולטיקאסט, משתמשים בפקודה
compute instances createומציינים את הדגלigmp-query:gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --network-interface=network=MULTICAST_CONSUMER_NETWORK,subnet=MULTICAST_CONSUMER_SUBNET,igmp-query=IGMP_QUERY_V2[,no-address] \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY_NAME \ --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \ [--maintenance-policy=MAINTENANCE_POLICY] \ [--resource-policies=PLACEMENT_POLICY_NAME] \ [--shielded-secure-boot] \ [--shielded-vtpm] \ [--shielded-integrity-monitoring]
מחליפים את הערכים הבאים:
-
INSTANCE_NAME: שם למכונה -
ZONE: האזור שבו רוצים ליצור את המכונה. אזור שבו הפעלתם את רשת ה-VPC של צרכן המולטיקאסט שמארחת את המופע. -
MULTICAST_CONSUMER_NETWORK, MULTICAST_CONSUMER_SUBNET: רשת ה-VPC ורשת המשנה של הצרכן בשידור מרובה משתתפים שבהן תתארח המכונה -
MACHINE_TYPE: סוג המכונה של המופע. אם עוד לא עשיתם את זה, כדאי לעיין בהנחיות שמתוארות במאמר שיקולים לגבי מכונות עבור יצרנים וצרכנים של שידורי מולטיקאסט. -
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, כמוubuntu-os-cloud.
IMAGE_FAMILY: משפחת התמונות, למשלubuntu-2404-lts-amd64.כשמציינים משפחת תמונות, המערכת יוצרת את המופע מהגרסה האחרונה של תמונת מערכת ההפעלה במשפחת התמונות, שלא הוצאה משימוש. אפשר גם להשתמש בדגל
--imageולציין גרסת תמונה.אם אתם משתמשים בסוג מכונה עם 48 vCPU או יותר, צריך להשאיר את הדגל
-network-performance-configsואת הערך שלו, שמפעיל את Tier_1 networking. אם אתם משתמשים בסוג מכונה עם 32 vCPU, צריך להסיר את הדגל הזה כי רשת Tier_1 לא נתמכת במכונות C4 עם 32 vCPU או פחות.אם יש מדיניות מיקום מודעה זמינה, אפשר ליצור את המופע עם מדיניות מיקום המודעה באמצעות הדגלים הבאים. מידע נוסף זמין במאמר בנושא החלת מדיניות מיקום קומפקטית במהלך יצירת מופע.
-
MAINTENANCE_POLICY: מדיניות התחזוקה של המארח של המופע. אם סוג המכונה שבחרתם לא תומך במיגרציה פעילה, אפשר לציין רק אתTERMINATE. אחרת, אפשר לצייןMIGRATEאוTERMINATE. לחלופין, כדי להשתמש במדיניות ברירת המחדל לתחזוקה עבור סוג האינסטנס, אפשר להשמיט את הדגל הזה. -
PLACEMENT_POLICY_NAME: השם של מדיניות המיקום מתוך הפלט של שיוך צרכן ה-multicast.
-
אפשר גם ליצור מכונה וירטואלית מוגנת ללא כתובת IP חיצונית באמצעות הפרמטרים
--shieldedו-no-address. מידע נוסף זמין במאמר מהי מכונה וירטואלית מוגנת?
-
פועלים לפי ההוראות להגדרת IGMPv2 במערכת ההפעלה של האורח.
פועלים לפי ההוראות כדי להגדיל את שטח האחסון הזמני של מנהל ההתקן של הרשת.
הגדרת מופע קיים כצרכן של שידור מרובה משתתפים
בקטע הזה מוסבר איך להגדיר מופע קיים כצרכן של שידור מרובה כתובות על ידי הפעלת IGMP ושימוש במדיניות מיקום אופציונלית, אם רלוונטי.
gcloud
כדי להגדיר מכונה קיימת כצרכן של שידור מרובה משתתפים, משתמשים בפקודה
compute instances network-interfaces updateומציינים את הדגלigmp-query.הפקודה הבאה מעדכנת את הממשק
nic0. כדי לציין ממשק אחר, משתמשים בדגל--network-interface.gcloud compute instances network-interfaces update INSTANCE_NAME \ --zone=ZONE \ --igmp-query=IGMP_QUERY_V2
מחליפים את הערכים הבאים:
-
INSTANCE_NAME: השם של המכונה -
ZONE: האזור של המכונה
-
אם יש מדיניות מיקום זמינה ואתם רוצים להחיל אותה על המכונה שלכם, כדאי לעיין במאמר בנושא החלת מדיניות מיקום קומפקטית על מכונה קיימת. בשם המדיניות, משתמשים בשם של מדיניות המיקום מהפלט של שיוך צרכן מולטיקאסט.
פועלים לפי ההוראות להגדרת IGMPv2 במערכת ההפעלה של האורח.
פועלים לפי ההוראות כדי להגדיל את שטח האחסון הזמני של מנהל ההתקן של הרשת.
אם סוג המכונה של המופע כולל 48 מעבדים וירטואליים ומעלה, צריך להפעיל את רשת Tier_1 כמו שמתואר במאמר עדכון מופע של Compute כדי לכלול רשת Tier_1.
הגדרת IGMPv2 במערכת ההפעלה של האורח
כדי להגדיר IGMPv2 במערכת ההפעלה של האורח במופע, מבצעים את הפעולות הבאות:
מתחברים למכונה באמצעות SSH.
מריצים את הפקודה הבאה ומזהים את השם של ממשק הרשת שמצורף לרשת משנה ברשת ה-VPC של צרכן המולטיקאסט.
sudo ifconfig
מריצים את הפקודה הבאה כדי להפעיל בכוח את IGMPv2.
sudo -i echo "2" > /proc/sys/net/ipv4/conf/NETWORK_INTERFACE_NAME/force_igmp_version
מחליפים את
NETWORK_INTERFACE_NAMEבשם של ממשק הרשת.
הגדלת הגודל של מאגר הנתונים הזמני של הרינג בדרייבר של הרשת
בקטע הזה מוסבר איך להגדיל את הגודל של שטח אחסון זמני של מנהל ההתקן של הרשת במופע.
בהתאם לגרסת מערכת ההפעלה שבה נעשה שימוש במופע, יכול להיות שתצטרכו לשדרג ידנית את מנהל ההתקן של gVNIC לגרסה 1.4.5 ואילך כדי להריץ את הפקודה הבאה בהצלחה.
לצרכני Multicast שמקבלים נפח תעבורת נתונים גבוה, כדאי להגדיל את גודל שטח האחסון הזמני של מנהל ההתקן של הרשת לערך של 2048 כדי למנוע אובדן מנות. דוגמה לפקודה:
sudo ethtool -G eth0 rx 2048 tx 2048
מידע נוסף זמין במאמר תכונות והגדרות לנהגים.
המאמרים הבאים
- כדי לבדוק במהירות את הגדרת ה-Multicast בלי להפעיל עומס עבודה של אפליקציה, אפשר להשתמש בכלי
iperfכמו שמתואר בפקודות לדוגמה לבדיקת תנועת Multicast.