delete 작업이 완료되기 전에 kubeconfig 파일이 만료되었으므로 시스템은 감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터에서 NSX Application Platform 구성 요소 삭제를 완료하지 못했습니다.

문제

감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터에서 NSX Application Platform 배포를 삭제하려고 하는 동안, 감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터에 연결하는 데 사용하는 kubeconfig 파일이 delete 작업 완료 전에 만료되었으므로 작업을 완료하지 못했습니다. 메시지가 표시될 때 force delete 작업을 수행했습니다. 그러나 이 작업을 수행할 때 NSX Manager 통합 장치에서 NSX Application Platform 항목만 제거되었습니다. 이전에 배포된 NSX Application Platform 구성 요소는 감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터에 여전히 존재합니다. 향후 NSX Application Platform 배포에 동일한 감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터를 사용하려면 먼저 이러한 구성 요소를 삭제해야 합니다.

원인

클러스터에 액세스하는 데 사용한 kubeconfig 파일이 만료되었거나 유효하지 않아 감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터에 액세스할 수 없게 되었습니다.

해결책

  1. 동일한 감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터에 액세스할 수 있도록 업데이트된 kubeconfig 파일을 인프라 관리자로부터 가져옵니다.

    또는 인프라 관리자에게 감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터에 아직 남아 있는 NSX Application Platform 구성 요소를 제거할 수 있도록 도움을 요청하십시오.

  2. 루트 사용자 권한으로 NSX Manager 장치 노드에 로그인합니다.
    이후 솔루션 단계에서 사용되는 napp-h 명령은 NSX Manager 세션에서 다음 명령의 별칭입니다.
    helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace nsxi-platform
  3. 업데이트된 kubeconfig 파일을 /config/vmware/napps/.kube에서 NSX Manager 장치의 현재 위치에 복사합니다.
  4. NSX Application Platform에서 NSX Network Detection and Response 기능을 활성화한 경우 다음 방법 중 하나를 사용하여 먼저 기능을 삭제합니다.
    • NSX Manager 명령 프롬프트에서 다음 API 호출을 사용합니다.

       "nsx-manager-prompt>"  napp-h uninstall cloud-connector
       "nsx-manager-prompt>"  napp-h uninstall nsx-ndr
    • 감독자 또는 업스트림 Kubernetes 클러스터 및 설치된 Helm 차트의 TKG 클러스터에 액세스할 수 있는 다른 시스템에서 다음 API 호출을 사용합니다.

       "K8s-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace nsxi-platform uninstall cloud-connector
       "K8s-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace nsxi-platform uninstall nsx-ndr

    이 단계에서 제공된 이전 명령 중 일부 또는 전체가 실패하거나 시간이 초과하면 다음 API 호출을 사용하여 삭제 프로세스를 다시 시도합니다.

    NSX Manager 명령 프롬프트에서 다음 API 호출을 사용합니다.

     "nsx-manager-prompt>"  napp-h uninstall cloud-connector --no-hooks
     "nsx-manager-prompt>"  napp-h uninstall nsx-ndr --no-hooks

    감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터에 액세스할 수 있는 다른 시스템에서 다음 API 호출을 사용합니다.

     "K8s-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace nsxi-platform uninstall cloud-connector --no-hooks
     "K8s-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace nsxi-platform uninstall nsx-ndr --no-hooks
  5. NSX Application Platform에서 NSX 맬웨어 차단 기능을 활성화한 경우 다음 방법 중 하나를 사용하여 먼저 기능을 삭제합니다.
    • NSX Manager 명령 프롬프트에서 다음 API 호출을 사용합니다.

       "nsx-manager-prompt>"  napp-h uninstall cloud-connector 
       "nsx-manager-prompt>"  napp-h uninstall reputation-service
       "nsx-manager-prompt>"  napp-h uninstall malware-prevention
    • 감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터에 액세스할 수 있는 다른 시스템에서 다음 API 호출을 사용합니다.

       "K8s-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace nsxi-platform uninstall cloud-connector  "
      K8s-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace nsxi-platform uninstall reputation-service
       "K8s-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace nsxi-platform uninstall malware-prevention

    이 단계에서 제공된 이전 명령 중 일부 또는 전체가 실패하거나 시간이 초과하면 다음 API 호출을 사용하여 다시 시도합니다.

    NSX Manager 명령 프롬프트에서 다음 API 호출을 사용합니다.

     "nsx-manager-prompt>"  napp-h uninstall cloud-connector --no-hooks
     "nsx-manager-prompt>"  napp-h uninstall reputation-service --no-hooks
     "nsx-manager-prompt>"  napp-h uninstall malware-prevention --no-hooks

    감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터에 액세스할 수 있는 다른 시스템에서 다음 API 호출을 사용합니다.

     "K8s-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace nsxi-platform uninstall cloud-connector --no-hooks
     "K8s-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace nsxi-platform uninstall reputation-service --no-hooks
     "K8s-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace nsxi-platform uninstall malware-prevention --no-hooks
  6. NSX Application Platform에서 NSX Intelligence 기능을 활성화한 경우 다음 방법 중 하나를 사용하여 먼저 기능을 삭제합니다.
    • NSX Manager 명령 프롬프트에서 다음 API 호출을 사용합니다.

       "nsx-manager-prompt>"  napp-h uninstall intelligence
    • 감독자 또는 업스트림 Kubernetes 클러스터 및 설치된 Helm 차트의 TKG 클러스터에 액세스할 수 있는 다른 시스템에서 다음 API 호출을 사용합니다.

       "K8s-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace nsxi-platform uninstall intelligence

    이 단계에서 제공된 이전 명령 중 일부 또는 전체가 실패하거나 시간이 초과하면 다음 API 호출을 사용하여 삭제 프로세스를 다시 시도합니다.

    NSX Manager 명령 프롬프트에서 다음 API 호출을 사용합니다.

     "nsx-manager-prompt>"  napp-h uninstall intelligence --no-hooks

    감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터에 액세스할 수 있는 다른 시스템에서 다음 API 호출을 사용합니다.

     "K8s-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace nsxi-platform uninstall intelligence --no-hooks
  7. NSX Application Platform 구성 요소를 삭제합니다. 다음 명령을 NSX Manager 명령 프롬프트에 나열된 순서대로 개별적으로 입력합니다.
    1. 이전에 업그레이드 조정기를 배포한 경우 다음 명령을 사용하여 제거합니다.
       "nsx-manager-prompt>"  napp-h uninstall nsxi-upgrade
    2. 다음 명령을 입력하여 감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터에서 NSX 메트픽 기능을 제거합니다.
       "nsx-manager-prompt>"  napp-h uninstall metrics
    3. 감독자 또는 업스트림 Kubernetes 클러스터의 TKG 클러스터에서 NSX Application Platform을 제거하고 다음 명령을 별도로 입력하여 네임스페이스를 삭제합니다.
       "nsx-manager-prompt>"  napp-h uninstall nsxi-platform 
       "nsx-manager-prompt>"  kubectl --kubeconfig  "<path-to-updated-kubeconfig-file>"  delete namespace nsxi-platform 
    4. 다음 명령을 사용하여 프로젝트 윤곽 구성 요소를 제거하고 네임스페이스를 삭제합니다.
       "nsx-manager-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace projectcontour uninstall projectcontour 
       "nsx-manager-prompt>"  kubectl --kubeconfig  "<path-to-updated-kubeconfig-file>"  delete namespace projectcontour
    5. 다음 명령을 사용하여 인증서 관리자를 제거하고 네임스페이스를 삭제합니다.
       "nsx-manager-prompt>"  helm --kubeconfig  "<path-to-updated-kubeconfig-file>"  --namespace cert-manager uninstall cert-manager
       "nsx-manager-prompt>"  kubectl --kubeconfig  "<path-to-updated-kubeconfig-file>"  delete namespace cert-manager