Supervisor usa TLS para comunicação entre Supervisor e NSX. Há vários certificados NSX que você pode precisar alternar se tiver implantado o Supervisor com a pilha de rede NSX.
NSX Certificados usados por Supervisor
- NSX Certificado e chave do balanceador de carga
- NSX Manager certificado e chave
Girar o certificado e a chave do balanceador de carga NSX
- Selecione para gerar o certificado.
- Selecione para atualizar o certificado e a chave.
Gerar um certificado autoassinado e uma chave para cada NSX Manager nó
Supervisor usa a conta de administrador corporativo para acessar a API NSX Manager. Se o certificado NSX Manager expirar, Supervisor não poderá acessar 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 resolver o problema, atualize o certificado e a chave para cada nó NSX Manager. Se você estiver usando um cluster de Gerenciamento do NSX de 3 nós com um endereço VIP, esteja ciente de que o Supervisor não usa o endereço VIP. Isso significa que você precisará alternar cada certificado em cada um dos nós NSX Manager. Você não pode alternar os certificados substituindo apenas o certificado VIP.
- Para alternar o certificado para um nó NSX Manager, crie uma solicitação de assinatura de certificado chamada e preencha-a com o conteúdo abaixo.
Onde:
NSX-MGR-IP-ADDRESS
é o endereço IP de NSX ManagerNSX-MGR-FQDN
é o FQDN ou endereço 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 exemplo:[ 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
- Use o OpenSSL para gerar o certificado SSL e a chave 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
- Verifique se você vê a seguinte saída depois de executar o comando.
Generating a 2048 bit RSA private key ...............+++ ................+++ writing new private key to 'nsx-mgr-01.key'
- Você deverá ver três arquivos: a solicitação de assinatura inicial e o certificado e a chave privada gerados ao executar a solicitação de assinatura.
- Execute o seguinte comando para verificar o certificado e a chave privada.
openssl x509 -in nsx-mgr-01.crt -text -noout
- Se você estiver usando um Cluster de Gerenciamento NSX de vários nós, repita o processo para cada nó NSX Manager. Altere o endereço IP e o FQDN na solicitação de assinatura de certificado e os nomes dos arquivos de saída adequadamente.
Importar o certificado SSL e a chave privada para o Console de gerenciamento do NSX-T
nsx.crt
e
nsx.key
localmente, poderá carregá-los para NSX ou copiar/colar o conteúdo.
- Faça login no NSX Console de gerenciamento e navegue até a página .
- Clique em Observação: Como você gerou um certificado autoassinado, certifique-se de selecionar Importar certificado (Import Certificate) e não Importar certificado de CA (Import CA Certificate).
.
- Digite um Nome (Name) descritivo para o certificado e o par de chaves, como
nsx-mgr-01-cert-and-key
. - Procure e selecione o arquivo de certificado ou copie/cole seu conteúdo, incluindo o cabeçalho e o rodapé.
Por exemplo:
-----BEGIN CERTIFICATE----- MIID+zCCAuOgAwIBAgIUCfXaWxNwXvrEFQbt+Dvvp9C/UkIwDQYJKoZIhvcNAQEL BQAwVTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExCzAJBgNVBAcM ... FGlnyT4vxpa2TxvXNTCuXPV9z0VtVBF2QpUJluGH7W1i2wUnApCCXhItcBkfve0f pCi9YoRoUT8fuMBYo7sL -----END CERTIFICATE-----
- Procure e selecione a chave ou copie/cole seu conteúdo, incluindo o cabeçalho e o rodapé.
Por exemplo:
-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC5GNlUSYHa1p+E XuOGAsIgiFxUnerRYNm2ARMqRb/xKK6R4xgZhBmpmikpE90vQibvouHqnL13owq7 ... OzbnwMCUI2TeY1iJNx3HNKUrdLvrr8CMh7Looe0L4/2j7ygew2x2C5m272SCJYs/ ly+bOXEYaH4/ORHbvvr0jQ== -----END PRIVATE KEY-----
- Selecione Não (No) para a opção Certificado de serviço (Service Certificate).
- Insira uma descrição para o certificado e o par de chaves, como
Cert and Private Key for NSX Manager Node 1
. - Clique em Importar (Import).
- Repita o processo para cada certificado NSX Manager e par de chaves.
Registrar o certificado NSX Manager usando o NSX API
- Em NSX Manager, selecione .
- Na coluna ID, selecione a ID do certificado que você deseja registrar e copie a ID do certificado da janela pop-up.
- Execute a seguinte chamada de API para listar os certificados. Obtenha as IDs de nó de certificado para cada certificado que você deseja atualizar.
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates
- Execute a seguinte chamada de API para validar o certificado.
GET https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>?action=validate
Por exemplo:https://10.19.92.133/api/v1/trust-management/certificates/070bae44-7548-45ff-a884-578f079eb6d4?action=validate
- Execute a seguinte chamada de API para substituir o certificado de um nó 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 exemplo: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
- Se você estiver usando um Cluster de Gerenciamento NSX de vários nós, repita o processo de substituição do certificado para cada nó NSX Manager.
- Quando terminar, exclua cada certificado expirado que você substituiu. Você pode fazer isso usando a interface NSX Manager ou usando o NSX API.
Por exemplo:
https://NSX-MGR-IP-or-FQDN/api/v1/trust-management/certificates/<cert-id>