במסמך הזה מפורטות הנחיות לפתרון בעיות שקשורות לחיבור שלכם ל-Google.
Network Connectivity Gateway
בקטע הזה מופיעים טיפים לפתרון בעיות שקשורות ל-Network Connectivity Gateway.
אם אתם צריכים עזרה נוספת, אתם יכולים לפנות אלמוודאים ש-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 של השער
בודקים אם יש שגיאות ביומנים של Gateway 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 לבין שער ה-Pod באשכול.
בדיקת הסטטוס של סשנים של BGP:
kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayBGPPeer \ --namespace kube-system --output yamlבודקים את הסטטוס של סשני ה-BGP מתוך ה-Pod של השער:
ncgcli overlay routes show
מידע נוסף על פתרון בעיות בסשנים של BGP זמין במאמרים הבאים:
בעיות בהעברת תנועה גם אם המנהרה פעילה
אם העברת התעבורה נכשלת, מריצים את הפקודה ncgcli
inside the gateway 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
bytes.
כדי לשנות את ה-MTU של המנהרות:
בודקים את הסטטוס של המנהרות:
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כך שיתאים לו.פותחים את
OverlayVPNTunnelהמשאבים המותאמים אישית לעריכה באמצעות הפקודהkubectl edit:kubectl --kubeconfig CLUSTER_KUBECONFIG edit OVERLAY_VPN_TUNNEL_NAME --namespace kube-system --output yamlכדי למנוע אובדן מנות, צריך להגדיר את אותו MTU לשני המשאבים המותאמים אישית
OverlayVPNTunnelשבהם נעשה שימוש ב-Network Connectivity Gateway.מגדירים את הערך
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כדי להחיל את השינויים, שומרים את העריכה וסוגרים את הכלי לעריכה.
מידע נוסף על MTU ועל ההשפעה שלו על ביצועי תעבורת הנתונים זמין במאמר שיקולים לגבי MTU.
צפייה בזרימת התנועה ובנתונים סטטיסטיים ברמת האפליקציה
כדי לראות את זרימת התנועה ואת הנתונים הסטטיסטיים, מריצים את הפקודה ncgcli
inside the gateway Pod.
כדי לראות באופן מיידי את הזרימות ואת התנועה באפליקציות:
ncgcli forwarding flows topלנתונים סטטיסטיים מצטברים ברמת התהליך:
ncgcli forwarding flows aggregates showלנתונים סטטיסטיים מצטברים ברמת הממשק:
ncgcli interfaces statistics show