במסמך הזה מוסבר איך להגדיר קבוצות של נקודות קצה ברשת (NEG) לפי אזור. לפני שאתם מגדירים קבוצות NEG אזוריות, קראו את הסקירה הכללית על קבוצות של נקודות קצה ברשת.
קבוצות NEG אזוריות עם GCE_VM_IP נקודות קצה (endpoint)
אפשר להשתמש בהן כקצוות עורפיים לשירותי קצה עורפי במאזני עומסי רשת פנימיים להעברת סיגנל ללא שינוי ובמאזני עומסי רשת אזוריים חיצוניים להעברת סיגנל ללא שינוי.
דוגמאות מקצה לקצה:
- הגדרת מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי עם קצוות עורפיים של קבוצות NEG אזוריות
- הגדרת מאזן עומסי רשת חיצוני אזורי להעברת סיגנל ללא שינוי עם קצוות עורפיים של קבוצות NEG אזוריות
קבוצות NEG אזוריות עם GCE_VM_IP_PORT נקודות קצה (endpoint)
אפשר להשתמש בהם כקצוות עורפיים לשירותי קצה עורפי בסוגים הבאים של מאזני עומסים:
- מאזן עומסים חיצוני של אפליקציות (ALB)
- מאזן עומסים פנימי של אפליקציות (ALB)
- מאזן עומסי רשת חיצוני לשרת proxy
- מאזן עומסי רשת פנימי לשרת proxy
תרחיש השימוש העיקרי בקבוצות NEG אזוריות של GCE_VM_IP_PORT הוא איזון עומסים מקורי בקונטיינרים, כדי שתוכלו לפזר את התנועה בין מיקרו-שירותים שפועלים בקונטיינרים במכונות הווירטואליות שלכם. איזון עומסים שמקורם בקונטיינר מאפשר למאזני העומסים לטרגט Pods באופן ישיר, ולקבל החלטות לגבי חלוקת העומסים ברמת ה-Pod במקום ברמת ה-VM.
יש שתי דרכים להגדיר איזון עומסים ברמת הקונטיינר: שימוש ב-NEG שמנוהלים על ידי GKE Ingress, או שימוש ב-NEG עצמאיים.
הוראות מפורטות במאמרים הבאים:
- איזון עומסים שמקורם בקונטיינר באמצעות Ingress
- איזון עומסים שמקורם בקונטיינר באמצעות קבוצות NEG עצמאיות באזורים
הגדרת קבוצות NEG אזוריות
בהמשך הדף מוסבר איך להגדיר קבוצות NEG אזוריות לפני או אחרי שיצרתם מאזן עומסים. חשוב לדעת שחלק מהפעולות האלה לא רלוונטיות לקבוצות NEG אזוריות שנוצרו ומנוהלות על ידי Ingress.
יצירת קבוצה של נקודות קצה ברשת לפי אזור
המסוף
כדי ליצור קבוצה של נקודות קצה ברשת לפי אזור:
- נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
כניסה לדף Network Endpoint Groups - לוחצים על Create network endpoint group.
- בשדה Network endpoint group type, בוחרים באפשרות Network endpoint type: Zonal.
- מזינים את השם של קבוצת נקודות הקצה ברשת.
- בשדה Network endpoint type, בוחרים באפשרות Network endpoint group (Zonal).
- בוחרים את סוג נקודות הקצה בהתאם לסוג מאזן העומסים שבו משתמשים.
- בוחרים את הרשת.
- בוחרים את Subnetwork.
- בוחרים את Zone.
- בקבוצות NEG אזוריות עם נקודות קצה מסוג
GCE_VM_IP_PORTבלבד, מזינים Default port. - לוחצים על יצירה.
gcloud
יצירת קבוצת NEG אזורית של GCE_VM_IP_PORT
gcloud compute network-endpoint-groups create NEG_NAME \
--zone=ZONE \
--network=NETWORK
[--subnet=SUBNET]
[--default-port=DEFAULT_PORT]
בפקודה הזו, הדגלים מוגדרים באופן הבא:
-
NEG_NAMEהוא השם של קבוצת נקודות הקצה החדשה ברשת. השם חייב להיות ייחודי באזור. -
ZONEהוא שם האזור שבו נוצרה קבוצת נקודות הקצה ברשת. -
NETWORKהוא שם הרשת שבה נוצרה קבוצת נקודות הקצה ברשת. אם משמיטים את הפרמטר, Google Cloud משתמש ברשת בשםdefault. -
SUBNETהוא השם של רשת המשנה שאליה שייכות נקודות הקצה של הרשת. הדגל הזה הוא אופציונלי אם הרשת היא רשת VPC במצב אוטומטי. אם לא מציינים את הפרמטר, קבוצת נקודות הקצה של הרשת נמצאת ברשת המשנה שנוצרה באופן אוטומטי באזור של המיקום שנבחר. הדגל נדרש אם הרשת היא VPC במצב מותאם אישית, או אם צריך לציין רשת משנה שנוצרה באופן ידני. -
DEFAULT_PORTהיא יציאת ברירת המחדל שמשויכת ל-NEG. הדגל הזה אופציונלי. אם לא מציינים את המאפיין, צריך לציין את כל נקודות הקצה לפי IP:port. אם כוללים את האפשרות הזו, אפשר להשמיט את החלקportמהמפרט של נקודת הקצה, והמערכת תניח שמדובר ביציאת ברירת המחדל.
יצירת קבוצת NEG אזורית של GCE_VM_IP
כדי ליצור קבוצת נקודות קצה ברשת (NEG) אזורית של GCE_VM_IP, צריך לציין את network-endpoint-type כמו שמוצג כאן:
gcloud compute network-endpoint-groups
create
gcloud compute network-endpoint-groups create NEG_NAME \
--network-endpoint-type=gce-vm-ip \
--zone=ZONE \
--network=NETWORK
--subnet=SUBNET
בפקודה הזו, הדגלים מוגדרים באופן הבא:
-
NEG_NAMEהוא השם של קבוצת נקודות הקצה החדשה ברשת. השם חייב להיות ייחודי באזור. -
ZONEהוא שם האזור שבו נוצרה קבוצת נקודות הקצה ברשת. -
NETWORKהוא שם הרשת שבה נוצרה קבוצת נקודות הקצה ברשת. -
SUBNETהוא השם של רשת המשנה שאליה שייכות נקודות הקצה של הרשת.
הוספת נקודות קצה לקבוצה של נקודות קצה ברשת
המסוף
כדי להוסיף נקודות קצה לקבוצה של נקודות קצה ברשת:
- נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
כניסה לדף Network Endpoint Groups - לוחצים על Name של קבוצת נקודות הקצה ברשת שרוצים להוסיף לה נקודות קצה. מוצג הדף Network endpoint group details.
- בקטע Network endpoints in this group, לוחצים על Add network endpoint. מוצג הדף Add network endpoint.
- בוחרים מכונה וירטואלית כדי להוסיף את כתובות ה-IP הפנימיות שלה כנקודות קצה של הרשת, ולוחצים על Add. יוצגו ממשק הרשת, האזור, רשת המשנה וכתובת ה-IP הפנימית של ממשק ה-VM שהוקצה לנקודת הקצה.
- אם יש לכם קבוצות NEG אזוריות עם נקודות קצה (endpoints) מסוג
GCE_VM_IP_PORTבלבד, בצעו את הפעולות הבאות:- מזינים את כתובת ה-IP של נקודת הקצה החדשה ברשת.
- בוחרים את סוג היציאה.
- אם בוחרים באפשרות Default, נקודת הקצה משתמשת ביציאה שמוגדרת כברירת מחדל לכל נקודות הקצה בקבוצת נקודות הקצה ברשת.
- אם בוחרים באפשרות Custom, מזינים את מספר היציאה של נקודת הקצה שבה רוצים להשתמש.
- כדי להוסיף עוד נקודות קצה, לוחצים על Add network endpoint וחוזרים על שלבים 5 ו-6.
- אחרי שמוסיפים את כל נקודות הקצה שצריך, לוחצים על יצירה.
gcloud
הוספת נקודות קצה ל-NEG אזורי של GCE_VM_IP
כדי להוסיף נקודות קצה ל-NEG אזורי של GCE_VM_IP, מריצים את הפקודה gcloud compute network-endpoint-groups update. אפשר להוסיף נקודות קצה (endpoint) של IPv4 ו-IPv6 ל-NEG אזורי של GCE_VM_IP.
מוסיפים נקודות קצה (endpoint) מסוג IPv4 לקבוצת נקודות הקצה ברשת:
gcloud compute network-endpoint-groups update NEG_NAME \
--zone=ZONE \
--add-endpoint 'instance=INSTANCE_NAME,[ip=IPv4_ADDRESS]' \
[--add-endpoint ...]
מוסיפים נקודות קצה (endpoint) של IPv6 לקבוצת נקודות הקצה ברשת:
gcloud compute network-endpoint-groups update NEG_NAME \
--zone=ZONE \
--add-endpoint 'instance=INSTANCE_NAME,[ipv6=IPv6_ADDRESS]' \
[--add-endpoint ...]
מחליפים את מה שכתוב בשדות הבאים:
-
NEG_NAME: השם של ה-NEG -
ZONE: שם האזור שבו נמצאת קבוצת נקודות הקצה ברשת (NEG) -
INSTANCE_NAME: השם של המכונה הווירטואלית שאליה שייכת כתובת ה-IP. -
IPv4_ADDRESS: כתובת ה-IPv4 הפנימית הראשית של ממשק רשת -
IPv6_ADDRESS: כתובת ה-IPv6 הראשונה (/128) מטווח/96שהוקצה לממשק רשת של VM
אם לא מציינים את כתובת ה-IP, היא נבחרת על סמך ממשק הרשת שנמצא ברשת המשנה של ה-NEG. מידע נוסף על כתובת ה-IP שנבחרה זמין במאמר מפרטי נקודות קצה לקבוצות NEG של GCE_VM_IP לפי אזור.
הוספת נקודות קצה ל-NEG אזורי של GCE_VM_IP_PORT
כדי להוסיף נקודות קצה ל-NEG אזורי של GCE_VM_IP_PORT, מריצים את הפקודה gcloud compute network-endpoint-groups update.
אפשר להוסיף נקודות קצה מסוג IPv4, IPv6 ו-dual-stack ל-NEG אזורי של GCE_VM_IP_PORT.
מוסיפים נקודות קצה (endpoint) מסוג IPv4 לקבוצת נקודות הקצה ברשת:
gcloud compute network-endpoint-groups update NEG_NAME \
--zone=ZONE \
--add-endpoint 'instance=INSTANCE_NAME,[ip=IPv4_ADDRESS],[port=PORT]' \
[--add-endpoint ...]
מוסיפים נקודות קצה (endpoint) של IPv6 לקבוצת נקודות הקצה ברשת:
gcloud compute network-endpoint-groups update NEG_NAME \
--zone=ZONE \
--add-endpoint 'instance=INSTANCE_NAME,[ipv6=IPv6_ADDRESS],[port=PORT]' \
[--add-endpoint ...]
מוסיפים נקודות קצה עם מחסנית כפולה לקבוצת נקודות הקצה ברשת:
gcloud compute network-endpoint-groups update NEG_NAME \
--zone=ZONE \
--add-endpoint 'instance=INSTANCE_NAME,[ip=IPv4_ADDRESS],[ipv6=IPv6_ADDRESS],[port=PORT]' \
[--add-endpoint ...]
מחליפים את מה שכתוב בשדות הבאים:
-
NEG_NAME: השם של ה-NEG -
ZONE: שם האזור שבו נמצאת קבוצת נקודות הקצה ברשת (NEG) -
INSTANCE_NAME: השם של המכונה הווירטואלית שאליה שייכת כתובת ה-IP -
IPv4_ADDRESS: כתובת ה-IPv4 הפנימית הראשית של ממשק רשת, או כתובת IPv4 פנימית מטווח כתובות ה-IP החלופיות שהוקצו לממשק רשת של VM -
IPv6_ADDRESS: כל כתובת IPv6 (/128) מטווח/96שמוקצה לממשק רשת של VM
PORT: היציאה של נקודת הקצה ברשת שנוספת. היציאה היא אופציונלית אם יציאת ברירת המחדל צוינה ב-NEG. השדה הזה לא נתמך בקבוצות NEG אזוריות עם נקודות קצה מסוגGCE_VM_IP.אם לא מציינים את כתובת ה-IP, היא נבחרת על סמך ממשק הרשת שנמצא ברשת המשנה של ה-NEG. מידע נוסף על כתובת ה-IP שנבחרה זמין במאמר מפרטי נקודות קצה לקבוצות NEG של
GCE_VM_IP_PORTבאזורים.
בדוגמה הבאה, נקודות קצה (endpoints) של IPv4 נוספות ל-NEG אזורי של GCE_VM_IP_PORT:
gcloud compute network-endpoint-groups update my-lb-neg \
--zone=asia-southeast1-a \
--add-endpoint 'instance=my-vm1,ip=10.1.1.1,port=80'
לפרטים נוספים, קראו את הסקירה הכללית על קבוצות של נקודות קצה ברשת לפי אזור.
הוספת קבוצת NEG אזורית לשירות לקצה העורפי
המסוף
כדי להוסיף קבוצה של נקודות קצה ברשת לשירות לקצה העורפי:
- נכנסים לדף Load balancing במסוף Google Cloud .
כניסה לדף Load balancing - לוחצים על השם של מאזן העומסים שרוצים לערוך את שירות הקצה העורפי שלו.
- בדף פרטי מאזן העומסים, לוחצים על עריכה .
- בדף Edit load balancer, לוחצים על Backend configuration.
- בדף Backend configuration, לוחצים על סמל העריכה Edit.
- לוחצים על +Add backend.
- בוחרים באפשרות Zonal network endpoint group ולוחצים על Done.
- לוחצים על עדכון.
gcloud
כדי להוסיף NEG לשירות לקצה העורפי:
gcloud compute backend-services add-backend BACKEND_SERVICE \
--network-endpoint-group=NETWORK_ENDPOINT_GROUP \
--network-endpoint-group-zone=ZONE
לדוגמה, כדי להוסיף קבוצת NEG אזורית של GCE_VM_IP_PORT לשירות לקצה העורפי:
gcloud compute backend-services add-backend my-lb \ --network-endpoint-group my-lb-neg \ --network-endpoint-group-zone=asia-southeast1-a \ --global \ --balancing-mode=RATE \ --max-rate-per-endpoint=5
הסרת NEG משירות לקצה העורפי
המסוף
- נכנסים לדף Load balancing במסוף Google Cloud .
כניסה לדף Load balancing - לוחצים על השם של מאזן העומסים שרוצים לערוך את שירות הקצה העורפי שלו.
- בדף פרטי מאזן העומסים, לוחצים על עריכה .
- בדף Edit load balancer, לוחצים על Backend configuration.
- בדף Backend configuration, לוחצים על Edit בשירות לקצה העורפי שממנו רוצים להסיר את ה-NEG.
- בקטע Backend, מאתרים את ה-NEG שרוצים להסיר ולוחצים על סמל פח האשפה של אותו NEG.
- לוחצים על עדכון.
gcloud
כדי להסיר NEG משירות לקצה העורפי:
gcloud compute backend-services remove-backend BACKEND_SERVICE \
--network-endpoint-group=NETWORK_ENDPOINT_GROUP \
--network-endpoint-group-zone=NETWORK_ENDPOINT_GROUP_ZONE
לדוגמה:
gcloud compute backend-services remove-backend my-lb \
--network-endpoint-group=my-lb-neg \
--network-endpoint-group-zone=asia-southeast1-a
הסרת נקודות קצה מקבוצה של נקודות קצה ברשת
כשמסירים נקודת קצה ברשת מ-NEG של איזון עומסים, מופעל זמן להשלמת תהליך (connection draining) על סמך הפרמטרים של זמן ההשלמה שצוינו בשירות לקצה העורפי. אם כמה שירותים לקצה העורפי מתייחסים לאותה קבוצת NEG, המערכת מחילה את מרווח הזמן המקסימלי לניקוז החיבורים מבין כל השירותים לקצה העורפי.
המסוף
כדי להסיר נקודות קצה מקבוצה של נקודות קצה ברשת:
- נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
כניסה לדף Network Endpoint Groups - לוחצים על Name של קבוצת נקודות הקצה ברשת שרוצים למחוק ממנה נקודות קצה. הדף Network endpoint group detail נפתח.
- בוחרים את נקודות הקצה של הרשת שרוצים למחוק ולוחצים על Remove endpoint.
gcloud
כדי להסיר נקודות קצה מקבוצה של נקודות קצה ברשת:
gcloud compute network-endpoint-groups update NEG_NAME \ --zone=ZONE \ --remove-endpoint 'instance=INSTANCE_NAME,[ip=IP],[port=PORT]' \ [--remove-endpoint ...]
לדוגמה, כדי להסיר נקודת קצה מ-NEG אזורי של GCE_VM_IP_PORT:
gcloud compute network-endpoint-groups update my-lb-neg \
--remove-endpoint 'instance=my-vm1,ip=10.1.1.1,port=80' \
--zone=asia-southeast1-a
הצגת רשימה של קבוצות של נקודות קצה ברשת (NEG)
המסוף
כדי לראות רשימה של קבוצות של נקודות קצה ברשת, נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
כניסה לדף Network Endpoint Groups
gcloud
כדי להציג רשימה של קבוצות נקודות קצה ברשת:
gcloud compute network-endpoint-groups list
תיאור של קבוצה ספציפית של נקודות קצה ברשת
המסוף
כדי לקבל את הפרטים של קבוצה ספציפית של נקודות קצה ברשת:
- נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
כניסה לדף Network Endpoint Groups - לוחצים על השם של קבוצת נקודות הקצה ברשת שרוצים לראות את הפרטים שלה.
gcloud
כדי לקבל את הפרטים של קבוצה ספציפית של נקודות קצה ברשת:
gcloud compute network-endpoint-groups describe NEG_NAME \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
-
NEG_NAME: השם של קבוצת נקודות הקצה ברשת -
ZONE: השם האופציונלי של האזור שבו נוצרה קבוצת ה-NEG.
לדוגמה, הפקודה הבאה של gcloud מציגה מידע על קבוצת נקודות הקצה ברשת my-lb-neg.
gcloud compute network-endpoint-groups describe my-lb-neg \
--zone=asia-southeast1-a
הפלט של הפקודה הוא:
creationTimestamp: '2018-04-09T14:51:34.381-07:00'
id: '5260475207627726473'
kind: compute#networkEndpointGroup
loadBalancer:
defaultPort: 80
network: https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/networks/default
zone: https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/asia-southeast1-a
הסרה של קבוצות נקודות קצה ברשת
אי אפשר למחוק קבוצה של נקודות קצה (endpoint) ברשת אם היא מצורפת לשירות לקצה העורפי. לפני שמוחקים NEG, צריך לוודא שהוא מנותק משירות הקצה העורפי.
כשמוחקים מכונה וירטואלית, כל נקודות הקצה של הרשת במכונה מוסרות מיד מקבוצת נקודות הקצה ברשת, וכל החיבורים נסגרים. אם מוחקים קבוצת נקודות קצה לרשת אחרי שמוחקים שירות לקצה העורפי, כל נקודות הקצה בקבוצה הזו יוסרו בלי זמן להשלמת תהליך (connection draining).
המסוף
כדי להסיר קבוצה של נקודות קצה ברשת משירות לקצה העורפי:
- נכנסים לדף Load balancing במסוף Google Cloud .
כניסה לדף Load balancing - לוחצים על השם של מאזן העומסים שרוצים לערוך את שירות הקצה העורפי שלו.
- בדף פרטי מאזן העומסים, לוחצים על עריכה .
- בדף Edit load balancer, לוחצים על Backend configuration.
- בדף Backend configuration, לוחצים על Edit בשירות לקצה העורפי שממנו רוצים להסיר את ה-NEG.
- בקטע Backend, מאתרים את ה-NEG שרוצים להסיר ולוחצים על סמל פח האשפה של אותו NEG.
- לוחצים על עדכון.
כדי למחוק קבוצה של נקודות קצה (endpoint) ברשת:
- נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
כניסה לדף Network Endpoint Groups - מאתרים את קבוצת נקודות הקצה של הרשת שרוצים למחוק.
- לוחצים על סמל פח האשפה בשורה הזו.
gcloud
כדי להסיר קבוצה של נקודות קצה ברשת משירות לקצה העורפי:
gcloud compute backend-services remove-backend BACKEND_SERVICE \
--network-endpoint-group=NETWORK_ENDPOINT_GROUP \
--network-endpoint-group-zone=ZONE
כדי למחוק קבוצה של נקודות קצה (endpoint) ברשת:
gcloud compute network-endpoint-groups delete NEG_NAME \
--zone=ZONE
לדוגמה:
gcloud compute backend-services remove-backend my-neg-backend \
--network-endpoint-group=my-lb-neg \
--network-endpoint-group-zone=southeast1-a
gcloud compute network-endpoint-groups delete my-lb-neg \
--zone=asia-southeast1-a
הצגת רשימה של נקודות קצה בקבוצה של נקודות קצה ברשת
המסוף
כדי להציג רשימה של נקודות קצה בקבוצת נקודות קצה ברשת:
- נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
כניסה לדף Network Endpoint Groups - לוחצים על Name של קבוצת נקודות הקצה ברשת שרוצים למחוק ממנה נקודות קצה. הדף Network endpoint group detail נפתח, ובו מופיעות נקודות הקצה של קבוצת נקודות הקצה.
- כדי לסנן את נקודות הקצה, יוצרים צמדי מפתח:ערך בשדה הטקסט בקטע Network endpoints in this group.
gcloud
כדי להציג את כל נקודות הקצה ברשת בקבוצה של נקודות קצה ברשת:
gcloud compute network-endpoint-groups list-network-endpoints NEG_NAME \
--zone=ZONE
סינון בהתאמה אישית כשמציגים נקודות קצה בקבוצה של נקודות קצה ברשת
אתם יכולים להשתמש במסנן בהתאמה אישית כדי להגביל את נקודות הקצה שמופיעות בקבוצת נקודות קצה ברשת. סינון בהתאמה אישית מופעל רק ב-API בארכיטקטורת REST. אי אפשר להשתמש בסינון בהתאמה אישית ממסוף Google Cloud או באמצעות ממשק שורת הפקודה של gcloud.
לפרטים, קראו את המאמר בנושא השיטה networkEndpointGroups.listNetworkEndpoints.
בדיקת תקינות של נקודות קצה ברשת
בשירותים לקצה העורפי עם קצוות עורפיים של קבוצות NEG אזוריות, צריך להשתמש בבדיקת תקינות שבה מפרט היציאה הוא:
- יציאה קבועה (ממוספרת) (
--port) - מוגדר להשתמש ביציאת השירות של נקודת הקצה ברשת (
--use-serving-port)
בדוגמה הבאה נוצרת בדיקת תקינות של HTTP שמשתמשת ביציאה למילוי הבקשה של נקודת הקצה ברשת עם הדגל --use-serving-port. שימו לב שהדגל --use-serving-port מוטמע עם gcloud compute
health-checks create, אבל לא עם gcloud compute health-checks update.
gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME
--use-serving-port
אי אפשר להשתמש בבדיקת תקינות מדור קודם עם קצה עורפי של NEG אזורי. מידע נוסף זמין במאמר מושגים בנושא בדיקת תקינות.