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
  • 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

  1. 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

  2. Review the deployment. Notice that only a pool object was created.

4.1.2. Create Tenant 2 Pool

  1. 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

  2. Review the deployment. Notice that only a pool object was created.

4.1.3. Create Virtual Server

  1. 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


  2. Click the ‘Finished’ button to deploy the template

  3. Review the deployed configuration using the iApp Components view

  4. 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.