How to Deploy a BIG-IP VE instance and set up a basic load balancer¶
This guide demonstrates how to use the OpenStack Heat orchestration service to onboard, deploy, and provision a F5 BIG-IP Virtual Edition (VE) instance. We provide instructions for deploying the Heat templates via the OpenStack Horizon dashboard.
This guide uses the following F5 Heat templates:
- BIG-IP VE image patch and upload: Add an OpenStack-ready BIG-IP VE image to Glance.
- BIG-IP VE Standalone, 3-nic: Deploy a standalone, 3-nic BIG-IP VE instance.
- Deploy basic load balancer: Deploy a simple load balancer on the BIG-IP VE instance.
Before You Begin¶
In addition to the basic F5 Heat prerequisites, you will need the following to follow this guide:
- An external network set up in Neutron that can access the internet.
- F5 Heat Plugins for OpenStack installed on the Neutron controller.
- SSH key(s) set up in OpenStack.
- (Optional) Add the F5 flavors to OpenStack.
Caveats¶
- The Heat engine needs to access the BIG-IP VE image file via “http”. The F5 Heat templates cannot retrieve files via “https” and do not support file uploads.
Add the BIG-IP VE image to Glance¶
Add a Ubuntu image¶
The BIG-IP image patch and upload template uses a Ubuntu server to run a patch script on the BIG-IP VE qcow image. If you don’t already have a Ubuntu image in Glance, you’ll need to add one.
- Copy the download URL for a Ubuntu 14.04 server image. [1]
- Add the image to Glance:
- In Horizon, go to Compute –> Images.
- Click Create Image and paste the image URL in the Image Location field.
- Enter the requested information, including the minimum requirements for your image (we used 7GB disk and 520MB RAM).
- Click Create to add the image to Glance.
[1] | Ubuntu 14.04 is the only version verified by the OpenStack development team. Other versions may work, but deployments using unverified versions are not supported by F5. |
Patch and upload the BIG-IP VE image¶
Download the BIG-IP VE image patch and upload heat template.
Define the stack parameters in a YAML file.
Tip
The sample environment file below shows the values you’ll need to provide when deploying the
BIG-IP VE image patch and upload
heat stack.Before you deploy your stack, replace the example values with the correct information for your environment.
parameters: onboard_image: ubuntu-14.04.5-server-amd64.iso # provide the name of a private network in your OpenStack cloud private_network: mgmt_net # provide your Keystone authentication URL f5_image_import_auth_url: http://1.2.3.4:5000/v2.0 # provide the name of the OpenStack tenant (project) you want to import the # image to f5_image_import_tenant: admin # provide your OpenStack user name f5_image_import_user: admin # provide your OpenStack password # (TIP: use an environment variable) # This value is set to be hidden f5_image_import_password: $MY_PASSWORD # DO NOT CHANGE THIS ENTRY # This F5 Networks GitHub repo contains the image patch script image_prep_url: https://github.com/F5Networks/f5-openstack-image-prep.git # Provide the URL for your BIG-IP qcow.zip image # Must be accessible via http f5_ve_image_url: http://path/to/my/big-ip-ve-image f5_ve_image_name: BIGIP-12.1.2.0.0.249.LTM.qcow2.zip # Provide the name of an SSH key configured in OpenStack # This key will be used to authenticate to the Ubuntu server image_prep_key: my-openstack-ssh-key
Deploy the Heat stack using the OpenStack CLI.
openstack stack create -f patch_upload_ve_image.yaml -e patch-upload-ve-image.params.yaml
Deploy a BIG-IP VE instance¶
Download the BIG-IP VE Standalone, 3-nic heat template.
Define the stack parameters in a YAML file.
Tip
The sample environment file below shows the values you’ll need to provide when deploying the
BIG-IP VE standalone, 3-nic
heat stack.Before you deploy your stack, replace the example values with the correct information for your environment.
parameters: ve_image: BIGIP-12.1.2.0.0.249.LTM.qcow2 # Default is m1.medium # F5 flavor to use with BIG-IP VE LTM image is "f5-ltm" ve_flavor: m1.medium # Provide the name of an SSH key configured in OpenStack # This key will be used to authenticate to the BIG-IP VE instance f5_ve_os_ssh_key: my-openstack-ssh-key # Create a password for the BIG-IP admin user account # (TIP: use an environment variable) # This value is set to be hidden admin_password: $ADMIN_PASSWORD # Create a password for the BIG-IP root user account # (TIP: use an environment variable) # This value is set to be hidden root_password: $ROOT_PASSWORD # Enter your BIG-IP license key license: <license_string> # Provide the name of the Neutron network that has access to the internet external_network: neutron.ext.network # Provide the name of a Neutron network to assign to the BIG-IP mgmt interface mgmt_network: test # Provide the name of an existing Neutron network to connect to the BIG-IP 1.1 # interface network_1: tmm_network # Assign a name to the 1.1 network on the BIG-IP instance network_1_name: network-1.1 # Provide the name of an existing Neutron network to connect to the BIG-IP 1.2 # interface network_2: tmm_network # Assign a name to the 1.2 network on the BIG-IP instance network_2_name: network-1.2 # Provide the default gateway IP or hostname; defaults to 'none' default_gateway: none
Deploy the Heat stack using the OpenStack CLI.
openstack stack create -f f5_ve_standalone_3_nic.yaml -e f5_ve_standalone_3_nic.params.yaml
Assign a Floating IP Address to the BIG-IP instance¶
Use the OpenStack Horizon dashboard to assign a floating IP address to the BIG-IP VE instance.
Go to Actions column.
, then choose from the drop-down menu in theSelect a Floating IP from the drop-down menu.
In the
drop-down, select a port for your BIG-IP instance that corresponds to the external VLAN.Click Associate.
Tip
If there aren’t any floating IP addresses available in the drop-down menu:
- Click + to generate a floating IP address.
- Click Allocate.
The availability of these actions may depend on your OpenStack user privileges.
Create a basic load balancer on the BIG-IP VE instance¶
Download the Deploy basic load balancer heat template.
Define the stack parameters in a YAML file.
Tip
The sample environment file below shows the values you’ll need to provide when deploying the
Basic Load Balancer
heat stack. Before you deploy your stack, replace the example values with the correct information for your environment.parameters: client_server_image: <image-name> client_server_flavor: <nova-flavor> key_name: <ssh-hey-name> client_server_sec_group: open client_network: <client_vlan> server_network: <server_vlan> bigip_un: $BIGIP_USER bigip_pw: $BIGIP_PASS vs_name: virtual_server1 pool_name: pool1 bigip_fip: vs_vip: vs_port: 443 pool_member_port: 8080
Deploy the Heat stack using the OpenStack CLI.
openstack stack create -f deploy_lb.yaml -e deploy_lb.params.yaml
Next Steps¶
Configure your BIG-IP device.
Tip
- You can access the BIG-IP from the OpenStack dashboard via .
- To log in to the BIG-IP configuration utility, copy its floating IP address from the Instance screen in the dashboard, then paste it into your browser’s address bar.
You must use
https
to access the BIG-IP configuration utility. - You can connect to the BIG-IP instance via ssh using the floating IP address and the ssh key you provided in the environment file.
Set up the F5 Integration for OpenStack Neutron LBaaS to communicate with your new BIG-IP instance.