Antrea 컨테이너 클러스터의 상태가 종료인 경우 이 설명서의 단계에 따라 이 문제의 원인을 파악하고 복구하거나 지원 번들을 수집합니다.

문제

클러스터 제어부 노드가 종료 상태입니다. Antrea 컨테이너 클러스터와 CCP(중앙 제어부)의 연결이 끊어졌습니다.

원인

NSX Manager UI에서 시스템 > 패브릭 > 노드 > 컨테이너 클러스터 > Antrea로 이동합니다. 필요한 경우 Antrea 페이지에서 외부 ID 필드를 사용하여 클러스터 목록을 필터링합니다.

문제가 있는 클러스터의 상태 열을 클릭합니다. 모든 구성 요소가 종료 상태인 경우 가능한 원인은 다음과 같습니다.
  • Kubernetes 클러스터가 삭제되었습니다.
  • CCP와의 네트워크 연결 문제가 있습니다.
  • 어댑터가 어떤 이유로 충돌하거나 삭제되었습니다.
  • 어댑터의 클라이언트 인증서가 올바르지 않습니다.
  • 어댑터의 버전이 CCP와 호환되지 않습니다.

중앙 제어부 어댑터만 종료된 경우 CCP 어댑터가 충돌했을 수 있습니다.

해결책

  1. Kubernetes 클러스터가 삭제된 경우 NSX의 남은 등록 및 인벤토리 데이터를 정리합니다. 명령줄을 사용하여 NSX-T 인벤토리에서 Antrea 컨테이너 클러스터 삭제 항목을 참조하십시오.
  2. 컨테이너 클러스터에 대한 kubectl 및 kubeconfig 액세스 권한을 얻습니다. kubectl을 사용하여 상호 연동 포드가 실행 중인 노드 이름을 검색합니다. 노드에 대한 SSH 세션을 시작하고 curl 또는 nc 명령을 사용하여 포트 1234 및 1235의 모든 NSX Manager IP에 연결합니다. 연결을 설정할 수 없는 경우 원인은 CCP와의 네트워크 연결 문제입니다.
    curl 명령의 예:

    NSX-Manager-IP를 환경의 NSX Manager IP 주소로 바꿔야 합니다.

    curl -v NSX-Manager-IP:1235
    
    Trying NSX-Manager-IP... 
    Connected to NSX-Manager-IP (NSX-Manager-IP) port 1235 (#0) 
    ... 
    Empty reply from server 
    Connection #0 to host NSX-Manager-IP left intact 
    curl: (52) Empty reply from server

    nc 명령의 예:

    nc -v NSX-Manager-IP 1235 < /dev/null
    
    Ncat: Version 7.50 (https://nmap.org/ncat)
    Ncat: Connected to NSX-Manager-IP:1235.
    Ncat: 0 bytes sent, 0 bytes received in 0.37 seconds.
  3. kubectl을 사용하여 vmware-system-antrea 네임스페이스에 있는 상호 연동 포드의 모든 컨테이너가 실행 중인지 확인합니다.
    컨테이너가 종료 상태인 경우 kubectl을 사용하여 충돌된 컨테이너의 로그를 가져오고 오류 메시지를 확인합니다. 이 단계는 다음과 같은 이유로 인해 실패를 식별하는 데 도움이 될 수 있습니다.
    • 어댑터가 어떤 이유로 충돌하거나 삭제되었습니다.
    • CCP 어댑터가 충돌합니다.
    상호 연동 포드를 가져오기 위한 kubectl 명령의 예:
    kubectl get pod -o wide -l app=antrea-interworking -n vmware-system-antrea

    상호 연동 포드 이름을 적어둡니다.

    상호 연동 포드의 세부 상태를 가져오기 위한 kubectl 명령의 예:

    pod-name을 실제 포드 이름으로 바꿉니다.

    kubectl get pod -o yaml pod-name -n vmware-system-antrea

    컨테이너 로그를 가져오기 위한 kubectl 명령의 예:

    pod-name을 실제 포드 이름으로 바꿉니다.

    kubectl logs pod-name -c mp-adapter -n vmware-system-antrea > mp-adapter.log
    kubectl logs pod-name -c ccp-adapter -n vmware-system-antrea > ccp-adapter.log
    kubectl logs pod-name -c tn-proxy -n vmware-system-antrea > tn-proxy.log
    kubectl logs pod-name -c election-runner -n vmware-system-antrea > election-runner.log

    vmware-system-antrea 네임스페이스가 누락되었거나 상호 연동 포드가 누락된 경우 등록 취소 단계를 실행하지 않고 Kubernetes 클러스터에서 어댑터가 삭제되었을 수 있습니다. 시스템에서 남은 등록 데이터 및 인벤토리를 정리한 다음, Kubernetes 클러스터를 다시 등록할 수 있습니다. 클러스터를 다시 등록한 후 클러스터 ID가 달라집니다. 클러스터에 적용된 Antrea 정책이 있는 경우 클러스터를 다시 등록한 후 정책을 다시 적용해야 합니다.

    남은 등록 데이터를 정리하는 방법에 대한 지침은 명령줄을 사용하여 NSX-T 인벤토리에서 Antrea 컨테이너 클러스터 삭제 항목을 참조하십시오.

    NSXAntrea 컨테이너 클러스터를 등록하는 방법에 대한 지침은 NSX-T Data Center에 Antrea 컨테이너 클러스터 등록 항목을 참조하십시오.

  4. kubectl을 사용하여 상호 연동 포드에서 nsx-proxy 컨테이너 로그를 가져오고 오류 메시지를 확인합니다.
    이 단계는 다음과 같은 이유로 인해 실패를 식별하는 데 도움이 될 수 있습니다.
    • 어댑터의 클라이언트 인증서가 올바르지 않습니다.
    • 어댑터의 버전이 CCP와 호환되지 않습니다.

    예제 명령의 경우 3단계를 참조하십시오.

  5. 관리부 어댑터가 실행 중이면 NSX의 지원 번들 기능을 사용하여 컨테이너 클러스터에 대한 로그 파일을 수집합니다.

    자세한 내용은 Antrea 컨테이너 클러스터에 대한 지원 번들 수집 항목을 참조하십시오.