בדף הזה מוסבר איך להגדיר מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי כך שהוא יירשם באופן אוטומטי ב-Service Directory.
כשיוצרים מאזן עומסים, אפשר לרשום אותו כנקודת קצה במרחב שמות ובשירות קיימים של Service Directory לפי בחירתכם. אחרי זה, אפליקציות לקוח יכולות להשתמש ב-Service Directory (באמצעות HTTP או gRPC) כדי לפתור את הכתובת של שירות מאזן העומסים בשרת proxy חיצוני ברשת ולהתחבר אליו ישירות.
מגבלות
יש מגבלות בשילוב של Service Directory עם מאזני עומסים חיצוניים של רשתות להעברת סיגנל ללא שינוי:
- רישום אוטומטי תומך רק במאזני עומסים חיצוניים בשכבה 4. אפשר לרשום שירותי איזון עומסים של Google Kubernetes Engine באמצעות השילוב של GKE. כדי לרשום מאזני עומסים חיצוניים אחרים, מאזני עומסים גלובליים, שערים ו-ingress של Google Kubernetes Engine, צריך להתקשר אל Service Directory API.
- אפשר להשתמש ברישום אוטומטי רק בזמן יצירת כלל ההעברה. אי אפשר להירשם אוטומטית באמצעות עדכון של Google Cloud CLI לכלל העברה שכבר קיימת.
- Service Directory לא מספק קישוריות, כלומר, למרות ש-Service Directory מאחסן את כתובת ה-IP הווירטואלית של מאזן עומסי הרשת החיצוני להעברת סיגנל ללא שינוי, חיפוש של מאזן עומסי הרשת החיצוני להעברת סיגנל ללא שינוי ב-Service Directory לא מבטיח שתוכלו להתחבר לכתובת ה-IP הווירטואלית.
לפני שמתחילים
כדי לבצע את ההוראות האלה, צריך:
צריך כבר להיות לכם מרחב שמות ושירות בספריית השירותים. אם לא, יוצרים מרחב שמות ושירות באמצעות התהליך שמתואר במאמר הגדרת Service Directory.
מרחב השמות והשירות של Service Directory צריכים להיות באותו פרויקט ואזור כמו כלל ההעברה של מאזן עומסי הרשת החיצוני להעברת סיגנל ללא שינוי שאתם יוצרים.
כדי ליצור כלל העברה במאזן עומסי רשת חיצוני מסוג העברת סיגנל ללא שינוי, צריך להגדיר מראש את המשאבים הנדרשים.
מידע על יצירת מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי זמין במאמר הגדרה של מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי.
הגדרת כללי העברה כדי לרשום מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי בספריית השירותים
כדי לרשום את מאזן העומסים החיצוני של הרשת להעברת סיגנל ללא שינוי בספריית השירותים, צריך להגדיר כלל העברה. בקטע הבא מוסבר איך לרשום מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי.
רישום של מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי
כדי לרשום מאזן עומסי רשת אזורי חיצוני להעברת סיגנל ללא שינוי, מריצים את הפקודה gcloud compute forwarding-rules
create ומגדירים את הדגל service-directory-registration:
gcloud beta compute forwarding-rules create FORWARDING_RULE_NAME \
--region=REGION \
--load-balancing-scheme=EXTERNAL \
--address=RESERVED_IP_ADDRESS \
--ip-protocol=PROTOCOL_TYPE \
--ports=PORT_NUMBER \
--backend-service=BACKEND_SERVICE_NAME \
--backend-service-region=REGION \
--service-directory-registration=SD_SERVICE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
FORWARDING_RULE_NAME: שם לכלל ההעברה שרוצים ליצור -
REGION: האזור שבו יוצרים את כלל ההעברה -
RESERVED_IP_ADDRESS: כתובת ה-IP שהכלל להעברת תנועה משרת -
PROTOCOL_TYPE: פרוטוקול ה-IP שהכלל אמור לשרת -
PORT_NUMBER: רשימה של יציאות מופרדות בפסיקים -
BACKEND_SERVICE_NAME: שירות הקצה העורפי היעד שמקבל את התנועה -
SD_SERVICE_NAME: השם המוגדר במלואו של שירות Service Directory שבו רוצים לרשום את נקודת הקצה. השירות הזה צריך להיות באותו פרויקט ואזור כמו כלל ההעברה שנוצר. לדוגמה: projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME.
אימות נקודת הקצה
לנקודות הקצה של Service Directory שנוצרות כשרושמים מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי יש את המאפיינים הבאים:
- לנקודת הקצה יש את אותו שם כמו לכלל ההעברה, עם מספר היציאה שצוין (
<forwarding rule name>-<port>). לדוגמה, אם יוצרים כלל העברהRULEעם--port=8080, מקבלים נקודת קצה בשםRULE-8080. באותו כלל, אם ציינתם שתי יציאות--port=8080, 8081, תקבלו שתי נקודות קצה,RULE-8080ו-RULE-8081. אם מציינים--port=ALL, נקודת הקצה של Service Directory נרשמת עם יציאה0. אם אתם הבעלים של מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי, אתם צריכים לוודא שמי שקורא ל-API יודע לאיזה פורט להתחבר. - אי אפשר לשנות או למחוק את נקודת הקצה באמצעות ה-API הציבורי של ספריית השירותים. נקודת הקצה נמחקת אוטומטית רק כשמוחקים את כלל ההעברה. המשמעות היא שאי אפשר למחוק את השירות ואת מרחב השמות שנקודת הקצה נמצאת בהם בזמן שכלל ההעברה קיים.
- נקודת הקצה עצמה לא מחויבת, אבל פרטי התמחור הרגילים חלים על כל קריאות ה-API לנקודת הקצה.
כדי לוודא שנקודת הקצה נוצרה, מפעילים את השירות בספריית השירותים. אמור להופיע נקודת קצה עם אותו שם כמו השם של כלל ההעברה עם מספר היציאה שצוין.
כדי לפתור את הבעיה בשירות בספריית השירותים, מריצים את הפקודה gcloud service-directory
services resolve:
gcloud service-directory services resolve SD_SERVICE_NAME \
--namespace=SD_NAMESPACE_NAME \
--location=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
SD_SERVICE_NAME: השם של שירות Service Directory שרוצים לפתור. הוא צריך להיות במרחב השמות של ספריית השירותים. -
SD_NAMESPACE_NAME: השם שנתתם למרחב השמות שמכיל את השירות. -
REGION: האזור Google Cloud שמכיל את מרחב השמות. האזור הזה צריך להיות זהה לאזור שבו יצרתם את כלל ההעברה.
הסרת המשאבים
כדי למחוק את המשאבים שיצרתם, פועלים לפי השלבים הבאים.
כדי למחוק את כלל ההעברה, מריצים את הפקודה
gcloud compute forwarding-rules delete:gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \ --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
FORWARDING_RULE_NAME: השם של כלל ההעברה שיצרתם -
REGION: האזור של כלל ההעברה
פרטים נוספים זמינים במאמר בנושא מחיקת כלל להעברה אוטומטית.
כדי לוודא שמחיקת כלל ההעברה מחקה באופן אוטומטי את נקודת הקצה מ-Service Directory, מריצים את הפקודה
gcloud service-directory services resolveשמתוארת בקטע אימות נקודת הקצה בשירות Service Directory.-
כדי למחוק את מרחב השמות ואת השירות של Service Directory, אפשר לעיין במאמר בנושא מחיקת משאבים.
המאמרים הבאים
- במאמר סקירה כללית על Service Directory תוכלו לקרוא סקירה כללית על השירות.
- כדי למצוא פתרונות לבעיות נפוצות שאולי תיתקלו בהן כשאתם משתמשים ב-Service Directory, אפשר לעיין במאמר פתרון בעיות.