VMware vSphere is VMware's virtualization platform, which transforms data centers into aggregated computing infrastructures that include CPU, storage, and networking resources. vSphere manages these infrastructures as a unified operating environment, and provides you with the tools to administer the data centers that participate in that environment. Apache Brooklyn includes support for vSphere servers regardless of the underlying provider (AWS, Hetzner, etc).
To deploy applications on a vSphere server Apache Brooklyn needs to know its vRealize Automation endpoint that is used to communicate with vCenter to discover compute resources, collect data, and provision machines. It is recommended to create customized VM templates to be cloned to speed up provisioning operations. The vSphere Server endpoint is secured and credentials must be provided in the vSphere location catalog definition.
Below are examples of configuration options that use values specific to a vSphere server:
{% read _vSphere_configuration.md %}
The next two sections show a Linux and Windows locations examples.
Placeholders surrounded with <>
have to be replaced with their respective values.
brooklyn.catalog: id: my-vsphere-linux-location name: my-vsphere-linux-location itemType: location item: type: vsphere brooklyn.config: displayName: vSphere VMware Linux # vcenter access endpoint: https://<VSPHERE-SERVER>/sdk identity: <VSPHERE-USER> credential: <VSPHERE-PASS> resourcePool: Resources cluster: <COMPUTE-CLUSTER> datastore: <DATASTORE> customDomain: <DOMAIN> folder: <FOLDER> # VM template details imageId: <TEMPLATE-VM> user: <VM-USER> password: <VM-PASSWORD> networks: - name: <NETWORK-NAME> # Prefix machine name with initials cloudMachineNamer: org.apache.brooklyn.core.location.cloud.names.CustomMachineNamer custom.machine.namer.machine: <PREFIX>-${entity.application.id}-LINUX-${entity.displayName[0..*10]}-${entity.id} vmNameMaxLength: 80
Placeholders surrounded with <>
have to be replaced with their respective values.
brooklyn.catalog: id: my-vsphere-windows-location name: my-vsphere-windows-location itemType: location item: type: vsphere brooklyn.config: displayName: vSphere VMware Windows # vcenter access endpoint: https://<VSPHERE-SERVER>/sdk identity: <VSPHERE-USER> credential: <VSPHERE-PASS> resourcePool: Resources cluster: <COMPUTE-CLUSTER> datastore: <DATASTORE> customDomain: <DOMAIN> folder: <FOLDER> # VM template details imageId: <TEMPLATE-VM> osFamily: Windows user: Administrator password: <VM-PASSWORD> networks: - name: <NETWORK-NAME> # Prefix machine name with initials cloudMachineNamer: org.apache.brooklyn.core.location.cloud.names.CustomMachineNamer custom.machine.namer.machine: <PREFIX>-${entity.application.id}-WINDOWS-${entity.displayName[0..*10]}-${entity.id} vmNameMaxLength: 80