Cloud Computing

New Content Hub and Catalog Management in VMware Cloud Director 10.5


Overview

Content Hub, introduced in VMware Cloud Director 10.5, is a convenient tool that offers a unified interface for accessing VM and container-based content. This feature directly integrates external content sources, like VMware Marketplace and Helmchart Repositories, into VMware Cloud Director.

Through integrated external sources, content can be imported into VMware Cloud Director catalogs, making it readily available for consumption. With the addition of Content Hub, VMware Cloud Director introduces an application-focused interface that allows users to easily visualize and access catalog content, enhancing the overall content management experience.

Now, catalog items are presented as Application Images, showcasing specific application details such as the application name, version, logo, screenshots, and other essential information required for consuming the application.

SO, WHAT’S IN IT FOR YOU….?

Please read the blog and review the benefits provided at the end.

Previous Architecture

In the past, the organization utilized VCD catalogs as a primary means to store VMs, vApps, and media. Additionally, the catalogs had the capability to store K8S templates and VMs templates obtained from the VMware Marketplace or any Helm Char repository, provided that the App Launchpad (ALP) was properly set up in the environment. This involved the provider administrator adding the VMware Marketplace connection through the provider portal, and subsequently, the provider administrator or organization administrator would establish the Helm Chart repository connection to facilitate the import of container applications or virtual machine applications. Furthermore, structured versioning was not supported within this architecture.

The main challenge in this scenario was the need for administrators to handle catalog items individually, resulting in increased overhead. Additionally, setting up and configuring the App Launchpad separately in the environment and publishing it to the respective tenants through the App Launchpad plugin added complexity.

It’s important to acknowledge that these challenges were just a few of the considerations administrators had to address. However, once the setup was completed, the integration between VMware Cloud Director and App Launchpad worked seamlessly and without any issues.

New Architecture

Let us now examine the new Content Hub feature in a structured manner as we discuss its new features.

Please note that the concept of a catalog still exists; however, there is now an additional layer of Content Hub on top of the catalog.

New User Roles

A new set of User Roles has been introduced to facilitate users in accessing and managing the Content Hub. Assigning the appropriate user roles to individuals within the organization to grant them access and utilize the Content Hub feature effectively is crucial.

Adding VMware Marketplace and Helm Chart Repo

Adding VMware Marketplace:

To import Virtual Machine or Helm chart repositories from the VMware Marketplace, the provider admin must add the VMware Marketplace connection through the provider portal.

Adding Helm Chart Repo:

Either a provider administrator or an organization administrator can add a Helm chart repository.

From Provider Portal
From Tenant Portal

Adding a VMware Marketplace or Helm chart repository is nearly identical to the process in App Launchpad. The only variance lies in the navigation options and without the need of App Launchpad.

Import OVF, Media or from vCenter Server

As a system administrator or any user with the role “Import vSphere Media to Catalog”, you can import VMs from vCenter Server through the tenant portal. This option remains unchanged from how it was before.

The process of importing OVA/OVF and media remains unchanged from how it was before.

Importing VM Application or Container Application

You’ll notice a new option under the Content secrion that allows you to Add a resource from either the VMware Marketplace or a Helm Chart repository. This addition to the Content Hub feature enables users to import Virtual Machine applications or Container applications from these sources into the catalog.

The experience of importing a Virtual Machine application or a Container application from VMware Marketplace or Helm Chart repository is the same as in App Launchpad.

In the catalog, you have the option to import different versions of the same application, provided they are available on the source. The way versioning was managed in previous versions differs from the unique approach showcased in version 10.5.

Understanding Versioning

In the previous version of VMware Cloud Director, there was no concept of versioning in catalogs. For instance, when a user imports multiple versions of the same application from external sources into the catalog, each version of the VM or container will be stored and represented (listed) as an individual resource.

From VMware Cloud Director 10.5 onwards, a Virtual Machine application or Container application that was imported with multiple versions either at the same time or at different intervals, Content Hub is capable of managing and structure the versioning of that resource.

We have introduced a new Tab called “Application Images” listed under the Content section.

Application Images tab:

  • Lists all the types of resources (Container app, VM app and Media) in a grid view or list view.
  • When a resource has multiple versions, all the available versions of that item will be displayed under the Versions column, allowing you to easily recognize that there are several deployment options to choose from.

Just so you know, in Content Hub, when a user imports multiple versions of the same application from external sources into the catalog, these versions of the VM or container will NOT be listed as individual resources under the Application Images tab. Instead, an application image with multiple versions will appear as a single entry under the Application Images tab. VMs or containers will be stored as an individual resource in the background.

Viewing Details

