Deploying your first VNF with TCA: Difference between revisions

From Iwan
Jump to: navigation, search
m (Change span border color)
No edit summary
Line 3: Line 3:
In this article, I will show you how to deploy your first VNF.
In this article, I will show you how to deploy your first VNF.


=Configuration Steps=
==Configuration Steps==


There are two ways to upload the application VMs.
There are two ways to upload the application VMs.
Line 28: Line 28:
I will upload/deploy copies of the same VM in vSphere and VCD, and even though you only need them in one place I will show you how to deploy them from both places.
I will upload/deploy copies of the same VM in vSphere and VCD, and even though you only need them in one place I will show you how to deploy them from both places.


=STEP 1:  Upload OVA Virtual Machines using vCenter Server (Templates)=
==STEP 1:  Upload OVA Virtual Machines using vCenter Server (Templates)==


I have deployed each OVA (lb, app and db) using vCenter Server:
I have deployed each OVA (lb, app and db) using vCenter Server:
Line 45: Line 45:
<div style="clear:both"></div>
<div style="clear:both"></div>


=STEP 2:  Upload OVA Virtual Machines using VCD Catalogs=
==STEP 2:  Upload OVA Virtual Machines using VCD Catalogs==


I have also uploaded the same VMs using the catalog feature inside VCD.
I have also uploaded the same VMs using the catalog feature inside VCD.
Line 103: Line 103:
<div style="clear:both"></div>
<div style="clear:both"></div>


=STEP 3: Upload the TOSCA template to TCA=
==STEP 3: Upload the TOSCA template to TCA==


Now that the VM Templates are "in place" you can start uploading the TOSCA template to the TCA Manager.
Now that the VM Templates are "in place" you can start uploading the TOSCA template to the TCA Manager.
Line 178: Line 178:
<div style="clear:both"></div>
<div style="clear:both"></div>


==Checking the Deployed VNF==
===Checking the Deployed VNF===


Verify if the VNF is correctly instantiated without any errors. The state is "Completed"
Verify if the VNF is correctly instantiated without any errors. The state is "Completed"
Line 185: Line 185:
<div style="clear:both"></div>
<div style="clear:both"></div>


==Test the application reachability==
===Test the application reachability===


Verify if the Application is correctly reachable without any errors using the IP address I have specified (192.168.1.211).
Verify if the Application is correctly reachable without any errors using the IP address I have specified (192.168.1.211).
Line 192: Line 192:
<div style="clear:both"></div>
<div style="clear:both"></div>


=STEP 5: Instantiate your first VNF (using the VCD Catalog)=
==STEP 5: Instantiate your first VNF (using the VCD Catalog)==


Select the Network Function you want to instantiate a VNF form and click on "instantiate".
Select the Network Function you want to instantiate a VNF form and click on "instantiate".
Line 243: Line 243:
<div style="clear:both"></div>
<div style="clear:both"></div>


==Checking the Deployed VNF==
===Checking the Deployed VNF===


