אשכולות אזוריים

בדף הזה מוסבר איך פועלים אשכולות אזוריים ב-Google Kubernetes Engine‏ (GKE).

אשכולות אזוריים מגדילים את הזמינות של אשכול על ידי שכפול של מישור הבקרה בכמה אזורים באזור.

ההגדרה הזו מספקת את היתרונות הבאים:

  • עמידות מפני כשל בתחום יחיד: אשכולות אזוריים זמינים באזור ולא בתחום יחיד באזור. אם תחום יחיד הופך ללא זמין, מישור הבקרה לא מושפע.
  • שדרוגים שוטפים של מישור הבקרה, שינוי גודל של מישור הבקרה וצמצום זמן ההשבתה כתוצאה מכשלים במישור הבקרה. באשכולות אזוריים יש עותקים מיותרים של רמת הבקרה, ולכן זמינות גבוהה יותר של Kubernetes API. כך אפשר לגשת לרמת הבקרה גם במהלך שדרוגים.

בנוסף, כברירת מחדל, אשכולות אזוריים נוצרים כאשכולות עם כמה אזורים, כך שצמתי העובדים מפוזרים על פני כמה אזורים באזור. הגדלת מספר הרפליקות של עומס העבודה משפרת את הזמינות שלו.

אשכולות GKE Autopilot הם תמיד אזוריים. אם אתם משתמשים ב-GKE Standard, אתם יכולים לבחור ליצור אשכולות אזוריים או אשכולות אזוריים. מידע על סוגי הזמינות השונים של אשכולות זמין במאמר זמינות של אשכולות.

באשכולות אזוריים, כולל אשכולות Autopilot, מישור הבקרה משוכפל בכמה אזורים באזור. ‫GKE משכפל באופן אוטומטי צמתים באזורים שונים באותו אזור. במאגרי צמתים ובאשכולות רגילים, אפשר לציין באופן ידני את האזורים שבהם הצמתים פועלים. כל האזורים צריכים להיות באותו אזור כמו מישור הבקרה.

אחרי שיוצרים אשכול אזורי, אי אפשר לשנות אותו לאשכול אזורי.

איך פועלים אשכולות אזוריים

באשכולות אזוריים, רמת הבקרה והצמתים של האשכול משוכפלים בכמה אזורים בתוך אזור אחד. לדוגמה, אם משתמשים בהגדרת ברירת המחדל, אשכול אזורי באזור us-east1 יוצר כמה עותקים של מישור הבקרה באזורים שונים של us-east1 ומקצה צמתים בשלושה אזורים של us-east1: us-east1-b,‏ us-east1-c ו-us-east1-d. במקרה של הפסקת פעילות בתשתית, עומסי העבודה של Autopilot ממשיכים לפעול ו-GKE מבצע איזון מחדש של הצמתים באופן אוטומטי. אם אתם משתמשים באשכולות רגילים, אתם צריכים לאזן מחדש את הצמתים באופן ידני או באמצעות Cluster Autoscaler.

מגבלות

  • מאגר הצמתים שנוצר כברירת מחדל עבור אשכולות אזוריים רגילים מורכב מתשעה צמתים (שלושה לכל אזור) שמתפרסים באופן שווה על פני שלושה אזורים באזור. השימוש הזה צורך תשע כתובות IP לאשכולות שמשתמשים בצמתים ציבוריים. אם צריך, אפשר לצמצם את מספר הצמתים לאחד לכל אזור. בחשבונות חדשים לחיוב ב-Cloud מקבלים רק שמונה כתובות IP לכל אזור, ולכן יכול להיות שתצטרכו לבקש הגדלה של המכסות של כתובות IP אזוריות שנמצאות בשימוש, בהתאם לגודל האשכול האזורי. אם יש לכם מעט מדי כתובות IP זמינות שנמצאות בשימוש, יצירת האשכול תיכשל.

  • כדי להפעיל GPU באשכול האזורי, צריך לבחור אזור שיש בו לפחות תחום אחד שבו ה-GPU המבוקש זמין. כשיוצרים את מאגר הצמתים, צריך להשתמש בדגל --node-locations כדי לציין את האזור או האזורים שמכילים את יחידות ה-GPU המבוקשות.

    אם באזור שבחרתם אין לפחות אזור אחד שבו כרטיסי ה-GPU המבוקשים זמינים, יכול להיות שתופיע שגיאה כמו זו שבהמשך:

    
    ERROR: (gcloud.container.clusters.create) ResponseError: code=400, message=
        Accelerator type "nvidia-l4" does not exist in zone europe-west3-a.
    

    רשימה מלאה של האזורים והתחומים שבהם יחידות ה-GPU זמינות מופיעה במאמר יחידות GPU ב-Compute Engine.

  • האזורים של מאגרי הצמתים במצב Standard צריכים להיות באותו אזור כמו מישור הבקרה של האשכול. אם צריך, אפשר לשנות את האזורים של אשכול, וכך כל הצמתים החדשים והקיימים יתפרסו על פני האזורים האלה.

