You can configure an F5 BIG-IP Local Traffic Manager (LTM) as a load balancer for VMware Tanzu Application Service for VMs (TAS for VMs).
These instructions assume you are familiar with the following concepts:
tmsh)For guidance about the above topics, see AskF5.
Note: You must configure your F5 load balancer before installing TAS for VMs.
To use your F5 deployment as a load balancer, you must configure it to forward unencrypted HTTP following the steps below. This procedure assumes that you are running F5 v12.1.2 or v13.0.0.
This TAS for VMs configuration option forwards unencrypted traffic to the Gorouter. It assumes an external load balancer is configured to forward unencrypted traffic.

This configuration stops client SSL at the F5 and forward standard HTTP traffic to the backend Gorouters from the LTM. All TCP back ends accept forwarded traffic from the LTM.
In the F5 UI, go to Local Traffic.
Go to iRules and click iRule List.
Create the following rules:
cf-xforward-for Definition: when HTTP_REQUEST { HTTP::header insert X-Forwarded-For [IP::remote_addr] }cf-xforward-proto-https Definition: when HTTP_REQUEST { HTTP::header insert X-Forwarded-Proto "https" }cf-xforward-proto-http Definition: when HTTP_REQUEST { HTTP::header insert X-Forwarded-Proto "http" }Go to System, then File Management, and click SSL Certificate List.
pcf-pas-cert.pcf-pas-key.Go to Local Traffic and click Monitors.
gorouter health monitor and give it the following parameters:
gorouter_monHTTPGET /health HTTP/1.0\r\n8080oksshproxy health monitor and give it the following parameters:
diegobrain_monTCP2222tcprouter health monitor and give it the following parameters:
tcprouter_monHTTPGET /health80Create all required nodes:
gorouter nodes, one for each Gorouter in your TAS for VMs deployment, and give it the following parameters:
gorouter-#[IP-ADDRESS-OF-GOROUTER]enabledNode Defaultdiegobrain nodes, one for each Diego Brain in your TAS for VMs deployment, and give it the following parameters:
diegobrain-#[IP-ADDRESS-OF-DIEGOBRAIN]enabledNode Defaulttcprouter nodes, one for each TCP Router in your TAS for VMs deployment, and give it the following parameters:
tcprouter-#[IP-ADDRESS-OF-TCPROUTER]enabledNode DefaultCreate three member pools:
gorouter pool and give it the following parameters:
gorouter_poolgorouter_monLeast Connectionsgorouter-# nodes.
80diegobrain pool and give it the following parameters:
diegobrain_pooldiegobrain_monLeast Connectionsdiegobrain-# nodes.
2222tcprouter pool and give it the following parameters:
tcprouter_pooltcprouter_monLeast Connectionstcprouter-# nodes.
*/0Create an SSL client profile.
pcf-ssl-client-certs-profileclientssl[TRUE]pcf-pas-certpcf-pas-keyYour deployment might require additional root or intermediate certificates. You can select them here. Additionally, you can also enter passphrases for certificates.
Create four LTM virtual servers. One is required, while three are optional.
pcf-httpsStandard0.0.0.0/0YOUR-PCF-VIPThis VIP must be DNS-resolvable to your system domain and default apps domains.
443EnabledTCPtcp_lan_optimized *Protocol Profile (Server): (Use Client Profile)httppcf-ssl-client-certs-profileEnabled on YOUR-CONFIGURED-F5-VPNAuto MapThis must be set in one-arm configurations.
gorouter_poolcf-xforward-for and cf-xforward-proto-httpspcf-httpStandard0.0.0.0/0YOUR-PCF-VIPThis VIP must be DNS-resolvable to your system domain and default apps domains.
80EnabledTCPtcp_lan_optimizedhttp[NONE]Enabled on YOUR-CONFIGURED-F5-VPNAuto MapThis must be set in one-arm configurations.
gorouter_poolcf-xforward-for and cf-xforward-proto-http(Optional) Create a virtual server for sshproxy. This virtual server allows developers to SSH into Diego containers. Give it the following parameters:
pcf-sshproxyStandard0.0.0.0/0YOUR-SSH-PROXY-VIPNote: This VIP must be DNS-resolvable to ssh.[YOUR-PCF-PAS-SYSTEM-DOMAIN].
2222EnabledTCPtcp_lan_optimized[NONE][NONE]Enabled on YOUR-CONFIGURED-F5-VPNAuto MapNote: This must be set in one-arm configurations.
diegobrain_pool(Optional) Create a virtual server for tcprouter. This virtual server allows access to the TCP app. Give it the following parameters:
pcf-tcprouterStandard0.0.0.0/0[YOUR-TCP-ROUTER-VIP]This VIP must be DNS-resolvable to tcp.[YOUR-CONFIGURED-TCP-DOMAIN].
*/0EnabledTCPtcp_lan_optimized[NONE][NONE]Enabled on YOUR-CONFIGURED-F5-VPNAuto MapNote: This must be set in one-arm configurations.
tcprouter_poolOnce you have completed configuration, check the Network Map located in Local Traffic Menu. Everything should be green.
Single configuration files (SCFs) are single files containing a complete F5 configuration for F5 v11.x and v12.x. This section contains sample SCF files for functional reference configurations. Often, presenting a reference SCF “template” to an F5 admin can provide all necessary configuration information for configuring an F5 load balancer for TAS for VMs.
You can create SCFs by using tmsh Run:
save /sys config file SCF-FILENAME no-passphrase
Where SCF-FILENAME is the name of the SCF you want to create.
You can also edit SCFs and use them as a template to replicate configurations across multiple F5s by using tmsh. Run:
load /sys config file SCF-FILENAME
Where SCF-FILENAME is the name of the SCF you want to edit.
For more information, see Overview of Single Configuration Files (11.x - 13.x).
For a sample SCF, see Cookbook in the PCF F5 Cookbook repository on GitHub.
For information about F5 iRules that might be useful when configuring an F5 load balancer for TAS for VMs, see the VMware Tanzu CF iRules For F5 repository on GitHub.