Verify if the VNF is correctly instantiated without any errors. The state is "Processing".
Verify if the VNF is correctly instantiated without any errors. The state is "Processing".
Line 289: Line 289:
What you CAN do is create a VM from the vApp Template and edit the Guest Customization (turn it off) and upload it as a new vApp Template in the Catalog with a new name (or use a new Catalog. This procedure is shown below.
What you CAN do is create a VM from the vApp Template and edit the Guest Customization (turn it off) and upload it as a new vApp Template in the Catalog with a new name (or use a new Catalog. This procedure is shown below.


==Workaround to make VCD Catalog Items work==
===Workaround to make VCD Catalog Items work===


Add a new vApp from Catalog.
Add a new vApp from Catalog.
Line 409: Line 409:
<div style="clear:both"></div>
<div style="clear:both"></div>


==Checking the (Re)Deployed VNF==
===Checking the (Re)Deployed VNF===


After following the same steps from STEP 5 I have now a new VNF that is in the "Complete" state using the vApp Templates from the new VCD Catalog.
After following the same steps from STEP 5 I have now a new VNF that is in the "Complete" state using the vApp Templates from the new VCD Catalog.
Line 425: Line 425:
In the next article, I will show you how you can scale the VNF by adding a second application VM/Server behind the load balancer.
In the next article, I will show you how you can scale the VNF by adding a second application VM/Server behind the load balancer.


=Summary of deployed VNFs=
==Summary of deployed VNFs==


In the figure below you will see a summary of all the deployed VNFs and what VNF used what Template Sources.
In the figure below you will see a summary of all the deployed VNFs and what VNF used what Template Sources.
Line 434: Line 434:
In [[Scaling out your VNF (with TCA)|this next article]], I will show you how to scale this VNF using TCA.
In [[Scaling out your VNF (with TCA)|this next article]], I will show you how to scale this VNF using TCA.


=Related Articles=
==Related Articles==
* [[Deploy a NFV Lab with VMware TCA and VCD|Deploy an NFV Lab with VMware TCA and VCD]]
* [[Deploy a NFV Lab with VMware TCA and VCD|Deploy an NFV Lab with VMware TCA and VCD]]
* [[Deploying your first VNF (with TCA)]]
* [[Deploying your first VNF (with TCA)]]
* [[Scaling out your VNF (with TCA)]]
* [[Scaling out your VNF (with TCA)]]


[[Category:NSX-T NFV]]
[[Category:NSX]]
[[Category:Networking]]
[[Category:VMware]]

Revision as of 10:30, 21 January 2024

I have shown you how to set up the complete infra with TCA and VCD here.

In this article, I will show you how to deploy your first VNF.

Configuration Steps

There are two ways to upload the application VMs.

  1. Using vCenter Server
    1. Import the OVA's in vCenter Server, not power them on and convert them to a Template
  2. Using VCD
    1. Import the files into a catalog

I am going to show you both ways.

  • STEP 1: Upload OVA Virtual Machines using vCenter Server (Templates)
  • STEP 2: Upload OVA Virtual Machines using VCD Catalogs
  • STEP 3: Upload the TOSCA template to TCA
  • STEP 4: Instantiate the VNF (using the vSphere Templates)
  • STEP 5: Instantiate your first VNF (using the VCD Catalog)

The application that I am onboarding will consist out of three Virtual Machines:

  • centos-small-lb
  • centos-small-app
  • centos-small-db

I will upload/deploy copies of the same VM in vSphere and VCD, and even though you only need them in one place I will show you how to deploy them from both places.

STEP 1: Upload OVA Virtual Machines using vCenter Server (Templates)

I have deployed each OVA (lb, app and db) using vCenter Server:

NFV2-STEP-01-1.png

When the deployment was done I have converted the VM's to a Template:

NFV2-STEP-01-2.png

This resulted that all three Virtual Machines are now Template objects inside the vCenter Server.

NFV2-STEP-01-3.png

STEP 2: Upload OVA Virtual Machines using VCD Catalogs

I have also uploaded the same VMs using the catalog feature inside VCD.

You need to log in as the Organization "administrator" account of the Organization.

Inside the Organization Portal select "Libraries" and create a new "Catalog"

NFV2-STEP-02-1.png

Provide a name for the new "Catalog".

NFV2-STEP-02-2.png

Verify if the "Catalog" is correctly created without any errors.

NFV2-STEP-02-3.png

Click on "vApp Templates" and create a new vApp Template.

NFV2-STEP-02-4.png

Select the OVA you want to upload.

NFV2-STEP-02-5.png

Review the details.

NFV2-STEP-02-6.png

Provide a name for the vApp Template and specify a catalog where you want to place this template in. This is the catalog that I have just created.

NFV2-STEP-02-7.png

Complete the vApp Template configuration.

NFV2-STEP-02-8.png

Verify if the vApp Template is correctly created without any errors.

NFV2-STEP-02-9.png

Do the same with the other two remaining OVA Templates, as you have now only created a vApp Template for the "centos-small"lb" VM.

When all vApp Templates are created for all VMs the screen should look like this:

NFV2-STEP-02-10.png

STEP 3: Upload the TOSCA template to TCA

Now that the VM Templates are "in place" you can start uploading the TOSCA template to the TCA Manager.

Onboard a network function

Click on "Catalog" and choose "Onboard Network Function".

NFV2-STEP-03-1.png

Provide a name for the new "Network Function" and select the CSAR file.

NFV2-STEP-03-2.png

After you have clicked on "upload" a Topology will be presented. Now you are ready to instantiate a VNF based on this Network Function/Topology.

NFV2-STEP-03-3.png

STEP 4: Instantiate the VNF (using the vSphere Templates)

Select the Network Function you want to instantiate a VNF form and click on "instantiate".

NFV2-STEP-04-1.png

Provide a name for the new "VNF" and select a "Cloud" (Organization VDC) and the "Compute Profile".

I have NOT enabled the "Use vApp Template" switch because I want to instantiate from the vSphere Template VMs.

NFV2-STEP-04-2.png

This is how the screen will look like when you need to select a "Cloud".

NFV2-STEP-04-3.png

This is how the screen will look like when you need to select a "Compute Profile".

NFV2-STEP-04-4.png

The networks for APP and DB will be created automatically as an "isolated" network. The Loadbalancer VM will need an external connection that you need to specify.

NFV2-STEP-04-5.png

I have created the "vcd-02-vmware-web" network that is mapped to the "Seg-Web"Logical Switch/Segment on NSX-T so I will select this network.

NFV2-STEP-04-6.png

When the external network is selected your screen will look like this:

NFV2-STEP-04-7.png

Workflows tab: The external IP address for the Loadbalancer needs to be specified manually. In my example, I will use 192.168.1.211.

NFV2-STEP-04-8.png

Loadbalancer tab: The external IP address for the Loadbalancer needs to be specified manually here as well and the Prefix and the Gateway. All other fields/tabs are populated automatically based on the code in the CSAR.

NFV2-STEP-04-9.png

Complete the new VNF instantiation.

NFV2-STEP-04-10.png

Checking the Deployed VNF

Verify if the VNF is correctly instantiated without any errors. The state is "Completed"

NFV2-STEP-04-11.png

Test the application reachability

Verify if the Application is correctly reachable without any errors using the IP address I have specified (192.168.1.211).

NFV2-STEP-04-12.png

STEP 5: Instantiate your first VNF (using the VCD Catalog)

Select the Network Function you want to instantiate a VNF form and click on "instantiate".

Provide a name for the new "VNF" and select a "Cloud" (Organization VDC) and the "Compute Profile".

this time I HAVE enabled the "Use vApp Template" switch because I want to instantiate from the VCD Catalog, and I have selected the VCD Catalog name as well.

NFV2-STEP-05-1.png

I have NOT enabled the "Use vApp Template" switch because I want to instantiate from the vSphere Template VMs.

NFV2-STEP-05-2.png

I have created the "vcd-02-vmware-web" network that is mapped to the "Seg-Web"Logical Switch/Segment on NSX-T so I will select this network.

NFV2-STEP-05-3.png

When the external network is selected your screen will look like this:

NFV2-STEP-05-4.png

Workflows tab: The external IP address for the Loadbalancer needs to be specified manually. In my example, I will use 192.168.1.210.

NFV2-STEP-05-5.png

Loadbalancer tab: The external IP address for the Loadbalancer needs to be specified manually here as well and the Prefix and the Gateway. All other fields are populated automatically based on the code in the CSAR.

NFV2-STEP-05-6.png

All other fields/tabs are populated automatically based on the code in the CSAR.

NFV2-STEP-05-7.png

All other fields/tabs are populated automatically based on the code in the CSAR.

NFV2-STEP-05-8.png

Complete the new VNF instantiation.

NFV2-STEP-05-9.png

Checking the Deployed VNF

Verify if the VNF is correctly instantiated without any errors. The state is "Processing".

NFV2-STEP-05-10.png

You can follow along and see if new VMs are being created r of already created in the vCenter Server.

NFV2-STEP-05-11.png

You can look at the tasks in the vCenter Server to verify the (successfully) completed tasks.

NFV2-STEP-05-12.png

You can also follow along in vCloud Director and verify if the app and db isolated networks are created.

NFV2-STEP-05-13.png

You can also follow along in NSX-T Manager and verify if the app and db isolated networks are created.

NFV2-STEP-05-14.png

This time you see that the state has ended in "Error"

NFV2-STEP-05-15.png

A closer look at the error shows that there is something wrong with the Credentials.

NFV2-STEP-05-16.png

I decided to do a "rollback" of this VNF and delete all the VMs and Networks that were created.

NFV2-STEP-05-17.png

The issue is that VCD "turns on" Guest Customization for the vApp Templates you created and there is no way to turn this off during the creation of the vApp Templates.

What you CAN do is create a VM from the vApp Template and edit the Guest Customization (turn it off) and upload it as a new vApp Template in the Catalog with a new name (or use a new Catalog. This procedure is shown below.

Workaround to make VCD Catalog Items work

Add a new vApp from Catalog.

NFV2-STEP-05-18.png

Select the Organization VDC.

NFV2-STEP-05-19.png

Select the vApp Template that you want to use for the import.

NFV2-STEP-05-20.png

Provide a name.

NFV2-STEP-05-21.png

Configure the Resources (leave the defaults in).

NFV2-STEP-05-22.png

Configure the Compute Policies (leave the defaults in).

NFV2-STEP-05-23.png

Customize the hardware (leave the defaults in).

NFV2-STEP-05-24.png

Customize Networking (leave the defaults in).

NFV2-STEP-05-25.png

Customize the Properties (leave the defaults in, so leave everything blank)).

NFV2-STEP-05-26.png

Complete the vApp from Template creation.

NFV2-STEP-05-27.png

Do the same with the other two remaining vApps, as you have now only created a vApp for the "centos-small"lb" VM. Make sure you DO NOT POWER ON any of the newly created VMs.

When all vApp/VMs are created for all VMs the screen should look like this:

NFV2-STEP-05-28.png

Now you need to go into the vApp and go to the Virtual Machine and click on the VM to DISABLE the Guest Customization.

NFV2-STEP-05-29.png

Click on "Edit".

NFV2-STEP-05-30.png

Uncheck the "Enable guest customization" checkbox.

NFV2-STEP-05-31.png

Verify if the Guest customization is disabled now.

Do the same for the other vApps/VMs.

NFV2-STEP-05-32.png

Before I am going to convert the vApps/VMs back into vApp Templates and will first create a new Catalog, as I like to keep things organized and separated.

NFV2-STEP-05-33.png

Provide a name for the new "Catalog".

NFV2-STEP-05-34.png

Verify if the Catalog is correctly created without any errors.

NFV2-STEP-05-35.png

Create a template from the vApp/VM.

NFV2-STEP-05-36.png

Add the new vApp Template to the new Catalog.

NFV2-STEP-05-37.png

Do the same for all vApps/VMs.

When you look at the Catalog you see that the amount of vApp Templates is now set to "3". So our new Catalog is correctly populated with our new vApp Templates with the Gues Customization Disabled.

NFV2-STEP-05-38.png

Before you can instantiate a new VNF using the catalog I need to change the code in the CSAR file to point to the new "v2" vApps/VMs that are contained in the new VCD Catalog.

You can edit the existing CSAR, Save it as DRAFT, and save it as a new template with a new name.

NFV2-STEP-05-39.png

Checking the (Re)Deployed VNF

After following the same steps from STEP 5 I have now a new VNF that is in the "Complete" state using the vApp Templates from the new VCD Catalog.

NFV2-STEP-05-00.png

Test the application reachability

This time I have used the external IP address of 192.168.1.212 for the Load Balancer and you can see that the Application is reachable.

NFV2-STEP-05-40.png

In the next article, I will show you how you can scale the VNF by adding a second application VM/Server behind the load balancer.

Summary of deployed VNFs

In the figure below you will see a summary of all the deployed VNFs and what VNF used what Template Sources.

NFV2-SUMM-1.png

In this next article, I will show you how to scale this VNF using TCA.

Related Articles