Please go through my previous posts –

  1. Basic Overview of Telco (PNFs, VNFs, CNFs) and VMware Telco Cloud Automation – https://kdinesh.in/tca/
  2. VMware Telco Cloud Automation Manager and Control Plane Deployment and Configuration – https://kdinesh.in/vmware-telco/
  3. VMware Telco Cloud Automation (TCA) CaaS Tanzu Kubernetes Grid (TKG) Management Cluster Deployment – https://kdinesh.in/tca-2/
  4. VMware Telco Cloud Automation (TCA) Deploying CaaS Tanzu Kubernetes Grid (TKG) Workload Cluster – https://kdinesh.in/tca-3/

Login to the Local repository Harbor to upload the Helm charts. Enter your username and password, and click on login.

Create a new project (using the existing library default project). Click on create a new project option.

Enter the project name (In my case, crate tca project).

A new project was created (TCA). Now click on the project.

Click on Helm charts options and Click on Upload.

You can download the Helm chart from the below link.

Click on the browser and select the nginx helm chart. Click on Upload. After completion of the nginx helm chart upload. I am following the upload ako helm chart.

Similarly, you can upload ako helm chart.

Nginx and ako Helm chart uploaded successfully.

Designing CNF Using Telco Cloud Automation (TCA): –

Login to TCA > Network Functions > Onboard Network Function.

Select Design Network Function Descriptor. Enter the CNF name and Select Type as cloud Native Network Function.

Enter Network Function properties – Version, Provider, product name ..etc. All the available operations are default enabled (Scale, Workflow ..etc. ).

Click the Topology option and click HELM.

Enter the helm Chart name and select Helm chart Version (Chart name and version must match with helm chart; otherwise, CNF instantiate will fail).

Check the Chart name and version on Harbor. You can see chart name nginx and version – 1.0.1.

Enter the Chart Name and version.

I am not adding any infrastructure requirements and workflows for nginx CNF. Click on Onboard Package.

You can see a status. Successfully onboarded nginx CNF.

Next, we can instantiate onboarded CNF. Click on Three dots. Click on instantiate option.

Enter your name, and Select cloud (In Which workload cluster you want to deploy CNF). In my deployment selected the cl0-wkld workload cluster.

By default, all the advanced settings are enabled. You can keep it as it is. Click on next.

Enter the namespace name and select Repository URL. Already Harbor Integrated with TCA and uploaded charts into the harbor repository.

Select the tca repo because we uploaded the helm in the tca project. Click on ok.

You can see the Namespace entered as nginx and selected harbor repository. Click on next.

Click next.

For nginx CNF, I am not passing any inputs. Click on next.

Review configuration details and click on Instantiate.

You can see the status Instantiating started.

You can expand CNF and check the status. You can see the status of nginx CNF successfully instantiated.

You can log into the cluster, check nginx deployed, and check pod is running or not. Pod Is running. But external IP is not assigned because Load Balancer is currently unavailable.

Next, we can design a Load balancer (AVI) CNF and deploy it on the cluster so that nginx will get external Load Balancer Ip. Using External IP, we can access the Nginx page through the URL.

AVI ako agent CNF Design, Onboard, and Instantiation: –

Previously we designed onboard and instantiated nginx CNF. Similar way, we can design and onboard AVi ako agent. Click on onboard.

Select the option Design Network Function Descriptor. Enter CNF Name (Any name). Select Type as Cloud Native Network Function.

Enter Network Function properties – Descriptor version (You can choose any number), Provider, Product name (Any name), Software version ..etc. By default, Avi operations are enabled. You can keep options as it is.

Login to Harbor and Check Avi ako helm chart name and version on Harbor.

In TCA – Select topology. Click on Helm and Enter Name, Description, Chart Name, chart version, and Helm Version. Expand Helm Properties override option. Enter – properties name as avi custom conf, type as a file, and Enable Required option. Click on the update option. (During AKO instantiation time, we need to pass the config file. Then only Ako communicates with AVi Controller)

Click on Onboard Package.

AKO CNF was onboarded successfully. Next, we can instantiate AKO CNF.

On AKO CNF, click on three dots. Click on Instantiate option.

Enter CNF Name and select Cloud (on which cluster you want to deploy AKO CNF). Leave the advanced setting as it is. Click on Next.

Enter Namespace and select harbor repository. Click on Next.

Click on Next.

Input upload ako config file. You can download it from the following Link – https://github.com/Dineshk1205/TCA-CNF . In ako values.yaml file update details based on your infra. ( Note :- Make sure that you already installed AVI Controller .You can follow my previous post – how to Install AVI controller – https://kdinesh.in/harbor/ )

After uploading, click on Next.

Review the configuration and click on instantiate.

You can expand Network Function and Check Status. You can see ako successfully instantiated.

You can log in to Cluster and check ako pod status to see whether it’s running. You can see ako pod running, and you can also see Nginx Pod received IP from AVI Load Balancer.

You can also check AVi Console. Nginx Pod exposed on IP – 172.100.0.200.

Now we can access the nginx service externally.

You see a Full overview of instantiated CNF.( Network Function > Inventory )