פתרון בעיות בחיבור ל-Google

במסמך הזה מפורטות הנחיות לפתרון בעיות שקשורות לחיבור שלכם ל-Google.

Network Connectivity Gateway

בקטע הזה מופיעים טיפים לפתרון בעיות שקשורות ל-Network Connectivity Gateway.

לקבלת עזרה נוספת, אפשר לפנות אל Cloud Customer Care. אפשר גם לעיין במאמר קבלת תמיכה לקבלת מידע נוסף על מקורות מידע לתמיכה, כולל המקורות הבאים:
  • דרישות לפתיחת בקשת תמיכה.
  • כלים שיעזרו לכם לפתור בעיות, כמו הגדרת הסביבה, היומנים והמדדים.
  • רכיבים נתמכים.

מוודאים ש-Pods של בקר ושער פועלים

  • מציגים את רשימת ה-Pods של Network Connectivity Gateway:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get pods \
        --namespace kube-system | grep ncg
    

    מחליפים את CLUSTER_KUBECONFIG בנתיב של קובץ ה-kubeconfig של האשכול.

    בפלט, מוודאים שמוצגים Pod של בקר ו-Pod של שער. השם של ה-Pod של בקר התנועה מתחיל ב-ncg-controller, והשם של ה-Pod של שער הכניסה מתחיל ב-ncgd. לדוגמה:

    ncg-controller-5f5d489b68-r87pp     1/1     Running
    ncgd-gvl76                          1/1     Running
    

    רושמים את השם של ה-Pod של השער. תצטרכו אותו לפקודות שונות לפתרון בעיות.

בדיקת היומנים של ה-Pod של השער

  • בודקים אם יש שגיאות ביומנים של ה-Pod של השער:

    kubectl --kubeconfig CLUSTER_KUBECONFIG logs GATEWAY_POD \
        --namespace kube-system
    

    מחליפים את GATEWAY_POD בשם של ה-Pod של השער.

הפעלת ncgcli בתוך ה-Pod של השער

ל-Pod של השער יש כלי שורת פקודה בשם ncgcli, שבעזרתו אפשר לקבל מידע על השער ועל התנועה במנהרות.

  • משתמשים בפקודה הבאה כדי להריץ את ncgcli בתוך ה-Pod של שער הכניסה:

    kubectl --kubeconfig CLUSTER_KUBECONFIG exec -it GATEWAY_POD \
        --namespace kube-system -- ncgCLI_COMMAND
    

    מחליפים את ncgCLI_COMMAND בפקודה ncgcli.

    לדוגמה:

    kubectl --kubeconfig my-kubeconfig exec ncgd-6hkk2 --namespace kube-system \
        -- ncgcli --help
    

בקטעים הבאים מופיעות עוד דוגמאות לפקודות ncgcli.

מנהרת IPsec לא הופעלה

  • בודקים את הסטטוס של NetworkConnectivityGateway המשאב המותאם אישית:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get NetworkConnectivityGateway \
        --namespace kube-system --output yaml
    

    בודקים בפלט אם מופיעה המחרוזת Status: Healthy. לדוגמה:

    apiVersion: networking.gke.io/v1alpha1
    kind: NetworkConnectivityGateway
    metadata:
      namespace: kube-system
      name: default
    spec:
    status:
      CurrNode: worker1-node
      CreatedTime: 2021-09-07T03:18:15Z
      LastReportTime: 2021-09-21T23:57:54Z
      Status:  Healthy
    
  • בודקים את הסטטוס של OverlayVPNTunnel המשאבים המותאמים אישית:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayVPNTunnel \
        --namespace kube-system --output yaml
    
  • בודקים את הסטטוס של המנהרות בתוך ה-Pod של שער הכניסה:

    ncgcli overlay peers show
    

מידע נוסף זמין במאמר בנושא פתרון בעיות ב-Cloud VPN.

יצירת סשן BGP נכשלה

מוודאים שהשתמשתם בכתובות IP מקומיות, כמו 169.254.1.2 ו-169.254.2.2, עבור סשנים של BGP בין Cloud Router לבין gateway Pod באשכול.

  • בדיקת הסטטוס של סשנים של BGP:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayBGPPeer \
        --namespace kube-system --output yaml
    
  • כדי לבדוק את הסטטוס של סשני ה-BGP מתוך ה-Pod של שער הרשת:

    ncgcli overlay routes show
    

מידע נוסף על פתרון בעיות בסשנים של BGP זמין במאמרים הבאים:

