סביבה מספקת הקשר מבודד או 'ארגז חול' להרצת פרוקסי של API. באותו ארגון, אפשר ליצור כמה סביבות. מידע נוסף זמין במאמר מידע על סביבות וקבוצות סביבות.
הקוד הבא מציג דוגמה להגדרת שינויים שמתבצעים על ידי המשתמש, שבה מוגדרות כמה סביבות. שימו לב שלסביבות prod ו-test יש כינויי מארח שונים:
namespace: my-namespace org: my-organization ... envs: - name: test serviceAccountPaths: synchronizer: "your_keypath/synchronizer-manager-service-account.json udca: "your_keypath/analytic-agent-service-account.json - name: prod serviceAccountPaths: synchronizer: "your_keypath/synchronizer-manager-service-account.json udca: "your_keypath/analytic-agent-service-account.json ...
virtualhosts שממפה את routingRules לסביבות.
virtualhosts:
- name: default
hostAliases: ["api.example.com"]
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.pem
routingRules:
- env: testvirtualhosts:
- name: external
hostAliases: ["apiprod.example.com"]
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.pem
routingRules:
- env: prod
נניח ששרת proxy עם נתיב בסיס /foo1 נפרס בסביבה test. אפשר לקרוא לשרת ה-proxy כך:
curl -k https://api.example.com/foo1
כשהשיחה הזו מגיעה ל-ingress, הוא יודע לשלוח אותה למעבד ההודעות שמשויך לסביבת test, שמטפל בבקשה.
באופן דומה, אם foo1 נפרס גם בסביבת prod, אפשר לשלוח בקשת proxy כזו לכינוי המארח apiprod.mydomain.net:
curl -k https://apiprod.example.com/foo1
השיחה מנותבת על ידי ה-ingress אל ה-MP שמשויך למארח הזה.
אנטי-תבנית: פריסה של כל שרתי ה-proxy בסביבה היברידית אחת.
שיטה מומלצת: כדאי ליצור כמה סביבות ולפרוס מספר מוגבל של שרתי proxy בכל אחת מהן. אתם יכולים ליצור כללי ניתוב שמציינים לאילו סביבות לנתב נתיבי בסיס ספציפיים של proxy ל-API. פרטים נוספים מופיעים במאמר בנושא הגדרת מארח וירטואלי.
הגבלת מספר הפריסות של שרת ה-proxy
בסביבה היברידית, הרבה סביבות יכולות לחלוק את אותו מארח וירטואלי, ולכן צריך לחשוב היטב איך לנהל את פריסות ה-proxy בכל סביבה נתונה. בסביבה היברידית, מומלץ ליצור כמה סביבות ולפרוס מספר מוגבל של שרתי proxy בכל אחת מהן.
כמה שרתי proxy צריך לפרוס בסביבה? אין תשובה חד-משמעית לשאלה הזו, אבל בטבלה הבאה מפורטות הנחיות כלליות לגבי הסיבות לכך שכדאי להגביל את מספר השרתים הפרוקסי שנפרסים בכל סביבה, ומה צריך לקחת בחשבון כשמנהלים פריסות של שרתי פרוקסי:
| בעיה שכדאי לבדוק | תיאור |
|---|---|
| זמן האתחול של מעבד ההודעות | יש קשר ישיר בין משך הזמן שלוקח למעבד הודעות (MP) לאתחל לבין מספר השרתים הפרוקסי שנפרסו במעבד הזה. בסביבת Kubernetes עם התאמה אוטומטית לעומס, עלייה בזמן האתחול עלולה להיות בעיה. ככל שיש יותר שרתי פרוקסי שנפרסו במעבד ההודעות, כך ייקח יותר זמן עד שהמעבד יפעל אם צריך לשנות את הגודל שלו או ליצור אותו מחדש. |
| שיפור הביצועים | אם יש לכם כמה שרתי proxy שפרוסים בסביבה מסוימת, ואחד מהם מקבל הרבה תנועה ולכן מתבצע בו שינוי גודל אוטומטי לעיתים קרובות, כל שרתי ה-proxy באותה סביבה ישנו את הגודל שלהם יחד איתו. יכול להיות שתהיה בעיה בהשפעה על הביצועים של הרחבת מספר שרתי proxy באמצעות שרת proxy יחיד עם תנועה גבוהה. |
| שכן רועש | אם יש לכם כמה שרתי proxy שפרוסים באותה סביבה, ואחד מהם קורס, כל שרתי ה-proxy בסביבה יושבתו בזמן שה-MPs יופעלו מחדש. הגבלת מספר שרתי ה-proxy שנפרסים בסביבה מסוימת מאפשרת למזער את ההשפעה של קריסת שרת proxy יחיד. |
הפניה להגדרת הסביבה
רשימה מלאה של רכיבי הגדרת הסביבה מופיעה בenvs במאמר חומר עזר בנושא מאפייני הגדרה.
עבודה עם סביבות
מידע נוסף על הגדרות זמין בנושאים הבאים: