To deploy VMware Cloud Director, you configure a REST API request and provide the parameters for the VMware Cloud Director environment.

When deploying VMware Cloud Director, in the deployment payload, you must specify the appliance type and size that you want to deploy by configuring the --deploymentOption parameter. By defaylt, the size is configured as primary-large and standby-large. For information, see Deploying the VMware Cloud Director Appliance by Using VMware OVF Tool for the VMware Cloud Director version you want to deploy.

Prerequisites

  • You must meet all requirements for deployment of VMware Cloud Director. For information, see Before you deploy VMware Cloud Director.
  • Verify that VMware Cloud Provider Lifecycle Manager supports the VMware Cloud Director version you want to deploy. For information about the interoperability between VMware Cloud Provider Lifecycle Manager and other VMware products, see the VMware Product Interoperability Matrix.
  • Save the VMware Cloud Director OVA file to the vcd/version-number/ova directory on the VMware Cloud Provider Lifecycle Manager host.
  • Verify that you have the password for the VMware Cloud Director database user.
  • Verify that you have the path to the mounted NFS server.

Procedure

  • In your Web browser, start Postman and configure the following HTTPS request.
    1. On the Headers tab, add the JSON session ID.
      Setting Value
      JSESSIONID vcp_lcm_session_id
    2. To deploy VMware Cloud Director, configure the following HTTPS request.
      Note: You can specify the following VMware Cloud Director certificates either when deploying VMware Cloud Director or at a later stage.
      Certificate Description
      http Specifies the VMware Cloud Director HTTP certificate. For more information, see Replacing Certificates for the HTTPS and Console Proxy Endpoints in VMware Cloud Director Installation, Configuration, and Upgrade Guide.
      consoleproxy Specifies the VMware Cloud Director console proxy certificate. For more information, see Replacing Certificates for the HTTPS and Console Proxy Endpoints in VMware Cloud Director Installation, Configuration, and Upgrade Guide.
      management Specifies the VMware Cloud Director VAMI and data base certificates. VMware Cloud Provider Lifecycle Manager currently does not support configuring separate certificates for these. For more information, see Replace a Self-Signed Embedded PostgreSQL and vCloud Director Appliance Management UI Certificate in VMware Cloud Director Installation, Configuration, and Upgrade Guide.
      restApi Specifies the VMware Cloud Director public endpoint REST API certificates. VMware Cloud Provider Lifecycle Manager currently does not support configuring separate certificates for these. For more information, see Customize Public Addresses in VMware Cloud Director Installation, Configuration, and Upgrade Guide.
      tenantPortal Specifies the VMware Cloud Director public endpoint web portal certificates. VMware Cloud Provider Lifecycle Manager currently does not support configuring separate certificates for these. For more information, see Customize Public Addresses in VMware Cloud Director Installation, Configuration, and Upgrade Guide.
      Setting Value
      HTTPS request method POST
      URL https://vcp_lcm_ip_address:port-number/api/api-versionlcm/environment?action=DEPLOY
      Body
      {
          "environmentName": "{{vcd_env_id}}",
          "products": [
              {
                  "properties": {
                      "installationId": 1,
                      "systemName": "vcd-1-vms",
                      "dbPassword": "{{password}}",
                      "publicAddress": {
                          "consoleProxyExternalAddress": "{{vcd_lb_ip}}:8443",
                          "restApiBaseHttpUri": "http://{{vcd_lb_ip}}",
                          "restApiBaseUri": "https://{{vcd_lb_ip}}",
                          "tenantPortalExternalHttpAddress": "http://{{vcd_lb_ip}}",
                          "tenantPortalExternalAddress": "https://{{vcd_lb_ip}}"
                      },
                      "adminEmail": "admin@email",
                      "adminFullName": "admin_name",
                      "nfsMount": "{{vcd_nfs_mount}}"
                  },
                  "deployment": {
                      "vcenterName": "{{vcenter_hostname}}.{{domainName}}_{{vc_user}}",
                      "datacenterName": "{{vc_datacenter}}",
                      "clusterName": "{{vc_cluster}}",
                      "resourcePool": "{{vc_res_pool}}",
                      "datastoreNames": [
                          "{{vc_datastore}}"
                      ]
                  },
                  "certificate": {
                      "http": {
                          "certificate": "{{vcd_cert}}",
                          "privateKey": "{{vcd_cert_key}}"
                      },
                      "consoleproxy": {
                          "certificate": "{{vcd_cert}}",
                          "privateKey": "{{vcd_cert_key}}"
                      },
                      "restApi": {
                          "certificate": "{{vcd_public_cert}}"
                      },
                      "tenantPortal": {
                          "certificate": "{{vcd_public_cert}}"
                      }
                  },
                  "integrations": [
                      {
                          "integrationId": "vcd-01-to-vc-01",
                          "datacenterComponentType": "VCENTER",
                          "hostname": "{{vcenter_hostname}}.{{domainName}}",
                          "integrationUsername": "[email protected]",
                          "integrationPassword": "{{vc_password}}",
                          "properties": {
                              "providerVdcs": {
                                      "PVDC-1": {
                                      "description": "m01vc01-comp-rp",
                                      "highestSupportedHardwareVersion": "vmx-14",
                                      "isEnabled": true,
                                      "clusterName": "{{vc_cluster}}",
                                      "resourcePoolname": "{{pvdc_resource_pool}}",
                                      "nsxIntegration": "vcd-01-to-nsx-01",
                                      "storageProfile":[
                                          "{{pvdc_storage_profile}}"
                                      ],
                                      "networkPoolname":"NP-1"
                                  }
                              }
                          }
                      },
                      {
                          "integrationId": "vcd-01-to-nsx-01",
                          "datacenterComponentType": "NSXT",
                          "hostname": "{{nsxt_hostname}}.{{domainName}}",
                          "integrationUsername": "admin",
                          "integrationPassword": "{{nsx_password}}",
                          "properties": {
                              "networkPools": {
                                  "NP-1": "{{pvdc_np_transport_zone}}"
                              },
                              "vcdExternalNetworks": {
                                  "EN-1": {
                                      "subnets": [
                                          {
                                              "gateway": " gateway_ip_address ",
                                              "prefixLength": 24,
                                              "dnsServer1": "",
                                              "ipRanges":  [
                                                  {
                                                      "startAddress": "ip-start-address",
                                                      "endAddress": "ip-end-address"
                                                  }
                                              ]
                                          }
                                      ],
                                      "description": "ExternalNetworkCreatedViaVCDBringup",
                                      "backingId": "{{VCD-Segment-Name}}",
                                      "backingType": "IMPORTED_T_LOGICAL_SWITCH"
                                  }
                              }
                          }
                      },
                      {
                          "integrationId": "vcd-01-to-rmq-01",
                          "productType": "RMQ",
                          "hostname": "{{rmq_lb_name}}.{{domainName}}",
                          "port": "{{rmq_port_amqp_ssl}}",
                          "integrationUsername": "svc_vcd",
                          "integrationPassword": "{{password}}",
                          "properties": {
                              "amqpExchange": "systemExchange",
                              "amqpVHost": "/",
                              "amqpUseSSL": true,
                              "amqpSslAcceptAll": true,
                              "amqpPrefix": "vcd"
                          }
                      }
                  ],
                  "productType": "VCD",
                  "productId": "{{vcd_product_id}}",
                  "version": " vcd_version ",
                  "license": "{{vcd_license}}",
                  "adminPassword": "{{password}}",
                  "nodes": [
                      {
                          "hostName": "{{vcd_cell_1_name}}.{{domainName}}",
                          "vmName": "{{vcd_cell_1_name}}",
                          "rootPassword": "{{password}}",
                          "gateway": "{{vcd_mgmt_nw_gateway}}",
                          "nics": [
                              {
                                  "ipAddress": "{{vcd_cell_1_ip}}",
                                  "networkName": "vcd-dmz-nw-portgroup",
                                  "staticRoutes": []
                              }, {
                                  "ipAddress": "{{vcd_cell_1_mgmt_ip}}",
                                  "networkName": "vcd-mgmt-nw-portgroup",
                                  "staticRoutes": []
                              }
                          ]
                      },
                      {
                          "hostName": "{{vcd_cell_2_name}}.{{domainName}}",
                          "vmName": "{{vcd_cell_2_name}}",
                          "rootPassword": "{{password}}",
                          "gateway": "{{vcd_mgmt_nw_gateway}}",
                          "nics": [
                              {
                                  "ipAddress": "{{vcd_cell_2_ip}}",
                                  "networkName": "network-name",
                                  "staticRoutes": []
                              }, {
                                  "ipAddress": "{{vcd_cell_2_mgmt_ip}}",
                                  "networkName": "network-name",
                                  "staticRoutes": []
                              }
                          ]
                      }
                  ]
              }
          ]
      }

Results

If the request is successful, you see a OK (200) status and "taskId":id-number. To check the status of the deployment, see Retrieve the status of a VMware Cloud Provider Lifecycle Manager task.