Nachdem Sie eine VMware Cloud Director-Instanz mit einem SDDC in VMware Cloud Director service verknüpft haben, können verschiedene Aufgaben unter Umständen nicht mehr ausgeführt werden.
Problem
Nachdem Sie eine VMware Cloud Director-Instanz mithilfe von VMware Proxy Service mit einem SDDC verknüpft haben, wird vCenter Server möglicherweise als getrennt angezeigt. Wenn Sie versuchen, die Verbindung zu aktualisieren oder erneut herzustellen, führt dies zu einem Fehler mit einer Netzwerkausnahme, z. B. SocketTimeoutException
.
Sie können keine VM-Konsole öffnen oder OVF- und OVA-Dateien hochladen und herunterladen.
Netzwerkressourcen wie Netzwerkpools, externe Netzwerke oder Edge-Gateways können nicht hinzugefügt, bearbeitet oder gelöscht werden.
Wenn VMware Cloud Director API-Aufrufe an NSX tätigt, werden in der Datei vcd-debug-container.log Einträge ähnlich Received Response: 503
angezeigt.
Hinweis: In neueren Versionen der
VMware Cloud Director service-Proxy-Client-Appliance können Sie den
diagnose.sh
-Befehl zur Fehlerbehebung verwenden, um Probleme mit der Appliance zu diagnostizieren. Weitere Informationen hierzu finden Sie unter
Vorgehensweise zum Beheben von Fehlern bei der VMware Cloud Director service-Proxy-Client-Appliance. Wenn Sie versuchen, den
diagnose.sh
-Befehl auszuführen, und dies zu einem Fehler führt, befolgen Sie die Anweisungen zur Fehlerbehebung, die unten beschrieben werden.
Ursache
Dies geschieht, weil die VMware Cloud Director-Instanz weder mit vCenter Server, ESXi-Hosts noch NSX über VMware Proxy Service kommunizieren kann.
Dafür gibt es zwei mögliche Gründe.
Entweder schlägt die Kommunikation zwischen VMware Cloud Director und VMware Proxy Service fehl, oder die Kommunikation zwischen VMware Cloud Director und der Proxy-VM, die Sie während der Instanzenverknüpfung mit dem VMware Cloud on AWS-SDDC bereitgestellt haben, ist zwar erfolgreich, aber die Verbindung zwischen dem Proxy-Dienst und vCenter Server oder NSX kann nicht hergestellt werden.
Voraussetzungen
- Suchen Sie nach der VMware Reverse Proxy-Client-VM, die Sie bei der Erstellung der Verknüpfung zwischen dem SDDC und der VMware Cloud Director-Instanz im Ressourcenpool der vCenter Server-Benutzeroberfläche bereitgestellt haben.
- Melden Sie sich beim Betriebssystem der Reverse Proxy-Client-VM als root an.
Tipp: Das Kennwort für den
root-Benutzer finden Sie in den vApp-Eigenschaften der VM unter
root-password
.
Lösung
- Führen Sie den Befehl
transporter-status.sh
aus, um sicherzustellen, dass die VM mit dem Netzwerk verbunden ist.
Wenn die VM verbunden ist, gibt der Befehl den Status als
UP
und den Status von
command_channel_1
und
command_channel_2
als
CONNECTED
zurück.
- Stellen Sie sicher, dass die VMware Reverse-Proxy-Client-VM über eine gültige IPv4-Adresse verfügt.
- Navigieren Sie zur VM im Ressourcenpool des vCenter Server und überprüfen Sie, ob die VM über eine gültige IPv4-Adresse verfügt.
- Wenn die VM über keine gültige IPv4-Adresse verfügt, wählen Sie eine der folgenden Optionen aus.
- Führen Sie eine cURL-Anforderung an die URL aus, unter der die neuesten Images der VMware Reverse-Proxy-Client-VM gespeichert sind.
- Führen Sie über das Betriebssystem der VMware Reverse Proxy-Client-VM eine cURL-Anforderung an den VMware Proxy-Dienst aus.
curl -v <VMware-Proxy-Service-IP-address>
Sie finden die IP-Adresse des VMware Proxy-Diensts in den vApp-Eigenschaften der VMware Reverse Proxy-Client-VM unter
reverse-proxy-host
.
Der Befehl gibt ein Ergebnis ähnlich dem Folgenden zurück.
Connected to <VMware-Proxy-Service-IP-address> port 80
- Stellen Sie sicher, dass keine Firewallregeln oder andere Netzwerkprobleme vorliegen, die die VMware Reverse Proxy-Client-VM daran hindern, vCenter Server, NSX und ESXi anzupingen.
Wenn die Liste der zulässigen Ziele eine CIDR-Notation enthält und Sie einen der darin befindlichen Hosts nicht erreichen können, stellen Sie sicher, dass Sie den entsprechenden Host anpingen können. Wenn Sie erfolgreich sind, fügen Sie die IP-Adresse oder den FQDN des Hosts als separaten Eintrag zur Liste hinzu.
- Stellen Sie sicher, dass die VMware Reverse-Proxy-Client-VM ein gültiges API-Token verwendet.
Das aktuelle API-Token finden Sie in den vApp-Eigenschaften der VMware Reverse Proxy-Client-VM unter
csp-token
.
- Führen Sie eine POST-Anforderung unter https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize mit
refresh_token={your-api-token-value}
im Hauptteil der Anforderung aus.
Beispiel:
curl --location --request POST 'https://console.cloud.vmware.com/csp/gateway/am/api/auth/api-tokens/authorize' \
--header 'Accept: application/json' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Cookie: incap_ses_8217_1285679=sJfafQlQfgUmPGK0X6YIckRAaWIAAAAAZ5DsTuKH0eALPsXXCrk1Lw==; nlbi_1285679=qGFfKYa/khghkd06+iiRRwAAAAA7h7npdR2O1o9/MIk2Plre' \
--data-urlencode 'refresh_token=<your-csp-token>'
Nach Ablauf des API-Tokens gibt die Anforderung einen Fehler vom Typ Invalid Token
oder 400 Bad Request
zurück. Weitere Informationen finden Sie unter Vorgehensweise zum Erneuern des API-Tokens für die VMware Reverse Proxy-Client-VM.
Wenn Ihr API-Token gültig ist, gibt die Anforderung eine Antwort mit einem Zugriffstoken zurück, z. B.:
{
"id_token": "eyJhbGciOiJS.......srRmGX9eYKOKMA",
"token_type": "bearer",
"expires_in": 1799,
"scope": "ALL_PERMISSIONS openid group_ids group_names",
"access_token": "eyJhbGciOiJSU.........Q6Y9Yohgw",
"refresh_token": "B4STbh2fYFmjI9ABCv..............XeRniDiO4cBJjF82sWWprZfm7OLHn"
}
Der relevante Teil ist access_token
, der immer mit "ey"
beginnt und ein JSON Web Token (JWT) ist.
- Kopieren und fügen Sie
access_token
in den Abschnitt Kodiert unter https://jwt.io/ ein.
- Stellen Sie sicher, dass
context_name
in der Nutzlast die Organisations-ID für Ihre VMware Cloud-Organisation enthält und der Abschnitt Perms
die Rolle provider:network aufweist.