Install & Configure VMware Cloud Director Extension for VMware Data Solutions 1.3

What is VCD Data Solution?

The VMware Cloud Director Extension for VMware Data Solutions is a plug-in for VCD that allows cloud providers to offer on-demand caching, messaging, and database software services at scale and thus expand their multi-tenant cloud infrastructure platform. The VCD Data Solutions include services such as VMware SQL with MySQL, VMware SQL with PostgreSQL, and RabbitMQ.

These services are deployed on top of the Kubernetes clusters deployed using Container Service Extension. Tenants can install Grafana and Prometheus in their Kubernetes clusters to perform data analytics, monitor a service’s health, and take action if an issue occurs.

In this post, I will walk through the steps of installing & Configuring VCD Data Solution Extension version 1.3

How does the Data Solutions Extension work?

The Data Solution Extension works in conjunction with Container Service Extensions 4.0 or later. It enables providers to publish data and messaging services to their tenants, who can then use them to build new or update current applications. After the Cloud Service Provider publishes data solutions, tenants can deploy them in TKG clusters controlled by Container Service Extension through the VCD UI. 

Before installing any data solution, tenants have to install a Service Operator (Data Solution Operator) in the TKG cluster where the data solutions will be deployed. The service operator manages the whole lifecycle of the data solution service instance from the inception to the dissolution.

The below image taken from VMware’s official documentation shows a high-level diagram of the Data Solutions Extension architecture.

VCD Data Solution Extension Interoperability

The data solution extension version 1.3 is compatible with the following software’s components. 

Installation Workflow (Service Provider)

Download the data solution extension iso from here

After the iso file is downloaded, login to the VCD provider portal, navigate to More > Solution Add-On Management, and click the upload button.

2: Select the “Create add-on instance after the upload is complete” to immediately create an instance of the data solution add-on and click on the upload button.

3: Accept the EULA by clicking on I Agree. 

4: Specify the Add-On instance name and select the option “Delete Previous UI Plugin Versions” (If you are upgrading the instance from an older version).

5: Click on the finish button to initiate the Data Solution Extension Add-On installation.

You can monitor the installation progress by clicking on the instance and navigating to the Tasks sub-page.

Access Control and User Roles

The data solution extension creates new right bundles during the installation. These right bundles expose additional permissions for the life-cycle management of the data solution.

The Service Provider must create necessary roles and modify existing roles for tenants to enable them to install the service operator and solution instances. The required new roles are:

1: Tenant Data Solutions Operator: The user assigned to this role is responsible for installing the Kubernetes operator across the Kubernetes clusters deployed by the tenant. To create this role, clone the global Kubernetes Cluster Author role and include the following permissions:

Note: The tenant operators must also have edit rights on specific TKG clusters.

2: Tenant Data Solution User: This user is responsible for installing and managing data solution instances. To create this role, clone the global Kubernetes Cluster Author role and include the following permissions:

3: Modify Organization Admin Role: Modify the organization admin role to include the following additional rights:

Publish the newly created role and the rights bundle “vmware:dataSolutionsRightsBundle” to the tenants.

Configure Data Solution Extension

Configure Container Registry and Package Repository

Before you publish data solutions to the tenants, you must set up a container registry that contains the images of the solution versions mentioned in the interop matrix. Refer to the VMware product documentation for checking the up-to-date interop information.

The first step in this process is to Aceept the EULA of the data solutions. You must have created a user account for the VMware Harbor Registry for Tanzu at https://network.tanzu.vmware.com/

To accept the EULA of the data solution, search for the solution in the search box.

Select the compatible version of the product and click on sign the EULA.

Click on the Agree button to complete the EULA signing process.

In the VCD UI, navigate to More > Data Solutions and click on the Start button to configure the container registry.

By default, VMware’s harbor registry is configured. It is a public registry and reachable over the Internet. If your environment has internet access, you can pull from this registry, else you have to relocate the packages in your internal registry.

Select the same and click on the Manage Credential button.

Enter your Tanzu Network credentials and click on the save button.

The next step is to update the image location for the artifacts. 

 

To update any artifact, click on the vertical ellipsis button and select Update.

Update the package repository URL for the artifact and select the version that is compatible with the data solution extension version.

Repeat the process to update the URL for all the artifacts. 

Publish Data Solutions to Tenants

Navigate back to the data solutions home page and click on the start button to start publishing the data solutions to the tenants.

Select the solution and click on the Publish button.

Select the tenants for which the solution will be published.

Tenant Configuration Workflow

Install Service Operator

Login to the tenant portal with the data solution operator role, navigate to More > Data Solutions > Settings > Kubernetes Operator and select the Kubernetes cluster where the data solution operator will be installed. Click on the Install Operator button. 

Click OK to start the operator installation.

It roughly takes 5 minutes for operator installation to complete.

In the backend, 2 namespaces are created along with the Kubernetes resources.

The ds-workloads namespace is initially empty but gets populated once you start deploying the data solution instances. 

Deploy a Data Solution Instance

Login to the tenant portal as a data solution user, navigate to More > Data Solutions > Instances, and click on the New Instance button.

Configure the following:

  • Select the solution type, for example, RabbitMQ.
  • Enter the instance name.
  • Select the Kubernetes cluster. 
  • Select a solution template.
  • RabbitMQ credentials.

Under Advance Settings, you can customize your deployment by choosing to configure the management console and expose the service over the load balancer. This will allow you to access applications from outside. 

After the solution is successfully installed, the status turns to Running.

In the backend, the Kubernetes resources are created under the ‘vcd-ds-workloads’ namespace. 

Clicking on the deployed solution instance shows additional information about the solution.

You can now access the application using the External IP of the solution.

If the TKG cluster where the solution instance is deployed, has Grafana installed, you can monitor the health of the service in the Grafana portal.

And that’s it for this post. In the next post on this topic, I will demonstrate how to deploy data solutions in an airgap environment.

I hope you enjoyed reading this post. Feel free to share this on social media if it is worth sharing.

2 thoughts on “Install & Configure VMware Cloud Director Extension for VMware Data Solutions 1.3

Leave a Reply