Before you run the CLI installer to deploy a vCenter Server appliance, you must prepare a JSON file with configuration parameters and their values for your deployment specification.

The vCenter Server installer contains JSON templates for all deployment options. For information about the templates, see JSON Templates for CLI Deployment of the vCenter Server Appliance.

You can deploy an appliance with minimum configurations by setting values to the configuration parameters in the JSON template for your specification. You can edit the preset values, remove configuration parameters, and add configuration parameters for custom configurations.

For a complete list of the configuration parameters and their descriptions, navigate to the installer subdirectory for your operating system and run the vcsa-deploy install --template-help command or see Deployment Configuration Parameters.

Prerequisites

Procedure

  1. In the vCenter Server installer, navigate to the vcsa-cli-installer directory, and open the templates subfolder.
  2. Copy the deployment templates from the install subfolder to your workspace.
    Important: The path to the JSON configuration files must contain only ASCII characters. Extended ASCII and non-ASCII characters are unsupported.
  3. In a text editor, open the template file for your specification.
    To ensure the correct syntax of your JSON configuration file, use a JSON editor.
  4. Fill in the values for the required configuration parameters and, optionally, enter additional parameters and their values.
    For example, if you want to use an IPv4 DHCP assignment for the network of the appliance, in the network subsection of the template, change the value of the mode parameter to dhcp and remove the default configuration parameters that are for a static assignment.
            "network": {
                "ip_family": "ipv4",
                "mode": "dhcp"
            },
    Important:

    The string values, including the passwords, must contain only ASCII characters. Extended ASCII and non-ASCII characters are unsupported.

    To set a value that contains a backslash (\) or quotation mark (") character, you must precede the character with the backslash (\) character. For example, "password":"my\"password" sets the password my"password, "image":"G:\\vcsa\\VMware-vCenter-Server-Appliance-8.0.0.XXXX-YYYYYYY_OVF10.ova" sets the path G:\vcsa\VMware-vCenter-Server-Appliance-8.0.0.XXXX-YYYYYYY_OVF10.ova.

    The Boolean values must contain only lowercase characters, that is, a value can be either true or false. For example, "ssh_enable":false.

  5. (Optional) Use a JSON editor of your choice to validate the JSON file.
  6. Save in UTF-8 format and close the file.

What to do next

You can create and save additional templates if needed for your deployment specification.

JSON Templates for CLI Deployment of the vCenter Server Appliance

The vCenter Server installer includes JSON templates with the minimum configuration parameters for all deployment options. The templates are located in the vcsa-cli-installer/templates/install directory.

For each deployment option, there is one template for deploying the appliance on an ESXi host and another template for deploying the appliance on a vCenter Server instance.

Table 1. Deployment JSON Templates Included in the vCenter Server Installer
Template Description
embedded_vCSA_on_ESXi.json Contains the minimum configuration parameters required for the deployment of a vCenter Server appliance on an ESXi host.
vCSA_with_cluster_on_ESXi.json Contains the minimum configuration parameters required for the deployment of a vCenter Server appliance with a single node vSAN and a vLCM managed cluster on an ESXi host.
embedded_vCSA_on_VC.json Contains the minimum configuration parameters required for the deployment of a vCenter Server appliance on a vCenter Server instance.
embedded_vCSA_replication_on_ESXi.json Contains the minimum configuration parameters required for the deployment of a vCenter Server appliance as a replication partner to another embedded vCenter Server on an ESXi host.
embedded_vCSA_replication_on_VC.json Contains the minimum configuration parameters required for the deployment of a vCenter Server appliance replication partner to another vCenter Server appliance on a vCenter Server instance.

Deployment Configuration Parameters

When you prepare your JSON configuration files for a CLI deployment, you must set parameters and values to provide input data for the deployment of a vCenter Server appliance.

Sections and Subsections of Configuration Parameters in the JSON Deployment Files

The configuration parameters in the JSON configuration files for a CLI upgrade are organized in sections and subsections.

Table 2. Sections and Subsections of Configuration Parameters in the JSON Deployment Files
Section Subsection Description
new_vcsa - describes the appliance you want to deploy esxi

Use only if you want to deploy the appliance directly on an ESXi host.

Contains the configuration parameters that describe the target ESXi host.

Depending on whether you want to configure a vSAN or a vLCM Managed Cluster during the deployment, see the relevant section for a detailed information about the configuration parameters.
Note: You must fill in either the esxi or the vc subsection.
vc

Use only if you want to deploy the appliance on the inventory of a vCenter Server instance.

Contains the configuration parameters that describe the target ESXi host or DRS cluster from the vCenter Server inventory. See Configuration Parameters in the new_vcsa Section, vc Subsection.

Note: You must fill in either the vc or the esxi subsection.
appliance Contains the configuration parameters that describe the appliance. See Configuration Parameters in the new_vcsa Section, appliance Subsection.
install_parameters Optional subsection for the prefix base MAC address allocation options. See Configuration Parameters in the new_vcsa Section, install_parameters Subsection.
network Contains the configuration parameters that describe the network settings for the appliance. See Configuration Parameters in the new_vcsa Section, network Subsection.
os Contains the configuration parameters that describe the operating system settings for the appliance. See Configuration Parameters in the new_vcsa Section, os Subsection.
sso Contains the configuration parameters that describe the vCenter Single Sign-On settings for the appliance. See Configuration Parameters in the new_vcsa Section, sso Subsection.
ovftool_arguments Optional subsection for adding arbitrary arguments and their values to the OVF Tool command that the installer generates.
Important: The vCenter Server installer does not validate the configuration parameters in the ovftool_arguments subsection. If you set arguments that the OVF Tool does not recognize, the deployment might fail.
ceip - describes joining the VMware Customer Experience Improvement Program (CEIP) settings

Contains only the ceip_enabled configuration parameter to join or not to join the VMware Customer Experience Improvement Program (CEIP). See Configuration Parameters in the ceip Section, settings Subsection.

Note: If set to true, you must run the CLI deployment command with the --acknowledge-ceip argument.

For information about the CEIP, see the Configuring Customer Experience Improvement Program section in vCenter Server and Host Management.

Important:

The string values, including the passwords, must contain only ASCII characters. Extended ASCII and non-ASCII characters are unsupported.

To set a value that contains a backslash (\) or a quotation mark (") character, you must precede the character with the backslash (\) character. For example, "password":"my\"password" sets the password my"password. Similarly, "image":"G:\\vcsa\\VMware-vCenter-Server-Appliance-8.0.0.XXXX-YYYYYYY_OVF10.ova" sets the path G:\vcsa\VMware-vCenter-Server-Appliance-8.0.0.XXXX-YYYYYYY_OVF10.ova.

Boolean values must contain only lowercase characters. It must be either true or false. For example, "ssh_enable":false.

Configuration Parameters in the new_vcsa Section

Table 3. Configuration Parameters in the new_vcsa Section, esxi Subsection for Deployments with a vSAN and a vLCM Managed Cluster
Name Type Description
hostname string The IP address or FQDN of the target ESXi host on which you want to deploy the appliance.
username string A user name with administrative privileges on the target ESXi host, for example, root.
password string The password of the user with administrative privileges on the target ESXi host.
deployment_network string

The name of the network to which to connect the appliance.

Note: The network must be accessible from the target ESXi host.

Ignored if the target ESXi host has only one network.

datacenter string A specific data center you want to create.
cluster string The name of the vSAN or vLCM managed cluster.
compression_only Boolean Set the value to true to enable compression on the vSAN cluster. If this parameter is set to true, the deduplication_and_compression parameter must be set tofalse.
deduplication_and_compression Boolean Set the value to true to enable compression and deduplication on the vSAN cluster. If this parameter is set to true, the compression_only parameter must be set to false.
cache_disk A list of UUIDs or canonical names of disks you want to use for cache. Specify only SSDs.
capacity_disk A list of UUIDs or canonical names of disks you want to use for storage. Specify either SSDs or HDDs.
enable_vlcm Boolean Set to true to create a vLCM managed cluster.
enable_vsan_esa Boolean Set to true to create a vSAN cluster with vSAN ESA enabled. vSAN Express Storage Architecture is a next-generation architecture designed to get the most out of high-performance storage devices, resulting in greater performance and efficiency.
single_tier Array A list of UUIDs or canonical names of disks you want to add to a vSAN storage pool. Required only if you set enable_vsan_esa to true.
vsan_hcl_database_path String Local vSAN HCL database path. If the vSAN HCL database present in this location is outdated, the installer will download and replace the older version with the latest version. Required only if you set enable_vsan_esa to true.
datastore string

The name of the datastore where you want to store the configuration files and virtual disks of the appliance.

Note:

The datastore must be accessible from the ESXi host.

If you are using the thin disk mode, the datastore size should have a miniumu of 25GB space.

port integer

The HTTPS reverse proxy port of the target ESXi host.

The default port is 443. Use only if the target ESXi host uses a custom HTTPS reverse proxy port.

Table 4. Configuration Parameters in the new_vcsa Section, esxi Subsection for Deployments without a vSAN or a vLCM Managed Cluster
Name Type Description
hostname string The IP address or FQDN of the target ESXi host on which you want to deploy the appliance.
username string A user name with administrative privileges on the target ESXi host, for example, root.
password string The password of the user with administrative privileges on the target ESXi host.
deployment_network string

The name of the network to which to connect the appliance.

Note: The network must be accessible from the target ESXi host.

Ignored if the target ESXi host has only one network.

datastore string

The name of the datastore where you want to store the configuration files and virtual disks of the appliance.

Note:

The datastore must be accessible from the ESXi host.

If you are using the thin disk mode, the datastore size should have a miniumu of 25GB space.

port integer

The HTTPS reverse proxy port of the target ESXi host.

The default port is 443. Use only if the target ESXi host uses a custom HTTPS reverse proxy port.

Table 5. Configuration Parameters in the new_vcsa Section, vc Subsection
Name Type Description
hostname string The IP address or FQDN of the target vCenter Server instance on which you want to deploy the appliance.
username string vCenter Single Sign-On administrator user name on the target vCenter Server instance, for example, [email protected].
password string The password of the vCenter Single Sign-On administrator user on the target vCenter Server instance.
deployment_network string

The name of the network to which to connect the appliance.

Note: The network must be accessible from the target ESXi host or DRS cluster on which you want to deploy the appliance.

Ignored if the target ESXi host or DRS cluster has only one network.

datacenter array

The vCenter Server datacenter that contains the target ESXi host or DRS cluster on which you want to deploy the appliance.

If the datacenter is located in a folder or a structure of folders, specify the value as a comma-separated list of strings. For example,
["parent_folder", "child_folder", "datacenter_name"]
Note: The value is case-sensitive.
datastore string

The name of the datastore that you want to store the configuration files and virtual disks of the appliance.

Note:

The datastore must be accessible from the target ESXi host or DRS cluster.

The datastore must have at least 25 GB of free space.

port integer

The HTTPS reverse proxy port of the target vCenter Server instance.

The default port is 443. Use only if the target vCenter Server instance uses a custom HTTPS reverse proxy port.

ssl_certificate_verification string The CLI verifies that a server's security certificate is signed by a Certificate Authority (CA), and establishes a secure connection. If the certificate is self-signed, the CLI stops the upgrade unless you specify one of the following SSL certificate configuration options:

Specify the Secure Hash Algorithm 1 (SHA-1) certificate thumbprint. A certificate thumbprint is a hexadecimal string that uniquely identifies a certificate. The thumbprint is calculated from the content of the certificate using a thumbprint algorithm.

"thumbprint": "certificate SHA-1 thumbprint"

Set verification_mode to NONE.

"verification_mode": "NONE"

If you are connecting to a server with a self-signed certificate, and fail to either specify the SHA-1 certificate thumbprint or set the verification mode to NONE, the CLI displays the server's self-signed certificate thumbprint, and prompts you to accept or reject the certificate thumbprint.

target array

The target ESXi host or DRS cluster on which you want to deploy the appliance.

Important: You must provide the name that is displayed in the vCenter Server inventory. For example, if the name of the target ESXi host is an IP address in the vCenter Server inventory, you cannot provide an FQDN.
If the target ESXi host or DRS cluster is located in a folder or a structure of folders, specify the value as a comma-separated list of strings. For example,
["parent_folder", "child_folder", "esxi-host.domain.com"]
If the target ESXi host is part of a cluster, specify the path as a comma-separated list of strings. For example,
["cluster_name", "esxi-host.domain.com"] 
				  
Note: The value is case-sensitive.
vm_folder string Optional. The name of the VM folder where the appliance is deployed.
Table 6. Configuration Parameters in the new_vcsa Section, appliance Subsection
Name Type Description
thin_disk_mode Boolean Set to true to deploy the appliance with thin virtual disks.
deployment_option string The size of the appliance.
  • Set to tiny if you want to deploy a vCenter Server appliance for up to 10 hosts and 100 virtual machines with the default storage size.

    Deploys an appliance with 2 CPUs, 12 GB of memory, and 315 GB of storage.

  • Set to tiny-lstorage if you want to deploy a vCenter Server appliance for up to 10 hosts and 100 virtual machines with the large storage size.

    Deploys an appliance with 2 CPUs, 12 GB of memory, and 1390 GB of storage.

  • Set to tiny-xlstorage if you want to deploy a vCenter Server appliance for up to 10 hosts and 100 virtual machines with the x-large storage size.

    Deploys an appliance with 2 CPUs, 12 GB of memory, and 3145 GB of storage.

  • Set to small if you want to deploy a vCenter Server appliance for up to 100 hosts and 1,000 virtual machines with the default storage size.

    Deploys an appliance with 4 CPUs, 19 GB of memory, and 380 GB of storage.

  • Set to small-lstorage if you want to deploy a vCenter Server appliance for up to 100 hosts and 1,000 virtual machines with the large storage size.

    Deploys an appliance with 4 CPUs, 19 GB of memory, and 1435 GB of storage.

  • Set to small-xlstorage if you want to deploy a vCenter Server appliance for up to 100 hosts and 1,000 virtual machines with the x-large storage size.

    Deploys an appliance with 4 CPUs, 19 GB of memory, and 3195 GB of storage.

  • Set to medium if you want to deploy a vCenter Server appliance for up to 400 hosts and 4,000 virtual machines with the default storage size.

    Deploys an appliance with 8 CPUs, 28 GB of memory, and 600 GB of storage.

  • Set to medium-lstorage if you want to deploy a vCenter Server appliance for up to 400 hosts and 4,000 virtual machines with the large storage size.

    Deploys an appliance with 8 CPUs, 28 GB of memory, and 1600 GB of storage.

  • Set to medium-xlstorage if you want to deploy a vCenter Server appliance for up to 400 hosts and 4,000 virtual machines with the x-large storage size.

    Deploys an appliance with 8 CPUs, 28 GB of memory, and 3360 GB of storage.

  • Set to large if you want to deploy a vCenter Server appliance for up to 1,000 hosts and 10,000 virtual machines with the default storage size.

    Deploys an appliance with 16 CPUs, 37 GB of memory, and 965 GB of storage.

  • Set to large-lstorage if you want to deploy a vCenter Server appliance for up to 1,000 hosts and 10,000 virtual machines with the large storage size.

    Deploys an appliance with 16 CPUs, 37 GB of memory, and 1665 GB of storage.

  • Set to large-xlstorage if you want to deploy a vCenter Server appliance for up to 1,000 hosts and 10,000 virtual machines with the x-large storage size.

    Deploys an appliance with 16 CPUs, 37 GB of memory, and 3425 GB of storage.

  • Set to xlarge if you want to deploy a vCenter Server appliance for up to 2,000 hosts and 35,000 virtual machines with the default storage size.

    Deploys an appliance with 24 CPUs, 56 GB of memory, and 1705 GB of storage.

  • Set to xlarge-lstorage if you want to deploy a vCenter Server appliance for up to 2,000 hosts and 35,000 virtual machines with the large storage size.

    Deploys an appliance with 24 CPUs, 56 GB of memory, and 1805 GB of storage.

  • Set to xlarge-xlstorage if you want to deploy a vCenter Server appliance for up to 2,000 hosts and 35,000 virtual machines with the x-large storage size.

    Deploys an appliance with 24 CPUs, 56 GB of memory, and 3565 GB of storage.

image string

Optional. A local file path or URL to the vCenter Server appliance installation package.

By default the installer uses the installation package that is included in the ISO file, in the vcsa folder.

name string

The VM name for the appliance.

Must contain only ASCII characters except a percent sign (%), backslash (\), or forward slash (/) and must be no more than 80 characters in length.

ovftool_path string

Optional. A local file path to the OVF Tool executable file.

By default the installer uses the OVF Tool instance that is included in the ISO file, in the vcsa/ovftool folder.

Table 7. Configuration Parameters in the new_vcsa Section, install_parameters Subsection
Name Type Description
mac_allocation_prefix string

The MAC prefix if a prefix based MAC allocation scheme is used for the VM managed by the appliance.

mac_allocation_prefix_length integer The MAC prefix length if a prefix based MAC allocation scheme is used for for the VM managed by the appliance.
Table 8. Configuration Parameters in the new_vcsa Section, network Subsection
Name Type Description
ip_family string

IP version for the network of the appliance.

Set to ipv4 or ipv6.

mode string IP assignment for the network of the appliance.

Set to static or dhcp.

ip string

IP address for the appliance.

Required only if you use static assignment, that is, if you set the mode parameter to static.

You must set an IPv4 or IPv6 address that corresponds to the network IP version, that is, to the value of the ip.family parameter.

An IPv4 address must comply with the RFC 790 guidelines.

An IPv6 address must comply with the RFC 2373 guidelines.

dns_servers string or array

IP addresses of one or more DNS servers.

To set more than one DNS server, use a comma-separated list of strings or a comma-separated list as a single string to provide the path. For example,
["x.y.z.a", "x.y.z.b"]
or
"x.y.z.a, x.y.z.b"

Optional when the mode parameter is set to static. Not supported when mode is set to DHCP.

prefix string

Network prefix length.

Use only if the mode parameter is set to static. Remove if the mode parameter is set to dhcp.

The network prefix length is the number of bits that are set in the subnet mask. For example, if the subnet mask is 255.255.255.0, there are 24 bits in the binary version of the prefix length, so the network prefix length is 24.

For IPv4 version, the value must be between 0 and 32.

For IPv6 version, the value must be between 0 and 128.

gateway string

IP address of the default gateway.

For IPv6 version, the value can be default.

ports string

Optional. Port numbers that the vCenter Server appliance uses for direct HTTP connections. By default, port 80 redirects requests to HTTPS port 443. You can customize the vCenter Server HTTP and HTTPS ports. If specifying a custom HTTP and HTTPS port number, ensure that you do not use a port already in use by vCenter Server, or the default HTTP and HTTPS ports of 80 and 443.

The options to specify a custom port are: "rhttpproxy.ext.port1":"port_number" for the HTTP port, and "rhttpproxy.ext.port2:"port_number" for the HTTPS port.

The following example specifies ports 81 and 444 for the HTTP and HTTPS ports:

ports: {"rhttpproxy.ext.port1":"81", "rhttpproxy.ext.port2":"444"}

For more information on ports in use by vCenter Server, see Required Ports for vCenter Server .

system_name string

Primary network identity.

Can be an IP address or FQDN, preferably FQDN.

You cannot change the value of this parameter after the deployment.

The FQDN and dotted-decimal numbers must comply with the RFC 1123 guidelines.

Table 9. Configuration Parameters in the new_vcsa Section, os Subsection
Name Type Description
password string

The password for the root user of the appliance operating system.

The password must contain between 8 and 20 characters, at least one uppercase letter, at least one lowercase letter, at least one number, and at least one special character, for example, a dollar sign ($), hash key (#), at sign (@), period (.), or exclamation mark (!). All characters must be lower ASCII characters without spaces.

ntp_servers string or array

Optional. Host names or IP addresses of one or more NTP servers for time synchronization.

To set more than one NTP server, use a comma-separated list of strings or a comma-separated list as a single string to provide the path. For example,
["x.y.z.a", "x.y.z.b"]
or
"x.y.z.a, x.y.z.b"
ssh_enable Boolean Set to true to enable SSH administrator login to the appliance.
Note: vCenter Server appliance high availability requires remote SSH access to the appliance.
time_tools_sync Boolean

Optional. Set to true to deploy the appliance with the VMware Tools time synchronization. VMware Tools synchronizes the time of the appliance with the time of the ESxi host.

Ignored if you set NTP servers for time synchronization, that is, if you set the ntp.servers parameter.

Table 10. Configuration Parameters in the new_vcsa Section, sso Subsection
Name Type Description
password string

Password of the vCenter Single Sign-On administrator user, administrator@your_domain_name.

If you are deploying a vCenter Server appliance as the first instance in a new vCenter Single Sign-On domain, you must set the password for the vCenter Single Sign-On administrator user.

The password must contain between 8 and 20 characters, at least one uppercase letter, at least one lowercase letter, at least one number, and at least one special character, for example, a dollar sign ($), hash key (#), at sign (@), period (.), or exclamation mark (!). All characters must be ASCII characters.

domain_name string

vCenter Single Sign-On domain name, for example, vsphere.local.

If you are deploying a vCenter Server appliance as the first instance in a new vCenter Single Sign-On domain, you must set the name for the new vCenter Single Sign-On domain.

replication_partner_hostname string

The system name of the partner vCenter Server.

Required only if you are deploying a replication partner in an existing vCenter Single Sign-On domain.

first_instance string

Set first_instance to true if you do not want to set the replication partner for this node.

If you want to set the replication partner for this node, set first_instance to false and provide the value of the replication_partner_hostname as the FQDN of a previously converged node which is currently in an embedded vCenter Server topology.

sso_port integer

The HTTPS reverse proxy port of the partner vCenter Server .

The default port is 443. Use only if the partner uses a custom HTTPS reverse proxy port.

Configuration Parameters in the ceip Section

Table 11. Configuration Parameters in the ceip Section, settings Subsection
Name Type Description
ceip_enabled Boolean Set to true to join the CEIP for this appliance.