감독자감독자와 NSX 간의 통신에 TLS를 사용합니다. NSX 네트워킹 스택을 사용하여 감독자를 배포한 경우 순환해야 할 수도 있는 다양한 NSX 인증서가 있습니다.

감독자가 사용하는 NSX 인증서

NSX가 있는 WCP는 NSX와의 통합을 위해 다음과 같은 두 가지 인증서를 사용합니다.
  • NSX 로드 밸런서 인증서 및 키
  • NSX Manager 인증서 및 키
이러한 인증서에 대한 자세한 내용은 " NSX 관리 가이드" 에서 NSX 페더레이션용 인증서를 참조하십시오.
참고: 이 항목의 정보는 NSX v3.2를 기준으로 지정됩니다.

NSX 로드 밸런서 인증서 및 키 순환

NSX 로드 밸런서 TLS 인증서 및 키는 감독자 > 인증서 > NSX 로드 밸런서 화면에서 순환할 수 있습니다.
  • 작업 > CSR 생성을 선택하여 인증서를 생성합니다.
  • 작업 > 인증서 바꾸기를 선택하여 인증서와 키를 업데이트합니다.

각 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 인증서를 교체하는 것만으로는 인증서를 순환할 수 없습니다.

  1. 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
  2. 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
    
  3. 명령을 실행한 후 다음 출력이 표시되는지 확인합니다.
    Generating a 2048 bit RSA private key
    ...............+++
    ................+++
    writing new private key to 'nsx-mgr-01.key'
    
  4. 3개 파일(초기 서명 요청 및 서명 요청을 실행하여 생성된 인증서 및 개인 키)이 표시되어야 합니다.
  5. 다음 명령을 실행하여 인증서 및 개인 키를 확인합니다.
    openssl x509 -in nsx-mgr-01.crt -text -noout
  6. 다중 노드 NSX 관리 클러스터를 사용하는 경우 각 NSX Manager 노드에 대해 이 프로세스를 반복합니다. 인증서 서명 요청에서 IP 주소 및 FQDN을 변경하고 그에 따라 출력 파일 이름을 변경합니다.

SSL 인증서 및 개인 키를 NSX-T 관리 콘솔로 가져오기

다음 단계를 완료하여 각 NSX Manager 노드 인증서 및 개인 키를 NSX로 가져옵니다. nsx.crtnsx.key 파일을 로컬에 저장한 경우 파일을 NSX에 업로드하거나 컨텐츠를 복사한 후 붙여넣을 수 있습니다.
  1. NSX 관리 콘솔에 로그온하고 시스템 > 인증서 페이지로 이동합니다.
  2. 가져오기 > 인증서 가져오기를 클릭합니다.
    참고: 자체 서명된 인증서를 생성했기 때문에 CA 인증서 가져오기가 아닌 인증서 가져오기를 선택해야 합니다.
  3. 인증서와 키 쌍의 알아보기 쉬운 이름을 입력합니다(예: nsx-mgr-01-cert-and-key).
  4. 인증서 파일을 찾아서 선택하거나 해당 내용(머리글 및 바닥글 포함)을 복사한 후 붙여넣습니다.

    예:

    -----BEGIN CERTIFICATE-----
    MIID+zCCAuOgAwIBAgIUCfXaWxNwXvrEFQbt+Dvvp9C/UkIwDQYJKoZIhvcNAQEL
    BQAwVTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExCzAJBgNVBAcM
    ...
    FGlnyT4vxpa2TxvXNTCuXPV9z0VtVBF2QpUJluGH7W1i2wUnApCCXhItcBkfve0f
    pCi9YoRoUT8fuMBYo7sL
    -----END CERTIFICATE-----
  5. 키를 찾아서 선택하거나 해당 내용(머리글 및 바닥글 포함)을 복사한 후 붙여넣습니다.

    예:

    -----BEGIN PRIVATE KEY-----
    MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC5GNlUSYHa1p+E
    XuOGAsIgiFxUnerRYNm2ARMqRb/xKK6R4xgZhBmpmikpE90vQibvouHqnL13owq7
    ...
    OzbnwMCUI2TeY1iJNx3HNKUrdLvrr8CMh7Looe0L4/2j7ygew2x2C5m272SCJYs/
    ly+bOXEYaH4/ORHbvvr0jQ==
    -----END PRIVATE KEY-----
  6. 서비스 인증서 옵션에 대해 아니요를 선택합니다.
  7. 인증서와 키 쌍에 대한 설명(예: Cert and Private Key for NSX Manager Node 1)을 입력합니다.
  8. 가져오기를 클릭합니다.
  9. 각 NSX Manager 인증서와 키 쌍에 대해 이 프로세스를 반복합니다.

NSX API를 사용하여 NSX Manager 인증서 등록

인증서와 키를 NSX Manager에 업로드했으면 NSX API를 사용하여 등록합니다. " NSX 관리 가이드" 에서 인증서 가져오기 및 교체도 참조하십시오.
  1. NSX Manager에서 시스템 > 인증서를 선택합니다.
  2. ID 열에서 등록하려는 인증서의 ID를 선택하고 팝업 창에서 인증서 ID를 복사합니다.
  3. 다음 API 호출을 실행하여 인증서를 나열합니다. 업데이트할 각 인증서의 인증서 노드 ID를 가져옵니다.
    GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates
  4. 다음 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
  5. 다음 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
  6. 다중 노드 NSX 관리 클러스터를 사용하는 경우 각 NSX Manager 노드에 대해 인증서 교체 프로세스를 반복합니다.
  7. 완료되면 교체한 각각의 만료된 인증서를 삭제합니다. NSX Manager 인터페이스 또는 NSX API를 사용하여 이 작업을 수행할 수 있습니다.
    예:
    https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>