PracticU

Postman gRPC
Microservice
ב-Kubernetes

בלי כתוביותעם כתוביות
PracticU › קורס קוברנטיקס - Kubernetes › Postman gRPC Microservice ב-Kubernetes
מילון מושגים:
Postman - כלי לבדיקת API: שליחת בקשות HTTP לשרת ובחינת התגובות, נפוץ בפיתוח ובבדיקות.
Kubernetes - מערכת לניהול ותזמור של קונטיינרים בקנה מידה גדול, שמפעילה, מרחיבה ומתחזקת אותם אוטומטית.
קלאסטר - קבוצת מחשבים או שרתים שעובדים יחד כמערכת אחת, לשם זמינות גבוהה, ביצועים או חלוקת עומס.
צד לקוח - החלק של היישום שרץ בדפדפן ומולו המשתמש מתקשר, הכולל את התצוגה והאינטראקציה.
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.
Localhost - שם המפנה למחשב המקומי עצמו (כתובת 127.0.0.1), המשמש לבדיקת שירותים הרצים על אותו מחשב.
מתודה - פונקציה המוגדרת בתוך מחלקה ומתארת פעולה שאובייקטים מאותה מחלקה יכולים לבצע.
API - ממשק תכנותי שמגדיר כיצד תוכנה אחת פונה לאחרת ומחליפה איתה נתונים ופעולות.

Postman gRPC Microservice ב-Kubernetes
כדי לבדוק מיקרו-סרביס בתוך ה-cluster ולדמות את הפניות של ה-frontend, משתמשים ב-Postman שיודע לשלוח גם בקשות gRPC.
איך מתחברים
1. התקנה: מורידים את Postman (גרסת x64 ל-Windows), מתקינים ואפשר להמשיך בלי הרשמה. מחליפים את סוג הבקשה מ-HTTP ל-gRPC.
2. כתובת: ה-IP של השירות פנימי, לכן מריצים kubectl port-forward שמעביר פורט מקומי 3550 לפורט 3550 של שירות ה-product catalog. מוזנת בכתובת localhost:3550.
3. קובץ proto: בתיקיית protos יש demo.proto שמתאר את השירותים והפונקציות שלהם. ב-product catalog יש שלוש פונקציות, ביניהן list products (בלי פרמטרים) ו-get product. את הקובץ מייבאים ב-server definitions דרך Choose a File ו-Import.
4. הרצה: בוחרים method ולוחצים Invoke. list products החזיר רשימת מוצרים.
5. בקשה עם מזהה: ל-get product לוחצים example ב-message ומקבלים בקשה שדורשת מזהה מוצר כמחרוזת. לוקחים ID מהרשימה ומקבלים את פרטי המוצר.
6. הקשר לאתר: כך ה-frontend עובד. בעמוד הבית הוא מבקש list, וכשלוחצים על מוצר הוא שולח את המזהה ומקבל פרטים.
שימו לב
- ה-port-forward מחבר רק לשירות אחד, והוא התנתק באמצע, אז הפעילו אותו שוב.
- בפרויקט אחר ייתכן שה-API עובד ב-HTTP רגיל.
אחרי ההרצאה אפשר לגשת ישירות לשירות פנימי ב-cluster ולדמות בקשה של frontend.
השיעור הבא בקורס: יצירת עומס על מיקרו סרוויס Kubernetes

פרקי ההרצאה: Postman gRPC Microservice ב-Kubernetes

  1. 00:00

    הורדת Postman לבקשות gRPC

  2. 00:39

    מעבר ל-gRPC ובחירת כתובת

  3. 01:21

    port-forward ליצירת פרוקסי

  4. 01:55

    קובץ proto המתאר את הפונקציות

  5. 02:29

    פונקציות ה-product catalog

תמלול ההרצאה: Postman gRPC Microservice ב-Kubernetes

הטקסט המלא של הדקות הראשונות בהרצאה «Postman gRPC Microservice ב-Kubernetes» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:17

    בואו נעשה Download X64, כי אני יושב על Windows. תוכנת Postman מדמה את הבקשות של הדפדפן. הינה הוא ירד לנו בשעה טובה ומוצלחת. נלחץ Open File.

  3. 00:29

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

  4. 00:43

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

  5. 00:59

    השאלה זה איזה כתובת להכניס. ונניח שאני רוצה את ה-product catalog הזה. אני לא יכול סתם לשים פה את ה-IP כי זה IP פנימי של הקלסטר. אני כותב פה kubectl port-forward.

  6. 01:12

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

  7. 01:34

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

  8. 01:48

    Localhost זה כמו לרשום מאה עשרים ושבע אפס אפס אחד. זה אצלי במחשב. אני פונה לעצמי לפורט שלוש חמש חמש אפס. ופה ב-Select Method, בעולם של gRPC, יש קובץ פרוטו שמתאר את כל הפונקציות שקיימות בשרת.

  9. 02:05

    היצרן של האפליקציה אמור לספק לי את הקובץ הזה. באמת זה קיים בתיקיית protos. פה בפנים יש קובץ demo.proto, שאם אני אפתח אותו ב-Notepad, נראה שהוא מתאר כל סרביס, איך הוא מקבל את הבקשות.

  10. 02:22

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

  11. 02:36

    יש לו גם פונקציה get product. תביא לי מוצר אחד, שהוא מחזיר product אחד, ויש פה תיאור של איזה שדות יש בתוך product. זאת אומרת שה-demo proto הזה מסביר לקליינט

לקורס המלא: קורס קוברנטיס – Kubernetes

ההרצאה הקודמת: פריסה של - Microservice - בקלסטר של k8s

ההרצאה הבאה: יצירת עומס על מיקרו סרוויס - Kubernetes

הרצאות קשורות מקורסים אחרים

  • התקנת POSTMAN
  • הסבר על מיקרוסרביס - Microservice
  • הסבר על Kubernetes
  • מבוא לקורס פוסטמן - Postman

קורסים נוספים במסלול

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס Terraform - DevOps - Azure & AWS
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell
  • קורס Git ו-GitHub עם Visual Studio