How to: Create a BIG-IP Next instance in a VMware vSphere environment from Central Manager

Overview

You can easily create a BIG-IP Next VE instance in a VMware vSphere environment from BIG-IP Next Central Manager using a VE template.

Prerequisites

Before you create an instance from BIG-IP Next Central Manager, you must have:

  • A configured VMware vSphere environment with valid access credentials.

  • A configured provider-supported BIG-IP Next virtual machine template. See Create BIG-IP Next Instance Template on VMware for more information.

  • An understanding of your provider’s terminology and available regions or zones (or location equivalents).

  • A hostname (fully qualified domain name) for the BIG-IP Next instance.

  • An active MyF5 account for licensing and provisioning this BIG-IP Next instance, or access to a JSON License Web Token (LWT).

Procedure

  1. Log in to BIG-IP Next Central Manager as admin, click the Workspace icon next to the F5 icon, and click Infrastructure.

  2. If you have not added any BIG-IP Next instances previously, click the + Start Adding Instances button.

  3. Click the Create a New Instance button. Review the requirements.

  4. Enter a hostname and an optional description to identify this instance.

  5. From the Instance Template list, select the VE Standalone template.

  6. Click the Start Creating button.

  7. Choose the VE/VELOS/rSeries Providers from the dropdown and then click Next.

  8. Specify the VMware vSphere properties.

  9. Select the Onboarding template from the vSphere Content Library list.
    BIG-IP Next Central Manager loads the provider-specific settings.

  10. Click the Next button.

  11. From the Resource Pool list, select an option.

  12. Select a Storage option.

  13. Optionally you can change the defaults for Number of CPU Cores and Memory.

  14. Click the Next button.

  15. Enter the details for the BIG-IP Next Instance Properties you are adding. Type a Management IP Address, Management Network Prefix Width, and Gateway IP Address.

  16. Complete the vSphere network details using the information in your vSphere Client.

    1. In vSphere Management Network field, specify the details.

    2. In vSphere Network 1.1, maximum of 5 Network Interface Cards (NICs) can be supported including the management network.

    3. Additionally, vSphere Network 1.2, vSphere Network 1.3 and vSphere Network 1.4 can also be configured.

    Note: Note: For a standalone configuration, at least 2 NICs are required. If you are planning an HA configuration, at least 4 NICs are required.

  17. Click Create to specify a DNS server address.

  18. Click Create to specify an NTP Server address and click Next.

  19. Click Networking, first configure the L1 Networks then VLANs and at last IP Addresses.

    1. Click L1 Networks

      • The L1 Networks are automatically set based on Network adapter configurations in vSphere Network Adapter Settings. Four L1 Networks can be set up, and the Interface Name is auto-assigned.

    2. Click VLANs, to configure VLANs then click + Create.

      • In the Name field, type a name for the VLAN.

      • In the Tag, type a number from (0 to 4096) or leave it blank for automatic assignment.

      • Choose the L1 Network from the dropdown.

    3. Click IP Addresses to configure IP Addresses then click + Create

      • In Address, specify the IP address.

      • In Device Name, no need to specify the name.

      • Choose the VLAN from the dropdown.

  20. Click Next.

  21. In Troubleshooting, provide the username and password for administrator for this BIG-IP Next instance and confirm the password.

  22. Choose the wait time for the new BIG-IP instance to be ready from the dropdown (optional). Click Next.

  23. Review the summary of the configuration you created and if you’re ready to create this BIG-IP Next instance, click the Deploy button. Deployment can take up to 15 minutes.

Prerequisites

