Deploy a VCH to an ESXi Host with No vCenter Server
This topic provides instructions for deploying a virtual container host (VCH) to an ESXi host that is not managed by vCenter Server. This is the most straightforward way to deploy a VCH, and is ideal for testing.
Prerequisites
- Deploy the vSphere Integrated Containers appliance. For information about deploying the appliance, see Deploy the vSphere Integrated Containers Appliance.
- Download the vSphere Integrated Containers Engine bundle,
vic_1.1.x-version.tar.gz
, from https://vic_appliance_address:9443 and unpack it on your working machine. If you configured the appliance to use a different port for the file server, replace 9443 with the appropriate port. - Create or obtain an ESXi host with the following configuration:
- One datastore
- The VM Network is present
- You can use a nested ESXi host for this example
- Verify that the ESXi host meets the requirements in Environment Prerequisites for VCH Deployment.
- Make sure that the correct firewall port is open on the ESXi host. For information about how to open ports on ESXi hosts, see Open the Required Ports on ESXi Hosts.
- Familiarize yourself with the vSphere Integrated Containers Engine binaries, as described in Contents of the vSphere Integrated Containers Engine Binaries.
- Familiarize yourself with the options of the
vic-machine create
command described in VCH Deployment Options.
Procedure
- Open a terminal on the system on which you downloaded and unpacked the vSphere Integrated Containers Engine binary bundle.
- Navigate to the directory that contains the
vic-machine
utility: Run the
vic-machine create
command.Wrap any option arguments that include spaces or special characters in quotes. Use single quotes if you are using
vic-machine
on a Linux or Mac OS system and double quotes on a Windows system. In these examples, the password is wrapped in quotes because it contains@
.- Linux OS:
$ vic-machine-linux create --target esxi_host_address --user root --password 'esxi_host_p@ssword' --no-tlsverify --force
- Windows:
$ vic-machine-windows create --target esxi_host_address --user root --password "esxi_host_p@ssword" --no-tlsverify --force
- Mac OS:
$ vic-machine-darwin create --target esxi_host_address --user root --password 'esxi_host_p@ssword' --no-tlsverify --force
- Linux OS:
The vic-machine create
command in this example specifies the minimum information required to deploy a VCH to an ESXi host:
- The address of the ESXi host on which to deploy the VCH, in the
--target
option. - The ESXi host
root
user and password in the--user
and--password
options. - Disables the verification of clients that connect to this VCH by specifying the
--no-tlsverify
option. - Disables the verification of the ESXi host certificate by specifying the
--force
option.
Because the ESXi host only has only one datastore and uses the VM Network network, vic-machine create
automatically detects and uses those resources.
When deploying to an ESXi host, vic-machine create
creates a standard virtual switch and a port group for use as the container bridge network, so you do not need to specify any network options if you do not have specific network requirements.
This example deploys a VCH with the default name virtual-container-host
.
Result
At the end of a successful deployment, vic-machine
displays information about the new VCH:
Initialization of appliance successful VCH Admin Portal: https://vch_address:2378 Published ports can be reached at: vch_address Docker environment variables: DOCKER_HOST=vch_address:2376 Environment saved in virtual-container-host/virtual-container-host.env Connect to docker: docker -H vch_address:2376 --tls info Installer completed successfully
What to Do Next
To test your VCH, see Verify the Deployment of a VCH.
For examples of commands to deploy a VCH in various other vSphere configurations, see Advanced Examples of Deploying a VCH.