Google 연결 문제 해결

이 문서에서는 Google 연결과 관련된 문제에 대한 문제 해결 안내를 제공합니다.

네트워크 연결 게이트웨이

이 섹션에서는 네트워크 연결 게이트웨이와 관련된 문제 해결 팁을 제공합니다.

컨트롤러 및 게이트웨이 포드가 실행 중인지 확인

  • 네트워크 연결 게이트웨이 포드를 나열합니다.

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

    CLUSTER_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-system
    

    GATEWAY_POD를 게이트웨이 포드 이름으로 바꿉니다.

게이트웨이 포드 내에서 ncgcli 실행

게이트웨이 포드에는 터널의 게이트웨이 및 트래픽에 대한 정보를 가져오기 위해 사용할 수 있는 ncgcli라는 명령줄 도구가 있습니다.

  • 다음 명령어를 사용하여 게이트웨이 포드 내에서 ncgcli를 실행합니다.

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

    ncgCLI_COMMANDncgcli 명령어로 바꿉니다.

    예를 들면 다음과 같습니다.

    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
    
  • 게이트웨이 포드 내부에서 터널 상태를 확인합니다.

    ncgcli overlay peers show
    

자세한 내용은 Cloud VPN 문제 해결을 참조하세요.

BGP 세션 설정 실패

Cloud Router와 클러스터의 게이트웨이 포드 간 BGP 세션에 대해 169.254.1.2169.254.2.2와 같은 링크-로컬 IP 주소가 사용되었는지 확인합니다.

  • BGP 세션의 상태를 확인합니다.

    kubectl --kubeconfig CLUSTER_KUBECONFIG get OverlayBGPPeer \
        --namespace kube-system --output yaml
    
  • 게이트웨이 포드 내부에서 BGP 세션의 상태를 확인합니다.

    ncgcli overlay routes show
    

BGP 세션의 문제 해결에 대한 자세한 내용은 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를 조정하려면 다음 안내를 따르세요.

  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 기본값보다 작으면 다음 단계에 따라 OverlayVPNTunel 커스텀 리소스의 Spec.mtu 값을 일치하도록 변경합니다.

  2. kubectl edit 명령어로 수정할 OverlayVPNTunnel 커스텀 리소스를 엽니다.

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

    패킷 손실을 방지하려면 네트워크 연결 게이트웨이에 사용된 2개의 OverlayVPNTunnel 커스텀 리소스에 대해 동일한 MTU를 구성합니다.

  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가 트래픽 성능에 미치는 영향에 대한 자세한 내용은 MTU 고려 사항을 참조하세요.

트래픽 흐름 및 애플리케이션 수준 통계 보기

트래픽 흐름 및 통계를 보려면 게이트웨이 포드 내에서 ncgcli를 실행합니다.

  • 흐름 및 트래픽 애플리케이션을 즉시 보려면 다음을 수행합니다.

    ncgcli forwarding flows top
    
  • 흐름 수준에서 집계 통계를 보려면 다음을 수행합니다.

    ncgcli forwarding flows aggregates show
    
  • 인터페이스 수준에서 집계 통계를 보려면 다음을 수행합니다.

    ncgcli interfaces statistics show