When you click the application image name (list view) or the Details button (Grid View), you will see all the details of that image. You will have three tabs to look for the information.

Tab1: Details:

The Details tab will present comprehensive information about the Application Image. If the image was imported from an external source, all the relevant information will be retrieved and displayed. On the other hand, if the image was imported from vCenter or captured from a vApp or imported via OVA/OVF, the respective details will be shown accordingly.

Tab2: Preview

The Preview tab will display all the preview images retrieved from the external source, which may include application screenshots and other relevant visual representations.

Tab3: Helm Charts / vApp Templates

Depending on the application image you have chosen to view the details, the third tab will differ. It will be either a Helm Charts tab for container applications or a vApp templates tab for VM applications.

This tab will provide a list of all the actual individual images for each version that were imported for that application.

Images from multiple versions of the same application (this example is of a Container application image).

Launching (Deploying) Application Image

Upon launching an application image that has multiple versions, you will be prompted to choose the specific version of the image you wish to deploy.

If the Container application is launched, then the Container Application launcher window will open and then you need to provide the application Name, select the version to deploy and select the TKG Cluster.

Please ensure that you have the appropriate permissions to view the TKG clusters when launching a Container application. Before proceeding with the application launch into the TKG cluster, it is important to read the Kubernetes Operator section.

When you launch the VM application, you need to select the version to deploy and then the Create vApp from Template launcher window will appear, and you should follow the standard vApp template deployment process from there.

Other Tabs

In addition to the Application Images tab, you will find three other tabs: vApp Templates, HelmCharts, and Media.

Each of these tabs corresponds to its name and displays the respective type of images. However, unlike the Application Images tab, these tabs do not show new versioning or detailed information. If a VM application or Container application has multiple versions, those images will be listed separately.

For Container applications, launching is only possible from the listing under the Application Images tab. Under the Helm Charts tab, you can perform actions such as editing, deleting, downloading, moving, copying, or viewing metadata.

On the other hand, vApp Templates can be launched from the vApp Templates tab. Since each version is listed individually, clicking on it will directly lead you to the Create vApp from Template launcher window.

Kubernetes Operator

The Kubernetes operator enables tenants with provisioned Kubernetes clusters to deploy container applications using external content resources from configured VMware Marketplace and Helm chart repositories.

Simply put, for deploying a Container application on a TKG (Tanzu Kubernetes Grid) cluster imported into the catalog under Content Hub, it is mandatory to have the “Kubernetes Operator” application installed on each TKG cluster. Otherwise, the TKG cluster will not be visible during the Container image deployment process.

To install the Kubernetes Operator in a TKG cluster, select the TKG cluster and click Install Operator button.

Make sure that the user performing this task has the suitable Content Hub role and the required CSE role to view the K8s cluster, successfully install the Kubernetes Operator, and deploy a container app to it.

What is Kubernetes Operator?

The Kubernetes operator utilizes the API token of the Kubernetes cluster owner to communicate with VMware Cloud Director and execute container application management operations.

How to Uninstall a Kubernetes Operator Package from TKG Cluster?

You must remove the following Kubernetes resources in sequence by using the Kubernetes command line tool kubectl

kubectl delete pkgi vcd-contenthuboperator-install -n vcd-contenthub-system
kubectl delete clusterrole vcd-contenthuboperator-install
kubectl delete clusterrolebinding vcd-contenthuboperator-install
kubectl delete ns vcd-contenthub-workloads
kubectl delete ns vcd-contenthub-system

The uninstall deletes the Content Hub Operator from the Kubernetes cluster.

Publishing and Subscribing

When the Publisher Catalog is from version 10.5, and the Subscriber Catalog is from a version prior to 10.5, the synchronization of an application image with multiple versions will appear as distinct images on the subscriber side.

If both the Publisher Catalog and the Subscriber Catalog are of version 10.5, the synchronization of an application image with multiple versions will remain unchanged on the Subscriber side, reflecting the same as it appears on the Publisher side.

What the Cloud Service Provider will achieve by using the Content Hub feature:

  1. It offers centralized content management for application images, vApp and VM templates, and media.
  2. This update grants you enhanced control over the application images. VMware Cloud Director will have full control over the deployed and listed images, storing all pertinent information in its database. Unlike the application images imported from App Launchpad, where VMware Cloud Director only listed the imported images and App Launchpad stored all the details and information in its own database.
  3. It offers ease of use since you won’t have to set up and configure App Launchpad, which would otherwise be an additional task.

Note:

As of VCD 10.5, Content Hub and App Launchpad can operate concurrently and are still considered separate entities.

Kindly note that the information provided here is our best effort for informational purposes only. For detailed information please look at the product documentation.