Supervisor utiliza TLS para la comunicación entre el Supervisor y NSX. Es posible que tenga que rotar varios certificados de NSX si implementó el Supervisor con la pila de redes NSX.
Certificados de NSX utilizados por Supervisor
- Certificado y clave del equilibrador de carga de NSX
- Certificado y clave de NSX Manager
Rotar la clave y el certificado del equilibrador de carga de NSX
- Seleccione para generar el certificado.
- Seleccione para actualizar el certificado y la clave.
Generar una clave y un certificado autofirmado para cada nodo de NSX Manager
Supervisor utiliza la cuenta de administrador de empresa para acceder a la API de NSX Manager. Si el certificado de NSX Manager caduca, el Supervisor no podrá acceder a NSX.
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
Para solucionar el problema, actualice el certificado y la clave de cada nodo de NSX Manager. Si utiliza un clúster de administración de NSX de 3 nodos con una dirección VIP, tenga en cuenta que Supervisor no utiliza la dirección VIP. Esto significa que tendrá que rotar cada certificado en cada uno de los nodos de NSX Manager. Para rotar los certificados no basta únicamente con reemplazar el certificado VIP.
- Para rotar el certificado de un nodo de NSX Manager, cree una solicitud de firma de certificado denominada y rellénela con el contenido que aparece a continuación.
Donde:
NSX-MGR-IP-ADDRESS
es la dirección IP de NSX ManagerNSX-MGR-FQDN
es el FQDN o la dirección IP de NSX Manager
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
Por ejemplo:[ 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
- Utilice OpenSSL para generar el certificado SSL y la clave privada.
openssl req -newkey rsa -nodes -days 1100 -x509 -config nsx-mgr-01-cert.cnf -keyout nsx-mgr-01.key -out nsx-mgr-01.crt
- Compruebe que aparece el siguiente resultado después de ejecutar el comando.
Generating a 2048 bit RSA private key ...............+++ ................+++ writing new private key to 'nsx-mgr-01.key'
- Debería ver 3 archivos: la solicitud de firma inicial y el certificado y la clave privada generados al ejecutar la solicitud de firma.
- Ejecute el siguiente comando para comprobar el certificado y la clave privada.
openssl x509 -in nsx-mgr-01.crt -text -noout
- Si utiliza un clúster de administración de NSX de varios nodos, repita el proceso para cada nodo de NSX Manager. Cambie la dirección IP y el FQDN en la solicitud de firma del certificado, y los nombres del archivo de salida según corresponda.
Importar el certificado SSL y la clave privada a la consola de administración de NSX-T
nsx.crt
y
nsx.key
de forma local, puede cargarlos en NSX o puede copiar y pegar el contenido.
- Inicie sesión en la consola de administración de NSX y desplácese hasta la página .
- Haga clic en Nota: Dado que generó un certificado autofirmado, asegúrese de seleccionar Importar certificado y no Importar certificado de CA.
.
- Introduzca un nombre descriptivo para el certificado y el par de claves, como
nsx-mgr-01-cert-and-key
. - Busque y seleccione el archivo de certificado, o copie y pegue su contenido, incluidos el encabezado y el pie de página.
Por ejemplo:
-----BEGIN CERTIFICATE----- MIID+zCCAuOgAwIBAgIUCfXaWxNwXvrEFQbt+Dvvp9C/UkIwDQYJKoZIhvcNAQEL BQAwVTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExCzAJBgNVBAcM ... FGlnyT4vxpa2TxvXNTCuXPV9z0VtVBF2QpUJluGH7W1i2wUnApCCXhItcBkfve0f pCi9YoRoUT8fuMBYo7sL -----END CERTIFICATE-----
- Busque y seleccione la clave, o copie y pegue su contenido, incluidos el encabezado y el pie de página.
Por ejemplo:
-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC5GNlUSYHa1p+E XuOGAsIgiFxUnerRYNm2ARMqRb/xKK6R4xgZhBmpmikpE90vQibvouHqnL13owq7 ... OzbnwMCUI2TeY1iJNx3HNKUrdLvrr8CMh7Looe0L4/2j7ygew2x2C5m272SCJYs/ ly+bOXEYaH4/ORHbvvr0jQ== -----END PRIVATE KEY-----
- Seleccione No para la opción Certificado de servicio.
- Introduzca una descripción para el certificado y el par de claves, como
Cert and Private Key for NSX Manager Node 1
. - Haga clic en Importar.
- Repita el proceso para cada uno de los certificados de NSX Manager y el par de claves.
Registrar el certificado de NSX Manager mediante la NSX API
- En NSX Manager, seleccione .
- En la columna de identificadores, seleccione el identificador del certificado que desee registrar y cópielo de la ventana emergente.
- Ejecute la siguiente llamada API para enumerar los certificados. Obtenga los identificadores de nodo de certificado de cada certificado que desee actualizar.
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates
- Ejecute la siguiente llamada API para validar el certificado.
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>?action=validate
Por ejemplo:https://10.19.92.133/api/v1/trust-management/certificates/070bae44-7548-45ff-a884-578f079eb6d4?action=validate
- Ejecute la siguiente llamada API para reemplazar el certificado de un nodo de 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>
Por ejemplo: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
- Si utiliza un clúster de administración de NSX de varios nodos, repita el proceso de reemplazo de certificados para cada nodo de NSX Manager.
- Cuando haya terminado, elimine cada certificado caducado que reemplazó. Puede hacerlo mediante la interfaz de NSX Manager o con la NSX API.
Por ejemplo:
https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>