이 문서에서는 Google 연결과 관련된 문제에 대한 문제 해결 안내를 제공합니다.
Network Connectivity Gateway
이 섹션에서는 네트워크 연결 게이트웨이와 관련된 문제 해결 팁을 제공합니다.
추가 지원이 필요하면 Cloud Customer Care에 연락합니다. 또한 다음을 포함한 지원 리소스에 대한 자세한 내용은 지원 받기를 참조하세요.컨트롤러 및 게이트웨이 포드가 실행 중인지 확인
네트워크 연결 게이트웨이 포드를 나열합니다.
kubectl --kubeconfig CLUSTER_KUBECONFIG get pods \ --namespace kube-system | grep ncgCLUSTER_KUBECONFIG를 클러스터 kubeconfig 파일의 경로로 바꿉니다.출력에 컨트롤러 포드 및 게이트웨이 포드가 표시되는지 확인합니다. 컨트롤러 포드의 이름은
ncg-controller로 시작하고 게이트웨이 포드의 이름은ncgd로 시작합니다. 예를 들면 다음과 같습니다.ncg-controller-5f5d489b68-r87pp 1/1 Running ncgd-gvl76 1/1 Running게이트웨이 포드 이름을 기록해 둡니다. 여러 가지 문제 해결 명령어를 실행하는 데 필요합니다.
게이트웨이 포드 로그 확인
게이트웨이 포드의 로그에 오류가 있는지 확인합니다.
kubectl --kubeconfig CLUSTER_KUBECONFIG logs GATEWAY_POD \ --namespace kube-systemGATEWAY_POD를 게이트웨이 포드 이름으로 바꿉니다.
게이트웨이 포드 내에서 ncgcli 실행
게이트웨이 포드에는 터널의 게이트웨이 및 트래픽에 대한 정보를 가져오기 위해 사용할 수 있는 ncgcli라는 명령줄 도구가 있습니다.
다음 명령어를 사용하여 게이트웨이 포드 내에서
ncgcli를 실행합니다.kubectl --kubeconfig CLUSTER_KUBECONFIG exec -it GATEWAY_POD \ --namespace kube-system -- ncgCLI_COMMANDncgCLI_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: HealthyOverlayVPNTunnel커스텀 리소스 상태를 확인합니다.kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayVPNTunnel \ --namespace kube-system --output yaml게이트웨이 포드 내부에서 터널 상태를 확인합니다.
ncgcli overlay peers show
자세한 내용은 Cloud VPN 문제 해결을 참조하세요.
BGP 세션 설정 실패
Cloud Router와 클러스터의 게이트웨이 포드 간 BGP 세션에 대해 169.254.1.2 및 169.254.2.2와 같은 링크-로컬 IP 주소가 사용되었는지 확인합니다.
BGP 세션의 상태를 확인합니다.
kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayBGPPeer \ --namespace kube-system --output yaml게이트웨이 포드 내부에서 BGP 세션의 상태를 확인합니다.
ncgcli overlay routes show
BGP 세션 문제 해결에 대한 자세한 내용은 다음을 참조하세요.
터널 작동 시에도 트래픽 전달 문제 발생
트래픽 전달이 실패하면 게이트웨이 포드 내에서 ncgcli를 실행하여 터널, 라우팅, 데이터 영역 프로그래밍 상태를 확인합니다.
피어에 대한 IPsec 터널이 설정되었는지 확인합니다.
ncgcli overlay peers show오버레이 경로가 BGP로 교환되었고 적합한 IPsec 터널로 분석되었는지 확인합니다.
ncgcli overlay routes show데이터 영역에 프로그래밍된 경로를 표시하고 출력에 오버레이 경로가 포함되어야 합니다.
ncgcli fast-path routes show
최대 전송 단위 조정
MTU(최대 전송 단위)는 헤더와 데이터를 포함하여 네트워크 계층 프로토콜에서 지원되는 최대 패킷 크기(바이트)를 의미합니다. 기본 네트워크 MTU 제한사항으로 인한 트래픽 문제가 있으면 OverlayVPNTunnel 커스텀 리소스에서 MTU를 구성할 수 있습니다. 터널의 기본 MTU는 1380바이트입니다.
터널의 MTU를 조정하려면 다음 안내를 따르세요.
터널 상태를 확인합니다.
kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayVPNTunnel \ --namespace kube-system --output yamlstatus섹션에 출력이 다음과 같이 표시됩니다.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기본값보다 작으면 다음 단계에 따라OverlayVPNTunel커스텀 리소스의Spec.mtu값을 일치하도록 변경합니다.kubectl edit명령어로 수정할OverlayVPNTunnel커스텀 리소스를 엽니다.kubectl --kubeconfig CLUSTER_KUBECONFIG edit OVERLAY_VPN_TUNNEL_NAME --namespace kube-system --output yaml패킷 손실을 방지하려면 네트워크 연결 게이트웨이에 사용된 2개의
OverlayVPNTunnel커스텀 리소스에 대해 동일한 MTU를 구성합니다.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가 트래픽 성능에 미치는 영향에 대한 자세한 내용은 MTU 고려 사항을 참조하세요.
트래픽 흐름 및 애플리케이션 수준 통계 보기
트래픽 흐름 및 통계를 보려면 게이트웨이 포드 내에서 ncgcli를 실행합니다.
흐름 및 트래픽 애플리케이션을 즉시 보려면 다음을 수행합니다.
ncgcli forwarding flows top흐름 수준에서 집계 통계를 보려면 다음을 수행합니다.
ncgcli forwarding flows aggregates show인터페이스 수준에서 집계 통계를 보려면 다음을 수행합니다.
ncgcli interfaces statistics show