הגדרת מאזני עומסים חיצוניים

מאזני עומסים חיצוניים (ELB) חושפים שירותים מחוץ לפרויקט ממאגר של כתובות IP שהוקצו לפרויקט ממאגר גדול יותר של כתובות IP חיצוניות של מכונות.

כתובות IP וירטואליות (VIP) של ELB לא מתנגשות בין ארגונים והן ייחודיות בכל הארגונים. לכן, צריך להשתמש בשירותי ELB רק לשירותים שלקוחות מחוץ לפרויקט צריכים לגשת אליהם.

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

לפני שמתחילים

כדי להגדיר שירותי ELB, צריך לוודא שיש לכם את הדברים הבאים:

  • הבעלים של הפרויקט שבו מגדירים את מאזן העומסים. מידע נוסף מופיע במאמר יצירת פרויקט.
  • מדיניות כניסה מותאמת אישית של ProjectNetworkPolicy (PNP) כדי לאפשר תעבורה לשירות ELB הזה. מידע נוסף זמין במאמר הגדרת PNP כדי לאפשר תנועה ל-ELB.
  • תפקידי ניהול הזהויות והרשאות הגישה הנדרשים:

    • אדמין NetworkPolicy בפרויקט: יש לו גישה לניהול מדיניות רשת בפרויקט במרחב השמות של הפרויקט. צריך לבקש מאדמין IAM בארגון להקצות לכם את התפקיד אדמין NetworkPolicy בפרויקט (project-networkpolicy-admin).
    • אדמין מאזן עומסים: צריך לבקש מאדמין IAM בארגון להקצות לכם את התפקיד אדמין מאזן עומסים (load-balancer-admin).

הגדרת PNP כדי לאפשר תעבורת נתונים ל-ELB

כדי ששירותי ELB יפעלו, צריך להגדיר ולהחיל מדיניות כניסה מותאמת אישית משלכם ProjectNetworkPolicy כדי לאפשר תעבורה לשירות ELB הזה. מציינים את כתובת ה-CIDR החיצונית כדי לאפשר תנועה אל ELB:

kubectl --kubeconfig MANAGEMENT_API_SERVER apply -f - <<EOF
apiVersion: networking.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT
  name: allow-inbound-traffic-from-external
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - ipBlock:
        cidr: CIDR
    ports:
    - protocol: TCP
      port: PORT
EOF

מחליפים את מה שכתוב בשדות הבאים:

  • ‫MANAGEMENT_API_SERVER: נתיב kubeconfig של שרת Management API. אם עדיין לא יצרתם קובץ kubeconfig לשרת ה-API באזור היעד, תוכלו לקרוא פרטים נוספים במאמר בנושא כניסה.
  • ‫PROJECT: השם של פרויקט GDC.
  • ‫CIDR: ה-CIDR החיצוני שצריך לגשת ל-ELB ממנו. המדיניות הזו נדרשת כי מאזן העומסים החיצוני משתמש ב-Direct Server Return ‏ (DSR), ששומר על כתובת ה-IP החיצונית של המקור ומדלג על מאזן העומסים בנתיב החזרה.
  • ‫PORT: היציאה של הקצה העורפי בתרמילים שמאחורי מאזן העומסים. הערך הזה מופיע בשדה .spec.ports[].targetPort של המניפסט עבור משאב Service.

יצירת מאזן עומסים חיצוני

יוצרים ELB בשלוש שיטות שונות ב-GDC:

אתם יכולים לטרגט עומסי עבודה של פוד או מכונה וירטואלית באמצעות KRM API ו-gdcloud CLI. כשמשתמשים בשירות Kubernetes ישירות באשכול Kubernetes, אפשר לטרגט עומסי עבודה רק באשכול שבו נוצר אובייקט Service.