가져온 CA 서명 인증서가 만료되었습니다.
문제
NSX Manager 장치 호스트로 가져온 A 서명 인증서가 만료되어 NSX Application Platform 작업을 계속할 수 없습니다. 자체 서명된 CA 서명 인증서를 위임해야 호스팅하는 NSX Application Platform 및 NSX 기능을 계속 사용할 수 있습니다.
원인
CA 서명 인증서의 기본 만료 기간은 825일입니다. 시스템 자체 서명 인증서는 자동으로 갱신됩니다. 사용자 지정 CA 서명 인증서를 가져오는 경우 인증서의 수명주기를 유지해야 합니다. 갱신하는 것을 잊은 경우 NSX Application Platform 및 NSX Manager 통합 장치 간의 연결이 끊어지고 호스팅하는 NSX Application Platform 및 NSX 기능을 계속 사용할 수 없게 됩니다.
해결책
- 루트 사용자 권한으로 NSX Manager 장치에 로그인합니다.
- 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"}]'
- 약 30초 동안 기다린 다음, NSX Manager 시스템 프롬프트에 한 번에 하나씩 kubectl 및 cat 명령을 입력하여 송신 인증서를 내보냅니다.
"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
- 사용자 인터페이스를 사용하여 egress.crt를 NSX Manager 장치로 가져오고 인증서 UUID를 획득합니다.
- 브라우저에서 엔터프라이즈 관리자 권한으로 https://<nsx-manager-ip-address>에서 NSX Manager에 로그인합니다.
- 로 이동한 후 가져오기를 클릭하고 드롭다운 메뉴에서 인증서를 선택합니다.
- 인증서의 이름을 입력합니다.
- 서비스 인증서를 아니요로 설정합니다.
- 인증서 컨텐츠 텍스트 상자에 이전 단계에서 생성한 egress.crt 파일의 내용을 붙여넣습니다.
- 저장을 클릭합니다.
- [인증서] 테이블에서 새로 추가된 인증서에 대한 행을 확장하고 인증서 ID 값을 복사합니다.
- NSX Manager 장치 루트 사용자 세션으로 돌아가서 시스템 프롬프트에서 다음 curl 명령을 사용하여 PricinpleIdentity
cloudnative_platform_egress
UUID를 가져옵니다.
"system prompt>" curl -ku 'admin: "yourAdminPassword" ' https://127.0.0.1/api/v1/trust-management/principal-identities
- 시스템 프롬프트에서 다음 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>" "}'