4.1. Multi-Tier Deployments¶
By default the App Services Integration iApp template deploys a configuration that automatically creates at least one Virtual Server associated with 0 or more pools. In advanced use cases it may be required to create a de-coupled or multi-tier deployment that allows the user to create Pools and Virtual Server objects as separate iApp deployments.
This functionality is useful when L7 policies or iRules are used to route traffic in multi-tenant environments that want to expose a service on a minimal number of client facing IP addresses. The advantage of creating a multi-tier deployment is the ability to add tenant Pool resources without having to centralize the config in a single iApp deployment
In this lab we will create a two tier deployment that consists of the following:
- Tier 1:
- HTTP Virtual Server with a L7 Policy:
- URI ‘/tenant1/’ -> Tenant 1, Pool 0
- URI ‘/tenant2/’ -> Tenant 2, Pool 0
- HTTP Virtual Server with a L7 Policy:
- Tier 2:
- Tenant 1: 1 Pool with HTTP members
- Tenant 2: 1 Pool with HTTP members
This lab will consist of 3 seperate iApp deployments. Two for the Pool objects and one for the Virtual Server.
4.1.1. Create Tenant 1 Pool
Create a new deployment with the following values:
Field Name Value Name Lab4.1_tenant1 Template appsvcs_integration_v2.0.003 Virtual Server: Address 255.255.255.254
Note
This special value is used to skip Virtual Server creation
`Virtual Server: Port <AppSvcsiAp p_presoref.html# preso-pool-port> `__ 80 Pool: Pool Table - Row 1:
- Index: 0
- Monitor(s): 0
Pool: Members - Row 1:
- Pool Idx: 0
- IP/Node Name: 10.1.10.100
- Port: 80
- Row 2:
- Pool Idx: 0
- IP/Node Name: 10.1.10.101
- Port: 80
Monitor: Monitor Table - Row 1:
- Index: 0
- Name: /Common/http
- Row 1:
Review the deployment. Notice that only a pool object was created.
4.1.2. Create Tenant 2 Pool
Create a new deployment with the following values:
Field Name Value Name Lab4.1_tenant2 Template appsvcs_integration_v2.0.003 Virtual Server: Address 255.255.255.254
Note
This special value is used to skip Virtual Server creation
`Virtual Server: Port <AppSvcsiAp p_presoref.html# preso-pool-port> `__ 80 Pool: Pool Table - Row 1:
- Index: 0
- Monitor(s): 0
Pool: Members - Row 1:
- Pool Idx: 0
- IP/Node Name: 10.1.10.103
- Port: 80
- Row 2:
- Pool Idx: 0
- IP/Node Name: 10.1.10.104
- Port: 80
Monitor: Monitor Table - Row 1:
- Index: 0
- Name: /Common/http
- Row 1:
Review the deployment. Notice that only a pool object was created.
4.1.3. Create Virtual Server
Create a new deployment with the following values:
Field Name Value Name Lab4.1_virtual Template appsvcs_integration_v2.0.003 Virtual Server: Address 10.1.20.41 `Virtual Server: Port <AppSvcsiAp p_presoref.html# preso-pool-port> `__ 80 Virtual Server: Default Pool Index <remove the default value> Pool: Pool Table - Row 1: <remove the default row that is shown>
Pool: Members - Row 1: <remove the default row that is shown>
Monitor: Monitor Table - Row 1: <remove the default row that is shown>
Virtual Server: Client-side L4 Protocol Profile /Common/tcp-wan-optimized Virtual Server: Server-side L4 Protocol Profile /Common/tcp-lan-optimized Virtual Server: HTTP Profile /Common/http L7 Policy: Rules: Matching _ - Row 1:
- Group: 0
- Operand: http-uri/request/path
- Condition: starts-with
- Value: /tenant1/
- Row 2:
- Group: 1
- Operand: http-uri/request/path
- Condition: starts-with
- Value: /tenant2/
L7 Policy: Rules: Action - Row 1:
- Group: 0
- Target: forward/request/select/pool
- Parameter: /Common/Lab4.1_tenant1.app/Lab4.1_tenant1_p
ool_0
- Row 2:
- Group: 1
- Target: forward/request/select/pool
- Parameter: /Common/Lab4.1_tenant2.app/Lab4.1_tenant2_p
ool_0
Click the ‘Finished’ button to deploy the template
Review the deployed configuration using the iApp Components view
Review the L7 policy deployed by the template and notice that the previously created pools are referenced
The BIG-IP API Reference documentation contains community-contributed content. F5 does not monitor or control community code contributions. We make no guarantees or warranties regarding the available code, and it may contain errors, defects, bugs, inaccuracies, or security vulnerabilities. Your access to and use of any code available in the BIG-IP API reference guides is solely at your own risk.