Juju supports VMWare's vSphere ("Software-Defined Data Center") installations as a targetable cloud. In order to use the vSphere provider, you will need to have an existing vSphere installation, which supports VMWare's Hardware Version 8 or better.
To enable Juju to work with VMWare vSphere, you should start by generating a generic configuration file using the command:
This will generate a file,
environments.yaml, which will live in your
~/.juju/ directory (and will create the directory if it doesn't already
Note: If you have an existing configuration, you can use
juju generate-config --show to output the new config file, then copy and
paste relevant areas in a text editor etc.
The basic configuration will look something like this:
vsphere: type: vsphere host: <api-endpoint> user: <some-user> password: <some-password> datacenter: <datacenter-name> external-network: <external-network-name>
The values indicated by angle brackets (
>) need to be replaced, (e.g
with your vSphere information.
hostmust contain the IP address or DNS name of vSphere API endpoint.
passwordare fields that must contain your vSphere user credentials
datacenterfield must contain the name of your vSphere virtual datacenter.
external-networkis an optional field. If set, it contains the name of the network that will be used to obtain public IP addresses for each virtual machine provisioned by Juju. An IP pool must be configured in this network and all available public IP addresses must be added to this pool for it to work with Juju instances.
For more information on IP pools, see VMWare's official documentation.
You should also refer to the section on general configuration options for additional and advanced customisation of your environment.