Authenticate with the BIG-IP Next Central Manager API. For details refer to How to: Authenticate with the BIG-IP Next Central Manager API.

  1. Before creating an Instance, you can get the list of available Templates, Datacenters, Datastore, Clusters, Resources-Pools, VM-Template, L1 Network, and Management Address using the respective endpoints.

    a. Get the available templates by sending a GET request to /api/v1/spaces/default/instances/initialization/templates endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/instances/initialization/templates
    

    Select the desired template.

    b. Get the available Datacenters by sending a GET request to /api/v1/spaces/default/providers/vsphere/{{provider_id}}/api?path=api/vcenter/datacenter endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/providers/vsphere/{{provider_id}}/api?path=api/vcenter/datacenter
    

    c. Get the Datastores by sending a GET request to /api/v1/spaces/default/providers/vsphere/{{provider_id}}/api?path=api/vcenter/datastore?datacenters={{datacenter_id}} endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/providers/vsphere/{{provider_id}}/api?path=api/vcenter/datastore?datacenters={{datacenter_id}}
    

    d. Get the Clusters by sending a GET request to /api/v1/spaces/default/providers/vsphere/{{provider_id}}/api?path=api/vcenter/cluster?datacenters={{datacenter_id}} endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/providers/vsphere/{{provider_id}}/api?path=api/vcenter/cluster?datacenters={{datacenter_id}}
    

    e. Get the Resource-Pools by sending a GET request to /api/v1/spaces/default/providers/vsphere/{{provider_id}}/api?path=api/vcenter/resource-pool?clusters={{cluster_id}} endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/providers/vsphere/{{provider_id}}/api?path=api/vcenter/resource-pool?clusters={{cluster_id}}
    

    f. Get the Content-Libraries by sending a GET request to /api/v1/spaces/default/providers/vsphere/{{provider_id}}/api?path=api/content/library endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/providers/vsphere/{{provider_id}}/api?path=api/content/library
    

    g. Get the VM-Templates by sending a GET request to /api/v1/spaces/default/providers/vsphere/{{provider_id}}/api?path=api/content/library/item?library_id={{library_id}} endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/providers/vsphere/{{provider_id}}/api?path=api/content/library/item?library_id={{library_id}}
    
  2. Create an instance by sending a POST request to /api/v1/spaces/default/instances/initialization endpoint.

    POST https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/instances/initialization
    

    For the request payload, use the following example, modifying the values as required.

    L1 Network has to be manually entered by the user looking at resources created on vSphere.

    Management Address is referred to as the IP Address of the instance.

    Instance_one_time_password is generated during the instance creation.

Click for payload ▶
```json
{
    "template_name": "default-standalone-ve",
    "parameters": {
        "hostname": "myvsphereinstance",
        "instantiation_provider": [
            {
                "id": "{{provider_id}}",
                "type": "vsphere",
                "name": "myvsphere"
            }
        ],
        "vSphere_properties": [
            {
                "cluster_name": "{{cluster_name}}",
                "datacenter_name": "{{datacenter_name}}",
                "resource_pool_name": "{{resource_pool_name}}",
                "datastore_name": "{{datastore_name}}",
                "vsphere_content_library": "{{library_name}}",
                "vm_template_name": "{{vm_template}}",
                "num_cpus": 8,
                "memory": 16384
            }
        ],
        "management_address": "xxx.xxx.xxx.xxx",
        "management_network_width": 16,
        "default_gateway": "xxx.xxx.xxx.xxx",
        "vsphere_network_adapter_settings": [
            {
                "mgmt_network_name": "VM-mgmt",
                "external_network_name": "LocalTestVLAN-000",
                "internal_network_name": "LocalTestVLAN-115",
                "ha_data_plane_network_name": "LocalTestVLAN-116",
                "ha_control_plane_network_name": "LocalTestVLAN-117"
            }
        ],
        "dns_servers": [
            "8.8.8.8",
            "8.8.4.4"
        ],
        "ntp_servers": [
            "time.google.com"
        ],
        "l1Networks": [
            {
                "l1Link": {
                    "linkType": "Interface",
                    "name": "1.1"
                },
                "name": "External-L1-Network",
                "vlans": [
                    {
                        "selfIps": [],
                        "name": "ext-vlan"
                    }
                ]
            },
            {
                "l1Link": {
                    "linkType": "Interface",
                    "name": "1.2"
                },
                "name": "Internal-L1-Network",
                "vlans": [
                    {
                        "selfIps": [],
                        "name": "int-vlan"
                    }
                ]
            }
        ],
        "instance_one_time_password": "w9Zr$%WrZZ*f",
        "management_credentials_username": "admin-cm",
        "management_credentials_password": "password",
        "polling_delay": 15
    }
}
```
  1. Check the status of the instance creation job using the path by sending a GET request to /api/v1/spaces/default/instances/initialization/tasks/path endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/instances/initialization/tasks/path
    
  2. Check the status of the instance creation until the following status is displayed.

    "stage": "Discovery",
    "state": "discoveryDone",
    "status": "completed",
    
  3. Check the instance details by sending a GET request to /api/v1/spaces/default/instances?filter=address eq '{{bigip_next_mgmt_ip}}' endpoint.

    GET https://{{bigip_next_cm_mgmt_ip}}/api/v1/spaces/default/instances?filter=address eq '{{bigip_next_mgmt_ip}}'
    

Result

You can now manage this BIG-IP Next instance from BIG-IP Next Central Manager.