הדף הזה רלוונטי ל-Apigee, אבל לא ל-Apigee Hybrid.
לצפייה במאמרי העזרה של
Apigee Edge.
במאמר הזה מוסבר איך לבדוק ולשדרג קבוצות של מופעים מנוהלים ב-Compute Engine, שמנתבות תנועה צפונה ל-Apigee.
סקירה כללית
בחלק מהפריסות של Apigee, התנועה של שרתי ה-proxy מנותבת ממאזן עומסים דרך קבוצות של מכונות מנוהלות (MIG) ב-Compute Engine שפועלות בפרויקט, והבקשות מועברות לנקודת הקצה של סביבת זמן הריצה של Apigee, כולל איזון עומסים לכיוון צפון ובדיקות תקינות פעילות באמצעות Private Service Connect. Apigee לא מנהלת את קבוצות ה-MIG האלה. כדי לשמור על האבטחה והאמינות, אתם צריכים לעקוב אחרי קבוצות ה-MIG והמכונות הווירטואליות האלה, לנהל אותן ולשדרג אותן בעצמכם, בהתאם למחזור החיים של מערכת ההפעלה של Compute Engine.
כשהתמיכה במערכת ההפעלה מסתיימת, Compute Engine מסירה את הכינוי של משפחת קובצי האימג' למכונות וירטואליות חדשות. המכונות הווירטואליות הקיימות ב-MIG ממשיכות לפעול ולשרוד אירועי תחזוקה של מארחים בזמן אמת. עם זאת, אם קבוצת ה-MIG תנסה ליצור מכונה וירטואלית חדשה במהלך התאמה אוטומטית לעומס, תיקון תוכנה אוטומטי או החלפה הדרגתית, היצירה של המכונה הווירטואלית תיכשל כי משפחת קובצי האימג' של המקור לא נמצאת יותר. אם המכונות הווירטואליות התקינות של שרת ה-proxy לא זמינות, מאזן העומסים מחזיר שגיאות HTTP 502 Bad Gateway והתנועה ב-API נפסקת.
לפני שמתחילים
הפקודות במסמך הזה הן דוגמאות. יכול להיות שהפריסה שלכם תשתמש בתגי רשת, סוגי מכונות, גודלי דיסקים, מטא-נתונים או מספרים של מכונות וירטואליות שונים. קודם בודקים את ההגדרות הקיימות ומשנים את הדגלים של הפקודה בהתאם לסביבה.
מחליפים את ה-placeholders הבאים בפקודות לדוגמה בערכים מהסביבה שלכם:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud שבו נפרסו קבוצות ה-MIG והתבניות של הגדרות המכונה. -
REGION: האזור ב-Compute Engine של קבוצת ה-MIG. -
EXISTING_MIG_NAME: השם של קבוצת ה-MIG הקיימת. -
OLD_TEMPLATE_NAME: השם של התבנית של הגדרות המכונה שמצורפת ל-EXISTING_MIG_NAME. -
NEW_TEMPLATE_NAME: השם של התבנית החדשה של הגדרות המכונה שאתם יוצרים. -
VPC_NAME: השם של רשת ה-VPC שמשמשת את קבוצת ה-MIG. -
VPC_SUBNET: השם של רשת המשנה של ה-VPC ב-REGIONשמשמשת את ה-MIG. -
IMAGE_FAMILY: משפחה נתמכת של קובצי אימג' של מערכת ההפעלה מתוך פרטי מערכת ההפעלה של Compute Engine. -
IMAGE_PROJECT: פרויקט התמונה שמכיל אתIMAGE_FAMILY. -
APIGEE_ENDPOINT: כתובת ה-IP של היעד שהוגדרה במטא-נתונים שלENDPOINTבתבנית הקיימת של הגדרות המכונה. -
STARTUP_SCRIPT_URL: כתובת ה-URL של Cloud Storage שהוגדרה במטא-נתונים שלstartup-script-urlבתבנית הקיימת של הגדרות המכונה.
בדיקת קבוצות ה-MIG והתבניות של הגדרות המכונה
בדרך כלל, קבוצות MIG לניתוב של Apigee משתמשות בתג apigee-mig-proxy ובמטא-נתונים ENDPOINT. כדי לבדוק את קבוצות ה-MIG ואת התבניות של הגדרות המכונה:
-
מציגים את קבוצות ה-MIG בפרויקט ומזהים את תבניות המכונות שמצורפות אליהן:
gcloud compute instance-groups managed list --project=PROJECT_ID \ --format="table(name,region.basename(),zone.basename(),instanceTemplate.basename())"
-
בודקים את קובץ האימג' של מערכת ההפעלה בתבנית הקיימת של הגדרות המכונה. מוסיפים את
--region=REGIONאם התבנית היא אזורית:gcloud compute instance-templates describe OLD_TEMPLATE_NAME \ --project=PROJECT_ID \ --format="value(properties.disks[0].initializeParams.sourceImage)"
-
בודקים את סוג המכונה, הגדרת הדיסק, הרשת, רשת המשנה, התגים והמטא-נתונים של
OLD_TEMPLATE_NAMEכדי להתאים את ההגדרות האלה כשיוצרים את התבנית החדשה. מוסיפים את--region=REGIONאם התבנית היא אזורית:gcloud compute instance-templates describe OLD_TEMPLATE_NAME \ --project=PROJECT_ID \ --format="yaml(properties.machineType,properties.disks,properties.networkInterfaces,properties.tags,properties.metadata)"
יצירת תבנית חדשה של הגדרות מכונה והפעלת עדכון בהדרגה (rolling)
יוצרים תבנית חדשה של הגדרות מכונה עם משפחת קובצי אימג' של מערכת הפעלה נתמכת, ומתחילים עדכון בהדרגה (rolling) ב-MIG. שימוש ב---max-surge עם --max-unavailable=0 מקצה ומאמת מכונות וירטואליות חדשות לפני ניקוז והסרה של מכונות ישנות, וכך מונע שיבושים בתנועה גם אם המכונות הווירטואליות החדשות לא מופעלות בגלל מחסור במשאבים או שגיאה בהגדרה.
-
יוצרים תבנית חדשה של הגדרות מכונה. הפקודה הבאה היא דוגמה. צריך להתאים את הרשת, רשת המשנה, התגים, סוג המכונה, גודל הדיסק והמטא-נתונים להגדרות של התבנית הקיימת:
gcloud compute instance-templates create NEW_TEMPLATE_NAME \ --project=PROJECT_ID \ --region=REGION \ --network=VPC_NAME \ --subnet=VPC_SUBNET \ --tags=https-server,apigee-mig-proxy,gke-apigee-proxy \ --machine-type=e2-medium \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --boot-disk-size=20GB \ --no-address \ --metadata=ENDPOINT=APIGEE_ENDPOINT,startup-script-url=STARTUP_SCRIPT_URL
הפקודה הזו יוצרת תבנית גלובלית של הגדרות מכונה ב-
projects/PROJECT_ID/global/instanceTemplates/NEW_TEMPLATE_NAME. אם אתם מעדיפים ליצור תבנית של הגדרות מכונה אזורית, הוסיפו את--instance-template-region=REGIONוהשתמשו ב-projects/PROJECT_ID/regions/REGION/instanceTemplates/NEW_TEMPLATE_NAMEבשלב הבא. -
מתחילים עדכון בהדרגה (rolling) ב-MIG. משנים את הערך של
--max-surgeלפי הצורך, בהתאם לגודל ולמכסה של ה-MIG:gcloud compute instance-groups managed rolling-action start-update EXISTING_MIG_NAME \ --project=PROJECT_ID \ --region=REGION \ --version=template=projects/PROJECT_ID/global/instanceTemplates/NEW_TEMPLATE_NAME \ --max-surge=3 \ --max-unavailable=0
-
מוודאים שכל המכונות הווירטואליות ב-MIG מריצות את
NEW_TEMPLATE_NAMEומדווחות על סטטוסRUNNING:gcloud compute instance-groups managed list-instances EXISTING_MIG_NAME \ --project=PROJECT_ID \ --region=REGION
המאמרים הבאים
- העברת הניתוב לכיוון צפון ל-Private Service Connect
- הגדרת בדיקת תקינות פעילה ליתירות כשל אזורית באמצעות Private Service Connect
- השקת עדכונים לקבוצות MIG
- מחזור החיים של מערכות ההפעלה ב-Compute Engine
- פרטי מערכת ההפעלה של Compute Engine