תמחור

כל אשכולות Autopilot הם אזוריים, והם כפופים למודל התמחור של Autopilot.

במצב רגיל, אשכולות אזוריים דורשים יותר מהמכסות האזוריות של הפרויקט מאשר אשכול דומה של אזור או של כמה אזורים. לפני שמשתמשים באשכולות אזוריים, חשוב להבין את המכסות ואת התמחור הרגיל. אם נתקלתם בשגיאה Insufficient regional quota to satisfy request for resource, סימן שהבקשה שלכם חורגת מהמכסה הזמינה באזור הנוכחי.

בנוסף, תחויבו על תעבורה מצומת לצומת באזורים שונים. לדוגמה, אם עומס עבודה שפועל באזור אחד צריך לתקשר עם עומס עבודה באזור אחר, תעבורת הנתונים בין האזורים כרוכה בעלות. מידע נוסף מופיע בסעיף תעבורת נתונים יוצאת בין תחומים באותו אזור (לכל GB) בדף התמחור של Compute Engine.

אחסון מתמיד באשכולות אזוריים

דיסקים לאחסון מתמיד של תחום מוגדר הם משאבים של תחום מוגדר, ודיסקים לאחסון מתמיד אזוריים הם משאבים של כמה תחומים. כשמוסיפים אחסון מתמיד, אם לא מציינים אזור, GKE מקצה את הדיסק לאזור אקראי יחיד. מידע נוסף על שליטה באזורים זמין במאמר אזורים בדיסקים קשיחים קבועים.

התאמה אוטומטית לעומס באשכולות אזוריים

כשמשתמשים במידרוג אוטומטי של אשכולות כדי לשנות באופן אוטומטי את גודל מאגרי הצמתים באשכולות אזוריים במצב רגיל, חשוב לזכור את הנקודות הבאות.

אפשר גם לקרוא מידע נוסף על מגבלות של התאמה אוטומטית לעומס באשכולות אזוריים או על האופן שבו מידרוג אוטומטי של אשכולות מאזן בין אזורים.

ההמלצות האלה רלוונטיות רק לאשכולות במצב Standard עם התכונה לשינוי גודל האשכול באופן אוטומטי.

מגבלות על הקצאת יתר של משאבים

כדי לשמור על הקיבולת במקרה לא סביר של כשל אזורי, אתם יכולים לאפשר ל-GKE להקצות יתר של מגבלות הגידול, כדי להבטיח רמת זמינות מינימלית גם כשחלק מהאזורים לא זמינים.

לדוגמה, אם אתם מקצים יותר מדי משאבים לאשכול עם שלוש אזורים עד ל-150% (50% קיבולת עודפת), אתם יכולים לוודא ש-100% מהתנועה מנותבת לאזורים זמינים אם שליש מהקיבולת של האשכול אובדת. בדוגמה הקודמת, כדי להשיג את זה, צריך לציין מקסימום של שישה צמתים לכל אזור במקום ארבעה. אם אזור אחד נכשל, האשכול יתרחב ל-12 צמתים באזורים הנותרים.

באופן דומה, אם אתם מקצים יותר מדי משאבים לאשכול עם שני אזורים עד לרמה של 200%, אתם יכולים להבטיח ש-100% מהתעבורה ינותבו מחדש אם מחצית מהקיבולת של האשכול תאבד.

מידע נוסף על המידרוג האוטומטי של אשכולות זמין במסמכי התיעוד של Kubernetes, וגם שאלות נפוצות בנושא מידרוג אוטומטי.

המאמרים הבאים