Origin Pools
Objective
This guide provides instructions on how to create origin pools in F5® Distributed Cloud Console (Console) using guided configuration. The origin pools are a mechanism to configure a set of endpoints grouped together into a resource pool used in the load balancer configuration. To learn more about endpoints and load balancers, see Load Balancing and Service Mesh.
The origin pools mechanism offers the following:
-
Configures endpoints for discovery
-
Defines load balancing between discovered endpoints
-
Creates health checks for discovered endpoints
-
Specifies TLS capabilities of and to the endpoints discovered
Using the instructions provided in this guide, you can create an origin pool of resources. The origin pool can then be attached to a load balancer configuration. You can also create and attach an origin pool while creating a load balancer. For more information, see HTTP Load Balancer. The instructions provided in this guide cover creating origin pools separately.
Note: You can also create each endpoint individually and use it in a virtual host. For more information, see Configure Endpoint.
Prerequisites
The following prerequisites apply:
-
An F5® Distributed Cloud Services Account. If you do not have an account, see Create an Account.
-
A valid DNS domain delegated to Distributed Cloud Services. For instructions on how to delegate your domain, see Domain Delegation.
-
A Distributed Cloud Services CE site for deploying your applications on the CE site. If you do not have a site, create a site using the instructions included in the Site Management guides. See the vK8s Deployment guide to deploy your applications on the Distributed Cloud Services network cloud or edge cloud.
Configuration
The configuration option to create the origin pool guides you through the steps for required configuration. This document covers each guided step and explains the required actions performed for each step.
Note: The origin pool and the load balancer for minikube, vK8s, or managed K8s service must be created in the same namespace as the services, so that the services can be discovered and advertised. If you are using the K8s service name as the server configuration, then the service name should be in the
<k8s-service.k8s-namespace>
format. The vK8s network needs to be set to where the services are deployed.
Step 1: Navigate to origin pool configuration.
-
Log into Console.
-
Click
Multi-Cloud App Connect
.
Figure: Console Homepage
-
Change to your application namespace.
-
Click
Manage
>Load Balancers
>Origin Pools
. -
Click
Add Origin Pool
to open the creation form.
Figure: Navigation to Origin Pools
Step 2: Start the origin pool creation process.
-
In the
Name
field, enter a name. -
Optionally, add labels and enter a description for your origin pool.
Figure: Origin Pool Name
Step 3: Configure the origin servers.
-
Select from the left menu or scroll to the
Origin Servers
section and perform the following:-
Click
Add Item
. -
From the
Select Type of Origin Server
menu, select a type of origin server per the following guidelines:-
Select
Public IP of Origin Server
to specify the origin server with its public IP address. Enter the IP address in thePublic IP
field. -
Select
IP address of Origin Server on given Sites
to specify the origin server with its private or public IP address. Enter the IP address in theIP
field. SelectSite
orVirtual Site
option in theSite or Virtual Site
menu. Select a site or virtual site according to the displayedSite
orVirtual Site
menus. Select theInside Network
,Outside Network
, orSegment
option for theSelect Network on the site
menu. ForSegment
, select the segment from the drop-down menu. -
Select
Public DNS Name of Origin Server
to specify the origin server with its public DNS name. Enter the DNS name in theDNS Name
field. -
Select
DNS Name of Origin Server on given Sites
to specify the origin server with its private or public DNS name. Enter the DNS name in theDNS Name
field. SelectSite
orVirtual Site
option in theSite or Virtual Site
menu. Select a site or virtual site according to the displayedSite
orVirtual Site
menus. Select theInside Network
,Outside Network
, orSegment
option for theSelect Network on the site
menu. ForSegment
, select the segment from the drop-down menu. -
Select
K8s Service Name of Origin Server on given Sites
to specify the origin server with its K8s service name. Enter the service name in theService Name
field. SelectSite
orVirtual Site
option in theSite or Virtual Site
menu. Select a site or virtual site according to the displayedSite
orVirtual Site
menu. Select inside or outside network option for theSelect Network on the site
menu. -
Select
Consul Service Name of Origin Server on given Sites
to specify the origin server with its consul service name. Enter the service name in theService Name
field in the<servicename.k8snamespace>
format. SelectSite
orVirtual Site
option in theSite or Virtual Site
menu. Select a site or virtual site according to the displayedSite
orVirtual Site
menu. Select inside or outside network option for theSelect Network on the site
menu. -
Select
IP address on Virtual Network
to specify the origin server with its virtual network IP address. Enter the IP address in theIP
field. Select the virtual network from theVirtual Network
menu. -
Select
Name on Virtual Network
to specify the origin server with its virtual network name. Enter a DNS name for the virtual server in theDNS Name
field. Select the virtual network from theVirtual Network
menu. -
Select
Custom Endpoint Object for Origin Server
to specify the origin server on an endpoint object. Select the reference to the endpoint from theEndpoint
menu. An existing endpoint object is required for this.
-
-
Click
Apply
.
-
Figure: Configure Origin Server
Note: You can use the
Add Item
option to add more than one origin server.
Note: If you have created an internet VIP in order to use the AWS Internet Network Load Balancer (NLB) VIP, the origin server type must be set to either
Public DNS Name of Origin Server
orDNS Name of Origin Server on given Sites
. For more information, see Create AWS Site.
-
Use the
Origin server Port
drop-down menu to select a port type:Port
: Enter a port number in thePort
field.Automatic Port
: For Consul service discovery, the port will be automatically discovered as part of service discovery. For other origin server types, the port will be automatically set to 443 if TLS is enabled or 80 if TLS is disabled.Loadbalancer port
: The endpoint is selected based on the load balancer port.
-
From the
Port used for health check
menu, select an option. -
Select an option from the
LoadBalancer Algorithm
andEndpoint Selection
menus.
Note: See Discovery - HashiCorp Consul for information on how to discover Consul services.
Step 4: Optionally, configure health checks.
-
Select from the left menu or scroll down to the
Health Checks
section. -
Click
Add item
. -
From the
Health Check object
menu, select an existing healthcheck object or clickAdd Item
to create a new object.
Figure: Configure Health Check
-
To create a new healthcheck, perform the following:
-
Enter a name. Optionally, set labels and add a description in the
Metadata
section. -
From the
Health Check
menu, select an option. Then clickView Configuration
to complete the setup. -
Enter values in seconds for the
Timeout
andInterval
fields, respectively. -
Enter numbers for the unhealthy and healthy threshold attempts for the
Unhealthy Threshold
andHealthy Threshold
fields, respectively. -
Click
Continue
.
-
Step 5: Optionally, set TLS configuration.
-
From the left menu, select
TLS
. -
From the
TLS
menu, selectEnable
. The default option is set toDisable
.
Figure: Configure TLS
-
From the
SNI Selection
menu, select an option. If you selectSNI Value
, then you must enter a corresponding value. You can disable SNI selection by selectingNo SNI
. -
From the
TLS Security Level
menu, select a security level.High
security is selected by default. If you selectCustom
, complete the parameters. -
From the
Origin Server Verification
menu, select an option for the trusted CA URL. If you selectUse Custom CA List
, you can enter it in certain formats by choosing from the options available. You can also skip origin server verification by selectingSkip Verification
. -
From the
mTLS with Origin Servers
menu, choose an option from the following:-
Disable
: Default option. Client authentication is not required. -
Select/add a TLS Certificate object for client authentication
: This option enables you to create a new TLS certificate or select an existing TLS certificate from Certificates Management. -
Upload a client authentication certificate specifically for this Origin Pool
: This option enables you to upload a TLS certificate for this origin pool specifically. To upload, clickConfigure
.
-
Step 6: Optionally, set the advanced options.
-
Select from the left menu or scroll down to the
Other Settings
section. -
Click
Configure
. -
Configure the options marked with an asterisk (
*
). -
In the
Origin Server Subsets
section, choose an option to enable or disable subset load balancing. -
In the
Miscellaneous Options
section, choose to enable the HTTP 2 protocol for upstream connections.
Note: Protocol extensions such as “X-Forwarded-For” header for HTTP require knowledge of the underlying protocol (such as HTTP). For layer 4 applications, F5 Distributed Cloud Load Balancers now support versions 1 (human-readable format) and version 2 (binary format) of the PROXY protocol (PROXY protocol spec), which conveys the original connection parameters, such as the client IP address, to the back-end servers. Use the
Proxy Protocol Configuration
drop-down menu to select the appropriate version.
- Click
Apply
.
Step 7: Complete origin pool creation.
Click Save and Exit
to complete creating the origin pool.