פנימי ארכיטקטורה של Zevenet Load Balancer Enterprise Edition במרחב משתמשים וגרעינים

פורסם ב-2 בינואר, 2020

סקירה כללית

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

אדריכלות זבנט

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

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

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

איזון עומסים של זבנט במרחב משתמשים

מערכות המשנה בהן משתמשים במרחב המשתמשים הן:

ממשק משתמש באינטרנט: ממשק משתמש גרפי באינטרנט המשמש את המשתמשים לניהול התצורה והניהול של המערכת כולה, הוא מנוהל על ידי שרת אינטרנט HTTPS הצורך את ממשק ה- API של Zevenet עבור כל הפעולות המבוצעות במאזן העומסים.

ממשק API של Zevenet: או ממשק תוכנית Zevenet Application, שתוכנן בעקבות REST ו JSON ממשקים, הנצרכים באמצעות HTTPS, משתמשים בהם בממשקי משתמש שונים אחרים מנקודת המבט של המשתמש, כגון אינטרנט ממשק או ZCLI (ממשק שורת הפקודה Zevenet). כלי זה בודק כל פעולה נגד מערכת המשנה RBAC ואם הדבר מותר לבצע אותה בפעולה במכשיר Zevenet. ממשק ה- API מסוגל לחבר ולנהל כל תת-סביבת משתמשים אחרת המתוארת בתרשים.

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

LSLB - HTTP (S): מודול LSLB (Balancer Load Service Local) המורכב על ידי פרופיל HTTP (S) מבוצע במרחב משתמשים על ידי פרוקסי הפוך בשם Zproxy המסוגל לנהל יישומי תפוקה גבוהה ביעילות רבה. תת-מערכת זו מוגדרת על ידי ממשק ה- API והיא ניתנת להגנה על ידי מערכת המשנה IPDS (באמצעות רשימות BlackLists, כללי DoS, קבוצות RBL ו- WAF).

GSLB: מודול GSLB (Global Service Load Balancer) המיושם באמצעות מופע פרופיל GSLB מבוצע במרחב משתמשים על ידי תהליך שרת DNS הנקרא Gdnsd המסוגל לעבוד כשרת שמות DNS מתקדם עם מאפייני איזון עומסים. תת-מערכת זו מוגדרת על ידי ה- API והיא ניתנת להגנה על ידי מערכת המשנה IPDS (באמצעות BlackLists, DoS ו- RBL).

בדיקות בריאות: תת-מערכת זו מוגדרת על ידי ה- API ומשמשת את כל מודולי איזון העומסים (LSLB, GSLB ו- DSLB) לבדיקת תקינותם של המגבים. בדיקות פשוטות ומתקדמות מתבצעות כנגד הנדנדה ואז אם הסימון נכשל, הנדנדה של החווה הנתונה מסומנת כמטה ולא מועברת יותר תנועה עד שההמחאה עובדת שוב כנגד הנדנדה. שומר החוות אחראי לבדיקות אלה והוא מתוכנן ברמת גמישות גבוהה ויכולת התצורה.

מערכת קבצי תצורה: ספריה זו משמשת למטרות שמירת תצורה, כל שינוי בספריה זו ישוכפל לאשכול, אם שירות כזה מופעל.

Nftlb: תהליך מרחב משתמשים זה מנוהל על ידי מערכת המשנה API ומשמש לשתי מטרות עיקריות: LSLB - L4XNAT ניהול ותצורה של IPDS מודול תת-מערכת.

איזון עומסים בזוונט בחלל הליבה

מערכות המשנה בהן משתמשים בחלל הליבה הן:

Netfilter מערכת LSLB L4xNAT: מערכת המשנה Netfilter משמשת על ידי Nftlb למטרות איזון עומסים. תהליך Netfilter נטען בגרעין על ידי תהליך Nftlb זה כדי בנה איזון עומס L4 בעל ביצועים גבוהים. Nftlb טוען את כללי מאזן העומסים בגרעין בצורה יעילה לניהול מנות התנועה בצורה מיטבית ככל האפשר. בנוסף, Nftlb יטען את כללי Netfilter למניעת והגנה מפני פריצות (BlackLists, RBL ו- DoS).

רשימות IPDS שחורות: תת-מערכת זו משולבת במערכת Netfilter ומנוהלת על ידי Nftlb. זה מורכב מקבוצה של כללים שהוגדרו לפני שקובע מאזני העומס על מנת השחרר חיבורים עבור ה- IP המקור הנתון. באופן פנימי זה יוצר מערך של כללים המוזמנים לפי קטגוריה, מדינה, סוגי תוקף וכו 'ומתעדכנים על בסיס יומי.

IPDS RBL: באופן אנלוגי מקודמתה, תת-מערכת זו משולבת גם בנטפילטר ומנוהלת על ידי Nftlb. ה- IP של המקור נלכד לפני הקמת החיבור וניתוח האימות של ה- IP של הלקוח נגדו שירות DNS חיצוני. אם ה- IP נפתר, ה- IP מסומן כזדוני והחיבור יושמט.

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

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

מערכת ניתוב ו- DSLB: מערכות משנה אלה מנוהלות על ידי ה- API ומוגדרות במרחב הליבה. תת המשנה לניתוב בנויה עם iproute2 המאפשרת לנו לנהל טבלאות ניתוב מרובות לפי סדר כדי להימנע משמירה על מערך כללים מורכב לניתוב סטטיבנוסף, בזכות iproute2 נוצר המודול DSLB (Datalink Service Load Balancer) כדי לספק איזון עומסים של קישורים למעלה עם מספר שערים.

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

תיעוד נוסף

מדדי Zevenet zproxy, פרופיל LSLB-HTTP (S)
מדדי Zevenet nftlb, פרופיל LSLB - L4xNAT

תשתף:

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

האם המאמר הזה היה מועיל?

מאמרים נוספים