가져온 CA 서명 인증서가 만료되었습니다.

문제

NSX Manager 장치 호스트로 가져온 A 서명 인증서가 만료되어 NSX Application Platform 작업을 계속할 수 없습니다. 자체 서명된 CA 서명 인증서를 위임해야 호스팅하는 NSX Application Platform 및 NSX 기능을 계속 사용할 수 있습니다.

원인

CA 서명 인증서의 기본 만료 기간은 825일입니다. 시스템 자체 서명 인증서는 자동으로 갱신됩니다. 사용자 지정 CA 서명 인증서를 가져오는 경우 인증서의 수명주기를 유지해야 합니다. 갱신하는 것을 잊은 경우 NSX Application PlatformNSX Manager 통합 장치 간의 연결이 끊어지고 호스팅하는 NSX Application Platform 및 NSX 기능을 계속 사용할 수 없게 됩니다.

해결책

  1. 루트 사용자 권한으로 NSX Manager 장치에 로그인합니다.
  2. NSX Manager 명령 프롬프트에서 다음 kubectl 명령을 사용하여 자체 서명된 CA 서명 인증서에 위임합니다.
     "system prompt>"  kubectl patch certificate ca-cert -n cert-manager --type='json' -p='[{"op": "replace", "path": "/spec/secretName", "value":"ca-key-pair"}]'
  3. 약 30초 동안 기다린 다음, NSX Manager 시스템 프롬프트에 한 번에 하나씩 kubectlcat 명령을 입력하여 송신 인증서를 내보냅니다.
     "system prompt>"  kubectl get secret -n nsxi-platform egress-tls-cert -o=jsonpath='{.data.tls\.crt}' | base64 -d - > tls.crt "
    system prompt>"  kubectl get secret -n nsxi-platform egress-tls-cert -o=jsonpath='{.data.ca\.crt}' | base64 -d - > ca.crt
     "system prompt>"  cat tls.crt ca.crt > egress.crt
  4. 사용자 인터페이스를 사용하여 egress.crtNSX Manager 장치로 가져오고 인증서 UUID를 획득합니다.
    1. 브라우저에서 엔터프라이즈 관리자 권한으로 https://<nsx-manager-ip-address>에서 NSX Manager에 로그인합니다.
    2. 시스템 > 인증서로 이동한 후 가져오기를 클릭하고 드롭다운 메뉴에서 인증서를 선택합니다.
    3. 인증서의 이름을 입력합니다.
    4. 서비스 인증서아니요로 설정합니다.
    5. 인증서 컨텐츠 텍스트 상자에 이전 단계에서 생성한 egress.crt 파일의 내용을 붙여넣습니다.
    6. 저장을 클릭합니다.
    7. [인증서] 테이블에서 새로 추가된 인증서에 대한 행을 확장하고 인증서 ID 값을 복사합니다.
  5. NSX Manager 장치 루트 사용자 세션으로 돌아가서 시스템 프롬프트에서 다음 curl 명령을 사용하여 PricinpleIdentity cloudnative_platform_egress UUID를 가져옵니다.
     "system prompt>"  curl -ku 'admin:Admin!23Admin' https://127.0.0.1/api/v1/trust-management/principal-identities
  6. 시스템 프롬프트에서 다음 curl 명령을 사용하여 PrincipleIdentity를 가져온 인증서 ID와 바인딩합니다.
    curl -ku 'admin: "yourAdminPassword" ' https://127.0.0.1/api/v1/trust-management/principal-identities?action=update_certificate -X POST -H "Content-Type: application/json" -H "X-Allow-Overwrite: true" -d '{"principal_identity_id": " "<PI-UUID>" ", "certificate_id": " "<EGRESS-CERT-ID>" "}'