VMware vSphere Plugin Installation#
This guide provides detailed instructions for installing the EDA Connect VMware vSphere plugin.
Prerequisites#
Before installing or deploying the VMware vSphere plugin components, ensure that:
- The Cloud Connect Core application is properly installed in the cluster (see Cloud Connect Installation)
- You have read-only access credentials to the VMware vCenter environment
Installation Steps#
To deploy the VMware vSphere plugin, complete the following tasks:
- Deploy the plugin EDA app
- Deploy the plugin instance
Step 1: Connect VMware vSphere Plugin App Deployment#
The VMware vSphere plugin app is an application in the EDA app ecosystem. It can be easily installed using the EDA Store UI.
Installation Using EDA Store UI#
- Navigate to the EDA Store in the EDA UI
- Locate the VMware vSphere Plugin App
- Click Install
- Complete the installation
Installation Using Kubernetes API#
If you prefer installing the plugin using the Kubernetes API, you can do so by creating the following Workflow resource:
Step 2: Connect VMware vSphere Plugin Deployment#
Create a Secret for VMware Credentials#
A prerequisite for creating a vmwarePluginInstance resource is a Secret resource with username and password fields that contain the account information for an account that can connect to the VMware vCenter environment and has read-only access to the cluster so that it can monitor the necessary resources.
Base64 encoding
Use the following command to base64 encode your username and password:
mandatory label
The secrets used by the EDA plugins must have the eda.nokia.com/backup: "true" label.
Create the VMware Plugin Instance#
As the VMware vSphere plugins are managed through the operator, you can use the EDA UI to create a new VmwarePluginInstance resource under the * System Administration > Connect > VMware Plugins* menu item.
As an alternative, you can also create the same VmwarePluginInstance using the following custom resource example. Make sure to replace the specified values with their relevant content.
apiVersion: vmware.eda.nokia.com/v2
kind: VmwarePluginInstance
metadata:
name: my-vmware-plugin-instance # A unique name for the plugin resource (can be the same as the spec.name, or different)
namespace: eda-system # The system namespace.
spec:
pluginNamespace: eda # The namespace in the EDA deployment holding the fabric associated with this plugin
externalId: example-external-id # A unique Identifier for the plugin (can be same as the name)
heartbeatIntervalSeconds: 30
name: example-vSphere # A unique name for the plugin
vcsaHost: example-host # The IP address of the vCenter Server
vcsaTlsVerify: true # To verify TLS of the VCSA
vcsaCertificate: "" # If the VCSA certificate is self signed, add it here to be able to verify from the plugin
authSecretRef: my-vmware-creds # Credentials are hosted in a separate Secret
operationalMode: Unrestricted # The operational mode of the plugin, can be ConnectManagedOnly, EDAManagedOnly or Unrestricted
kubectl apply -f - <<EOF
apiVersion: vmware.eda.nokia.com/v2
kind: VmwarePluginInstance
metadata:
name: my-vmware-plugin-instance # A unique name for the plugin resource (can be the same as the spec.name, or different)
namespace: eda-system # The system namespace.
spec:
pluginNamespace: eda # The namespace in the EDA deployment holding the fabric associated with this plugin
externalId: example-external-id # A unique Identifier for the plugin (can be same as the name)
heartbeatIntervalSeconds: 30
name: example-vSphere # A unique name for the plugin
vcsaHost: example-host # The IP address of the vCenter Server
vcsaTlsVerify: true # To verify TLS of the VCSA
vcsaCertificate: "" # If the VCSA certificate is self signed, add it here to be able to verify from the plugin
authSecretRef: my-vmware-creds # Credentials are hosted in a separate Secret
operationalMode: Unrestricted # The operational mode of the plugin, can be ConnectManagedOnly, EDAManagedOnly or Unrestricted
EOF
Name and External ID constraints
The plugin name and external ID must comply with the regex check of '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]' and can only contain alphanumerical characters and ., _ and -. It must start with an alphanumerical character, and have a length of 63 characters or fewer.
Configuration Parameters#
The VmwarePluginInstance resource supports the following key parameters:
| Field | Description | Required |
|---|---|---|
name | Name of the plugin instance in EDA. | Yes |
externalID | Unique identifier of the Plugin. | Yes |
pluginNamespace | The namespace in the EDA deployment holding the fabric associated with this plugin. | Yes |
vcsaHost | URL of the VCSA (e.g vcenter.mydomain.com). Note that no URI scheme should be provided. | Yes |
authSecretRef | Name of the Kubernetes Secret containing VCSA credentials | Yes |
heartbeatIntervalSeconds | Interval in seconds for plugin heartbeat to EDA (default: 30s). | No |
vcsaTlsVerify | Whether to verify the TLS certificate of VCSA (default: true). | No |
VCSACertificate | PEM encoded certificate for VCSA if self-signed (default: empty). | No |
Post-Installation Verification#
After deploying the plugin, verify that it is running:
Check that the plugin has registered with Connect:
You should see your VMware plugin listed with status information.
Next Steps#
After installation, proceed to:
- Configure distributed Port Groups in vCenter
- Set up Custom Attributes for EDA-managed mode (if required)
- Make sure LLDP is enabled on the distributed vSwitch (at least advertise in Discovery protocol settings)
- Review the VMware vSphere Plugin documentation for usage and operational modes