Happy הוא כלי לתזמור קל של טופולוגיות רשת מדומות. השתמש בו לבדיקת פרוטוקולי רשת ותוכניות ביצוע מבוזרות אחרות במכונת פיתוח לינוקס אחת ללא שימוש בחומרת התקני IoT.
מה זה?
Happy מדמה טופולוגיות רשת מורכבות. במכונת לינוקס אחת, Happy יכול ליצור מספר צמתים עם ערימות רשת שאינן תלויות זו בזו. צמתים מסוימים עשויים להיות מחוברים לרשתות אשכול מדומות, אחרים עשויים להתחבר לרשת Wi-Fi, WAN (אינטרנט) או רשת סלולרית מדומה.
Happy מתייחס למקרי השימוש הבאים:
- בדיקת פרוטוקולי רשת ותוכניות ביצוע מבוזרות אחרות במכונת פיתוח לינוקס אחת ללא שימוש בחומרה
- ביצוע בדיקות פונקציונליות אוטומטיות ברשת
- הפעלת מספר רב של רשתות מקבילות במקביל באותה מערכת לשיפור תפוקת הבדיקות
Happy פותר בעיות אלה על ידי יצירת מופשטים טופולוגיים ברשת עם תקורה מינימלית של משתמשים. ניתן ליצור טופולוגיות מורכבות באמצעות שיחת פקודה פגז אחת. Happy תומך הן בשימוש אינטראקטיבי והן בתסריט אוטומטי.
השתמש בפקודות Happy shell כדי להגדיר, לבדוק ולבדוק את הקוד שלהם במהלך הפיתוח. לאחר מכן ניתן לתסריט את אותן תצורות רשת ותוכניות בדיקה ולהשתמש בהן בבדיקות אוטומטיות.
להתחיל
הדרך המהירה והקלה ביותר להתחיל עם Happy היא לעבור דרך Codelab. זה מעביר את המשתמש בכל יסודות ה- Happy, כולל:
- יצירה ומחיקה של טופולוגיה
- צמתים ברשת יחד
- שמירה ושחזור טופולוגיות
- חיבור טופולוגיה לאינטרנט
- שזור יסודות
נסה את תחילת העבודה עם Codelab שמח
ראה הגדרת ואת השימוש לקבלת מידע נוסף על הגדרה ושימוש שמח.
ארכיטקטורה
שמח מדגמן את הדברים הבאים:
- צומת - מרחב רשת לינוקס. תהליכים הכוללים את הצומת המופעלים במרחב שמות רשת מוגדר.
- קישור - ממשק רשת לינוקס. Happy משתמשת
veth
התקן הרשת לתמוך L3 (IP) ממשקים ואתtap
המכשיר לרשת כדי לתמוך L2 ממשקים מחוץ לקופסה. - Network - במרחבי הרשת לינוקס עם גשר Ethernet פועל בתוכם.
יישום
Happy הוא אוסף של מודולי Python. מודולי Core Happy מספקים הפשטות עבור:
- ניהול הפשטות צומת
- הוספה, שינוי ומחיקה של צמתים
- הפעלת קבוצת תהליכים בתוך הצומת
- ניהול קישורים
- הוספה, שינוי ומחיקה של קישורים
- הקצאת קישורים לצומת ולרשת
- הקצאה ושינוי מטלות כתובת
- ניהול רשתות
- יצירה, שינוי והרס רשתות
- קישוריות רשת
- ניהול המצב הכללי של המסגרת באופן מגובש
רוב ההפשטות המיושמות על ידי מודולי Happy ממפות לפקודות המפעילות כלי רשת של לינוקס.
שמח גם מכיל סט של תוספים נמצאים /plugins
. תוספים עוטפים קבוצה של פונקציונליות הקשורה לטכנולוגיה מסוימת. לדוגמה, /plugins/weave
מכיל העוזר כי יישומי Weave שונים לעטוף לביצוע בתוך שמח.
ביצוע
משתמשים יכולים לבנות טופולוגיות מדומות באמצעות שתי שיטות:
- מעטפת פקודות - כל הפקודות נמצאים
/bin
. - סקריפטים של פייתון - ייבא מודולים של Happy כדי להתקשר לפקודות Happy בתסריטי ה- Python שלך. מודולים נמצאים
/happy
.
לקבלת מידע נוסף על השימוש מודולים שמח תסריטים פיתון משלך, לראות scripting Python .