גישה למכונה וירטואלית

בקטע הזה מוסבר איך לפתוח את המכונה הווירטואלית של תעבורת נתונים נכנסת (ingress) ב-Google Distributed Cloud במודל Air-gapped באמצעות מאזן עומסים חיצוני.

חשיפת מכונה וירטואלית באמצעות שירות מאזן עומסים

תעבורת נתונים נכנסת מגיעה למכונה הווירטואלית של Linux באשכול GDC דרך שירות מסוג LoadBalancer, שמפנה תעבורה של יציאות ספציפיות מסוימות למכונה הווירטואלית.

כדי להפעיל את תנועת ה-ingress של מכונת Linux וירטואלית, מוסיפים את התווית ingress.virtualmachines.gpc.gke.io: true לקובץ ה-YAML שבו משתמשים כדי ליצור את המכונה הווירטואלית. לאחר מכן, כשיוצרים את המכונה הווירטואלית, נוצר LoadBalancer שירות לתעבורת נתונים נכנסת (ingress). השירות נוצר באותו מרחב שמות כמו המכונה הוירטואלית בשם VM_NAME-default-ingress.

פתיחת יציאה במכונה הווירטואלית לתעבורת נתונים נכנסת (ingress)

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

kubectl  patch svc VM_NAME-default-ingress -n NAMESPACE_NAME -p \
  '{"spec":{"ports":[{"protocol":"TCP","port":PORT, "name": "NAME"}]}}'

מחליפים את ה-placeholders הבאים:

  • VM_NAME בשם של המכונה הווירטואלית.
  • ‫NAMESPACE_NAME בשם של מרחב השמות של השירות.
  • ‫PORT עם היציאה שרוצים לפתוח במכונה הווירטואלית.
  • ‫NAME בשם הניוד.

תעבורת נתונים יוצאת (egress)

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

הפעלת יציאה (באמצעות EgressNAT)

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

NetworkPolicy

אפשר להגדיר מדיניות רשת לעומסי עבודה של קונטיינרים ברמת הפרויקט. יכול להיות שפרויקט יכלול כמה אשכולות ברירת מחדל של משתמשי Bare Metal.

התחברות למכונה וירטואלית של Linux באמצעות SSH

כדי להתחבר למכונה וירטואלית של Linux באמצעות SSH, משתמשים בכתובת ה-IP של שירות מאזן העומסים. יציאת SSH מספר 22 פתוחה כברירת מחדל במכונה הווירטואלית.

איך מוצאים את כתובת ה-IP של שירות מאזן העומסים

בדוגמה הבאה של פלט אפשר לראות ששירות מאזן העומסים מוכן להפנות תעבורת SSH ביציאת TCP מספר 22 אם כתובת ה-IP היא 10.200.0.102:

kubectl get services VM_NAME-default-ingress -n NAMESPACE_NAME

TYPE          CLUSTER-IP   EXTERNAL-IP    PORT(S)        AGE
LoadBalancer  10.106.6.18  10.200.0.102   22:32443/TCP   11s

התחברות למכונה הווירטואלית

כדי להתחבר למכונה הווירטואלית, משתמשים בכתובת ה-IP של שירות מאזן העומסים ובמפתח ה-SSH. לדוגמה, יכול להיות שתתחברו מהמחשב שלכם שמוגדר להפעלה אוטומטית.

ssh -i /path/to/KEY_NAME ubuntu@10.200.0.102

העברת קבצים אל מכונה וירטואלית או ממנה

כדי להעביר קבצים למכונות וירטואליות של Distributed Cloud, יש אפשרויות שונות בהתאם למערכת ההפעלה של תחנת העבודה ולמערכת ההפעלה של המכונה הווירטואלית שאליה רוצים להעביר את הקבצים.

העברת קבצים למכונות וירטואליות של Linux

יוצרים חיבור SSH למכונה וירטואלית ומשתמשים בחיבור הזה כדי להעביר קבצים למכונה הווירטואלית.

העברת קובץ ממכונה וירטואלית

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