감독자는 감독자와 NSX 간의 통신에 TLS를 사용합니다. NSX 네트워킹 스택을 사용하여 감독자를 배포한 경우 순환해야 할 수도 있는 다양한 NSX 인증서가 있습니다.
감독자가 사용하는 NSX 인증서
NSX가 있는 WCP는 NSX와의 통합을 위해 다음과 같은 두 가지 인증서를 사용합니다.
- NSX 로드 밸런서 인증서 및 키
- NSX Manager 인증서 및 키
이러한 인증서에 대한 자세한 내용은 "
NSX 관리 가이드" 에서
NSX 페더레이션용 인증서를 참조하십시오.
참고: 이 항목의 정보는 NSX v3.2를 기준으로 지정됩니다.
NSX 로드 밸런서 인증서 및 키 순환
NSX 로드 밸런서 TLS 인증서 및 키는
화면에서 순환할 수 있습니다.
- 을 선택하여 인증서를 생성합니다.
- 를 선택하여 인증서와 키를 업데이트합니다.
각 NSX Manager 노드에 대한 자체 서명된 인증서 및 키 생성
감독자는 엔터프라이즈 관리자 계정을 사용하여 NSX Manager API에 액세스합니다. NSX Manager 인증서가 만료되면 감독자는 NSX에 액세스할 수 없습니다.
NSX Manager 인증서가 만료되면
감독자 로그를 확인하십시오.
tail -f /var/log/vmware/wcp/wcpsvc.log
다음과 유사한 오류가 표시될 수 있습니다.
error wcp [kubelifecycle/nsx_pi.go:47] ... Error creating WCP service principal identity. Err: NSX service-wide principal identity creation failed: ... x509: certificate has expired
error wcp [kubelifecycle/controller.go:554] ... Failed to create WCP service PI in NSX. Err: WCP service principal idenitity creation failed: NSX service-wide principal identity creation failed: ... x509: certificate has expired
이 문제를 해결하려면 각 NSX Manager 노드에 대한 인증서 및 키를 업데이트합니다. VIP 주소가 있는 3노드 NSX 관리 클러스터를 사용하는 경우에는 감독자가 VIP 주소를 사용하지 않는다는 점에 유의하십시오. 따라서 각 NSX Manager 노드에서 각 인증서를 순환해야 합니다. VIP 인증서를 교체하는 것만으로는 인증서를 순환할 수 없습니다.
- NSX Manager 노드에 대한 인증서를 순환하려면 이름이 지정된 인증서 서명 요청을 생성하고 아래 내용으로 채웁니다.
형식 설명:
NSX-MGR-IP-ADDRESS
는 NSX Manager IP 주소입니다.NSX-MGR-FQDN
은 NSX Manager FQDN 또는 IP 주소입니다.
nsx-mgr-01-cert.cnf
[ req ] default_bits = 2048 default_md = sha256 prompt = no distinguished_name = req_distinguished_name x509_extensions = SAN req_extensions = v3_ca [ req_distinguished_name ] countryName = US stateOrProvinceName = California localityName = CA organizationName = NSX commonName = NSX-MGR-IP-ADDRESS #CAN ONLY USE IF SAN IS ALSO USED [ SAN ] basicConstraints = CA:false subjectKeyIdentifier = hash authorityKeyIdentifier=keyid:always,issuer:always [ v3_ca ] subjectAltName = DNS:NSX-MGR-FQDN,IP:NSX-MGR-IP-ADDRESS #MUST USE
예:[ req ] default_bits = 2048 default_md = sha256 prompt = no distinguished_name = req_distinguished_name x509_extensions = SAN req_extensions = v3_ca [ req_distinguished_name ] countryName = US stateOrProvinceName = California localityName = CA organizationName = NSX commonName = 10.197.79.122 [ SAN ] basicConstraints = CA:false subjectKeyIdentifier = hash authorityKeyIdentifier=keyid:always,issuer:always [ v3_ca ] subjectAltName = DNS:10.197.79.122,IP:10.197.79.122
- OpenSSL을 사용하여 SSL 인증서 및 개인 키를 생성합니다.
openssl req -newkey rsa -nodes -days 1100 -x509 -config nsx-mgr-01-cert.cnf -keyout nsx-mgr-01.key -out nsx-mgr-01.crt
- 명령을 실행한 후 다음 출력이 표시되는지 확인합니다.
Generating a 2048 bit RSA private key ...............+++ ................+++ writing new private key to 'nsx-mgr-01.key'
- 3개 파일(초기 서명 요청 및 서명 요청을 실행하여 생성된 인증서 및 개인 키)이 표시되어야 합니다.
- 다음 명령을 실행하여 인증서 및 개인 키를 확인합니다.
openssl x509 -in nsx-mgr-01.crt -text -noout
- 다중 노드 NSX 관리 클러스터를 사용하는 경우 각 NSX Manager 노드에 대해 이 프로세스를 반복합니다. 인증서 서명 요청에서 IP 주소 및 FQDN을 변경하고 그에 따라 출력 파일 이름을 변경합니다.
SSL 인증서 및 개인 키를 NSX-T 관리 콘솔로 가져오기
다음 단계를 완료하여 각 NSX Manager 노드 인증서 및 개인 키를 NSX로 가져옵니다.
nsx.crt
및
nsx.key
파일을 로컬에 저장한 경우 파일을 NSX에 업로드하거나 컨텐츠를 복사한 후 붙여넣을 수 있습니다.
- NSX 관리 콘솔에 로그온하고 페이지로 이동합니다.
- 참고: 자체 서명된 인증서를 생성했기 때문에 CA 인증서 가져오기가 아닌 인증서 가져오기를 선택해야 합니다.
를 클릭합니다.
- 인증서와 키 쌍의 알아보기 쉬운 이름을 입력합니다(예:
nsx-mgr-01-cert-and-key
). - 인증서 파일을 찾아서 선택하거나 해당 내용(머리글 및 바닥글 포함)을 복사한 후 붙여넣습니다.
예:
-----BEGIN CERTIFICATE----- MIID+zCCAuOgAwIBAgIUCfXaWxNwXvrEFQbt+Dvvp9C/UkIwDQYJKoZIhvcNAQEL BQAwVTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExCzAJBgNVBAcM ... FGlnyT4vxpa2TxvXNTCuXPV9z0VtVBF2QpUJluGH7W1i2wUnApCCXhItcBkfve0f pCi9YoRoUT8fuMBYo7sL -----END CERTIFICATE-----
- 키를 찾아서 선택하거나 해당 내용(머리글 및 바닥글 포함)을 복사한 후 붙여넣습니다.
예:
-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC5GNlUSYHa1p+E XuOGAsIgiFxUnerRYNm2ARMqRb/xKK6R4xgZhBmpmikpE90vQibvouHqnL13owq7 ... OzbnwMCUI2TeY1iJNx3HNKUrdLvrr8CMh7Looe0L4/2j7ygew2x2C5m272SCJYs/ ly+bOXEYaH4/ORHbvvr0jQ== -----END PRIVATE KEY-----
- 서비스 인증서 옵션에 대해 아니요를 선택합니다.
- 인증서와 키 쌍에 대한 설명(예:
Cert and Private Key for NSX Manager Node 1
)을 입력합니다. - 가져오기를 클릭합니다.
- 각 NSX Manager 인증서와 키 쌍에 대해 이 프로세스를 반복합니다.
NSX API를 사용하여 NSX Manager 인증서 등록
인증서와 키를 NSX Manager에 업로드했으면 NSX API를 사용하여 등록합니다. "
NSX 관리 가이드" 에서
인증서 가져오기 및 교체도 참조하십시오.
- NSX Manager에서 를 선택합니다.
- ID 열에서 등록하려는 인증서의 ID를 선택하고 팝업 창에서 인증서 ID를 복사합니다.
- 다음 API 호출을 실행하여 인증서를 나열합니다. 업데이트할 각 인증서의 인증서 노드 ID를 가져옵니다.
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates
- 다음 API 호출을 실행하여 인증서의 유효성을 검사합니다.
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>?action=validate
예:https://10.19.92.133/api/v1/trust-management/certificates/070bae44-7548-45ff-a884-578f079eb6d4?action=validate
- 다음 API 호출을 실행하여 NSX Manager 노드의 인증서를 교체합니다.
POST https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>? action=apply_certificate&service_type=API&node_id=<node-id>
예:POST https://10.19.92.133/api/v1/trust-management/certificates/070bae44-7548-45ff-a884-578f079eb6d4? action=apply_certificate&service_type=API&node_id=e61c7537-3090-4149-b2b6-19915c20504f
- 다중 노드 NSX 관리 클러스터를 사용하는 경우 각 NSX Manager 노드에 대해 인증서 교체 프로세스를 반복합니다.
- 완료되면 교체한 각각의 만료된 인증서를 삭제합니다. NSX Manager 인터페이스 또는 NSX API를 사용하여 이 작업을 수행할 수 있습니다.
예:
https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>