בעיות בהעברת תנועה גם אם המנהור פעיל

אם העברת התעבורה נכשלת, מריצים את הפקודה ncgcli בתוך ה-Pod של השער כדי לבדוק את הסטטוס של המנהרות, הניתוב ותכנות מישור הנתונים.

  • מוודאים שמנהרת IPsec ל-peer נוצרה:

    ncgcli overlay peers show
    
  • מוודאים שהמסלולים של שכבת העל הוחלפו באמצעות BGP ושהם נפתרו במנהרת IPsec המתאימה:

    ncgcli overlay routes show
    
  • הצגת מסלולים שתוכנתו במישור הנתונים, והפלט צריך לכלול מסלולי שכבת-על:

    ncgcli fast-path routes show
    

התאמת יחידת השידור המקסימלית

יחידת השידור המקסימלית (MTU) היא הגודל, בבייטים, של החבילה הגדולה ביותר שנתמכת על ידי פרוטוקול של שכבת רשת, כולל הכותרות והנתונים. אם יש בעיות בתנועה שנובעות ממגבלות MTU ברשת הבסיסית, אפשר להגדיר את ה-MTU במשאב המותאם אישית OverlayVPNTunnel. ה-MTU שמוגדר כברירת מחדל למנהרות הוא 1,380 בייט.

כדי לשנות את ה-MTU של המנהרות:

  1. בודקים את הסטטוס של המנהרות:

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayVPNTunnel \
        --namespace kube-system --output yaml
    

    המקטע status צריך להיראות כמו בדוגמה הבאה:

    status:
      IfName: ipsec2
      LastTransition: "2022-06-16T07:13:28Z"
      SLA:
        DiscoveredMTU: 1300
        Jitter(ms): 1
        Latency(ms): 26
        Loss(%): "0.00"
    

    אם הערך של status.SLA.DiscoveredMTU קטן מברירת המחדל 1380, צריך לפעול לפי השלבים הבאים כדי לשנות את הערך של Spec.mtu במשאבים המותאמים אישית OverlayVPNTunel כך שיתאים.

  2. פותחים את OverlayVPNTunnel המשאבים המותאמים אישית לעריכה באמצעות הפקודה kubectl edit:

    kubectl --kubeconfig CLUSTER_KUBECONFIG edit OVERLAY_VPN_TUNNEL_NAME
        --namespace kube-system --output yaml
    

    כדי למנוע אובדן מנות, צריך להגדיר את אותו MTU לשני המשאבים המותאמים אישית OverlayVPNTunnel שבהם נעשה שימוש ב-Network Connectivity Gateway.

  3. מגדירים את הערך mtu כך שיתאים לערך DiscoveredMTU מהשלב הראשון:

    apiVersion: networking.gke.io/v1alpha1
      kind: OverlayVPNTunnel
      metadata:
        name: vpc2
        namespace: kube-system
      Spec:
        mtu: 1300
        ikeKey:
          name: ike-key
          namespace: kube-system
        localTunnelIP: 169.254.0.2
        peer:
          publicIP: 34.100.10.10
        self:
          publicIP: 70.32.151.5
    
  4. כדי להחיל את השינויים, שומרים את העריכה וסוגרים את הכלי לעריכה.

מידע נוסף על MTU ועל ההשפעה שלו על ביצועי התעבורה זמין במאמר שיקולים לגבי MTU.

צפייה בזרימת התנועה ובנתונים סטטיסטיים ברמת האפליקציה

כדי לראות את זרימת התנועה והנתונים הסטטיסטיים, מריצים את הפקודה ncgcli בתוך ה-Pod של שער הכניסה.

  • כדי לקבל תצוגה מיידית של זרימות ויישומים של תנועה:

    ncgcli forwarding flows top
    
  • נתונים סטטיסטיים מצטברים ברמת התהליך:

    ncgcli forwarding flows aggregates show
    
  • לנתונים סטטיסטיים מצטברים ברמת הממשק:

    ncgcli interfaces statistics show
    

המאמרים הבאים

לקבלת עזרה נוספת, אפשר לפנות אל Cloud Customer Care. אפשר גם לעיין במאמר קבלת תמיכה לקבלת מידע נוסף על מקורות מידע לתמיכה, כולל המקורות הבאים:
  • דרישות לפתיחת בקשת תמיכה.
  • כלים שיעזרו לכם לפתור בעיות, כמו הגדרת הסביבה, היומנים והמדדים.
  • רכיבים נתמכים.