
kubectl port-forward שמעביר פורט מקומי 3550 לפורט 3550 של שירות ה-product catalog. מוזנת בכתובת localhost:3550.protos יש demo.proto שמתאר את השירותים והפונקציות שלהם. ב-product catalog יש שלוש פונקציות, ביניהן list products (בלי פרמטרים) ו-get product. את הקובץ מייבאים ב-server definitions דרך Choose a File ו-Import.list products החזיר רשימת מוצרים.get product לוחצים example ב-message ומקבלים בקשה שדורשת מזהה מוצר כמחרוזת. לוקחים ID מהרשימה ומקבלים את פרטי המוצר.הטקסט המלא של הדקות הראשונות בהרצאה «Postman gRPC Microservice ב-Kubernetes» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם. היום אנחנו נראה איך מתחברים למיקרוסרביסים שנמצאים אצלנו בתוך הקלסטר. בשביל זה צריך להוריד תוכנת Postman, שיודעת לשלוח גם בקשות HTTP רגילות וגם בקשות בשפת gRPC.
בואו נעשה Download X64, כי אני יושב על Windows. תוכנת Postman מדמה את הבקשות של הדפדפן. הינה הוא ירד לנו בשעה טובה ומוצלחת. נלחץ Open File.
נתקין אותו. אפשר ליצור פה חשבון חינמי. אני אדלג על זה. אני אלחץ פה למטה, "להמשיך בלי הרשמה". הוא עוד פעם מציע לי להירשם, אומר שאני אוכל לשמור את כל השילטות שלי בענן, את כל הבקשות שלי.
אנחנו נסתפק בגרסה ללא ענן, ומה שיש פה כברירת מחדל זה HTTP רגיל. אני יכול להחליף את זה ל-gRPC. ועכשיו צריך פה להכניס את הכתובת של הסרביס ולבחור לאיזה method, לאיזה פונקציה אנחנו פונים בתוך הסרביס.
השאלה זה איזה כתובת להכניס. ונניח שאני רוצה את ה-product catalog הזה. אני לא יכול סתם לשים פה את ה-IP כי זה IP פנימי של הקלסטר. אני כותב פה kubectl port-forward.
תעביר את הפורט הפנימי שלי, שלוש חמש חמש אפס אצלי במחשב, לפורט שלוש חמש חמש אפס בסרביס הזה. למעשה אני מייצר שרת פרוקסי. אתם רואים שאצלי במחשב נפתח פורט שלוש חמש חמש אפס והוא מגיע לשלוש חמש חמש אפס בתוך הסרביס הזה.
ועכשיו אני כאילו יושב בתוך הקלסטר ברשת הפנימית שלהם. אז בואו ניקח את הפורט הלוקלי שלי שיוצא שמה ונכניס אותו כאן. דרך אגב, במקום מאה עשרים ושבע אפס אפס אחד אפשר לרשום localhost.
Localhost זה כמו לרשום מאה עשרים ושבע אפס אפס אחד. זה אצלי במחשב. אני פונה לעצמי לפורט שלוש חמש חמש אפס. ופה ב-Select Method, בעולם של gRPC, יש קובץ פרוטו שמתאר את כל הפונקציות שקיימות בשרת.
היצרן של האפליקציה אמור לספק לי את הקובץ הזה. באמת זה קיים בתיקיית protos. פה בפנים יש קובץ demo.proto, שאם אני אפתח אותו ב-Notepad, נראה שהוא מתאר כל סרביס, איך הוא מקבל את הבקשות.
לדוגמה, שירות של product catalog. יש לו שלוש פונקציות שהוא מקבל. אחת מהן זה list products. תראה לי את כל המוצרים. לא צריך להעביר לו שום פרמטר בסוגריים והוא מחזיר רשימת מוצרים.
יש לו גם פונקציה get product. תביא לי מוצר אחד, שהוא מחזיר product אחד, ויש פה תיאור של איזה שדות יש בתוך product. זאת אומרת שה-demo proto הזה מסביר לקליינט