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
- You must be familiar with the JSON syntax.
- Download and Mount the vCenter Server Installer.
Procedure
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.
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.
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
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
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. |
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
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. |
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. |
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, administrator@vsphere.local. |
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": "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 |
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. |
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.
|
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. |
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. |
Name | Type | Description |
---|---|---|
ip_family |
string | IP version for the network of the appliance. Set to |
mode |
string | IP assignment for the network of the appliance. Set to |
ip |
string | IP address for the appliance. Required only if you use static assignment, that is, if you set the You must set an IPv4 or IPv6 address that corresponds to the network IP version, that is, to the value of the 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 |
prefix |
string | Network prefix length. Use only if the 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 For IPv6 version, the value must be between |
gateway |
string | IP address of the default gateway. For IPv6 version, the value can be |
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: 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. |
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 Ignored if you set NTP servers for time synchronization, that is, if you set the |
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 If you want to set the replication partner for this node, set |
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
Name | Type | Description |
---|---|---|
ceip_enabled |
Boolean | Set to true to join the CEIP for this appliance. |