Automated VCSA 6.7 Install using CLI

So easy it will leave you feeling warm and fuzzy

Image credit: Unsplash

This post is an extention of my ESXi setup, usually what I do after the host is up.

We will use a file to automate 100% of the configuration.

Our goal is to make this process easy, boring, and repeatable.


  • ESXi 6.7 U2 Host
  • Ubuntu or similar PC

Get the vCenter ISO

Covered in an earlier post. Get the ISO any way you’d like.

This demo uses: VMware-VCSA-all-6.7.0-13010631.iso

Put the ISO in your ~/Downloads folder if you plan on following my exact commands

Create the config file

First mount the VCSA ISO locally and then create a custom JSON config that will be used.

Mount the ISO

mkdir /vcsa
sudo mount -o loop ~/Downloads/VMware-VCSA-all-6.7.0-13010631.iso /vcsa

We will be using vCenter (VCSA) with an embedded PSC controller. If you’re wondering what the heck PCS is, you can learn more about it here.

The ISO will contain a few templates for us to copy and modify. Other options for VCSA and PCS can be found here.

Copy and edit the json config

cp /vcsa/vcsa-cli-installer/templates/install/embedded_vCSA_on_ESXi.json /tmp/config.json

# If you want to start with my exact config:
curl -L > /tmp/config.json

Validate the template without installling

/vcsa/vcsa-cli-installer/lin64/vcsa-deploy install \
--accept-eula \
--verify-template-only \

If you plan on using FQDN for the vCenter hostname, make sure the address resolves without fail.

nslookup -nosearch -nodefname _FQDN_or_IP_address_

Install VCSA to your ESXi host

Run the installation

/vcsa/vcsa-cli-installer/lin64/vcsa-deploy install \
--accept-eula \
--acknowledge-ceip \
--terse \
--no-ssl-certificate-verification \

If you run into any issues, you can replace --terse with --verbose.

Validate vCenter install

Navigate to the vCenter FQDN_or_IP_address in your browser and log in. Don’t forget to use the propper domain.local suffix:

# The root user for VCSA is `administrator`
Password: R00tp@ssw0rd!


You’re now ready to deploy some VMs! The biggest reason I setup VCSA is to leverage which is a goLang API interface to vSphere.

I plan on revisting this post and adding in LetsEncrypt SSL certificates and VMware licenses in config.json.


Jim Angel
Jim Angel
Everything Computers & Cloud

I’m an Infrastructure Cloud Consultant at Google. I love demystifying Kubernetes and related concepts. Part of my journey includes serving as a documentation co-chair for Kubernetes.

comments powered by Disqus