VMware Cloud Director 執行個體與 VMware Cloud on AWS SDDC 建立關聯之後,您可能無法執行各種工作。

問題

VMware Cloud Director 執行個體與 VMware Cloud on AWS SDDC 建立關聯之後,vCenter Server 執行個體可能會顯示為已中斷連線。如果您嘗試重新整理或重新連線,則會導致失敗與網路例外狀況,例如 SocketTimeoutException

您無法新增、編輯或刪除網路資源,例如網路集區、外部網路或 Edge 閘道。

vcd-debug-container.log 中,您會看到類似下列內容的項目
java.lang.RuntimeException: Cannot execute request - Cannot execute request -
      com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') at [Source: (ByteArrayInputStream); line: 1, column: 2] - Json processing error. - Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') at [Source: UNKNOWN; line: 1, column: 2] 

VMware Cloud DirectorNSX 進行 API 呼叫時,會導致 Received Response: 503

原因

發生此情況的原因是 VMware Cloud Director 執行個體無法透過 Proxy 與 vCenter ServerNSX 進行通訊。您在執行個體與 VMware Cloud on AWS SDDC 建立關聯期間所部署 VMware Cloud Director 與 Proxy 虛擬機器之間的通訊會成功,但 Proxy 虛擬機器與 vCenter ServerNSX 之間的連線會失敗。

必要條件

  1. vCenter Server 使用者介面的資源集區中找到 Proxy 虛擬機器。該虛擬機器的名稱以 cds-proxy 開頭。
  2. 請連絡您的 VMware 代表以取得該 Proxy 虛擬機器的密碼。

解決方案

  • 確認為該 Proxy 虛擬機器指派有效的 IPv4 位址。
    1. vCenter Server 使用者介面的資源集區中導覽至該 Proxy 虛擬機器,然後檢查該虛擬機器是否具有有效的 IPv4 位址。
    2. 如果虛擬機器沒有有效的 IPv4 位址,請選取下列其中一項。
      • 按一下網路索引標籤,然後選取具有有效 DHCP 設定檔的網路。
      • 登入至虛擬機器的作業系統,然後透過執行下列命令,手動為其指派 IPv4 位址。
        sudo ifconfig ens160 IPv4-address netmask mask
        sudo route add default gw gateway-address ens160
  • 確認 VMware Cloud on AWS 主控台的 CDS Proxy 管理群組CDS Proxy 計算虛擬機器詳細目錄群組,以及 CDS Proxy 規則 - xxx NAT 規則中所顯示虛擬機器的 IPv4 位址。
    1. 透過 https://vmc.vmware.com 登入 VMware Cloud on AWS 主控台。
    2. 按一下您的 SDDC 卡片,然後按一下網路與安全性
    3. 詳細目錄下方,按一下群組
    4. 按一下管理群組,然後按一下 CDS Proxy 管理群組
    5. 按一下檢視成員,然後在 IP 位址索引標籤中,確認該 Proxy 虛擬機器的 IP 位址已存在。
    6. 按一下計算群組,然後按一下 CDS Proxy 計算虛擬機器
    7. IP 位址索引標籤中,確認該 Proxy 虛擬機器的 IPv4 位址已存在。
    8. 在 [網路] 下方,按一下 [NAT],然後確認 CDS Proxy 規則 - xxx 規則中顯示該 Proxy 虛擬機器的 IPv4 位址。
  • 確認該 Proxy 虛擬機器可以解析 vCenter ServerNSX Manager 的內部 IP 位址。
    1. 如有必要,可對 VMware Cloud on AWS API 執行 GET 要求以擷取 vCenter ServerNSX Manager 的 FQDN。
      GET https://vmc.vmware.com/vmc/api/orgs/vmc-organization-ID/sddcs/vmc-SDDC-ID
    2. 身份登入至該 Proxy 虛擬機器的作業系統,然後執行下列命令。
      nslookup vcenter-server-FQDN.com
      nslookup nsx-manager-FQDN.com
    3. 如果對 vCenter Server 的查閱命令失敗,請在 /etc/hosts 檔案中新增對應的項目。
      internal_vc_ip vcenter-server-FQDN.com
    4. 如果對 NSX Manager FQDN 的查閱失敗,請從網際網路執行 nslookup 來取得 NSX FQDN,然後在 /etc/hosts 檔案中新增對應的項目。
      public_nsx_ip nsx-manager-FQDN.com
  • 確認您可以對 vCenter Server 執行 Ping 命令,且可以解析其 IP 位址。
  • 透過執行 cURL 要求,確認是否已正確設定 NSX Manager 防火牆和 NAT 規則。
    curl -v nsx-manager-FQDN.com
    如果正確設定了防火牆和 NAT 規則,則該要求將導致 Error 404 Page Not Found 訊息。
  • 確認 NSX Edge 閘道上的防火牆規則允許該 Proxy 虛擬機器與 vCenter ServerESXiVMware Cloud Director 之間的連線。
    1. 透過 https://vmc.vmware.com 登入 VMware Cloud on AWS 主控台。
    2. 按一下您的 SDDC 卡片。
    3. 按一下網路與安全性,然後按一下閘道防火牆
    4. 按一下管理閘道索引標籤,然後確認 Proxy VC 存取Proxy ESX 存取管理閘道防火牆規則皆為該 Proxy 虛擬機器設定了正確的 IP 位址。
    5. 按一下計算閘道索引標籤,然後確認 CDS Proxy 計算防火牆輸入和輸出規則皆允許該 Proxy 虛擬機器與 VMware Cloud Director service 之間的連線。