|
| 1 | +// Module included in the following assemblies: |
| 2 | + |
| 3 | +// * networking/load-balancing-openstack.adoc ( Load balancing on OpenStack) |
| 4 | +// * installing/installing_bare_metal_ipi/ipi-install-post-installation-configuration.adoc (Post-installation configuration) |
| 5 | +// * installing/installing-vsphere-installer-provisioned.adoc(Installing a cluster) |
| 6 | +// * installing/installing-vsphere-installer-provisioned-customizations.adoc (Installing a cluster on vSphere with customizations) |
| 7 | +// * installing/installing-vsphere-installer-provisioned-network-customizations.adoc (Installing a cluster on vSphere with network customizations) |
| 8 | +// * installing/installing-restricted-networks-installer-provisioned-vsphere.adoc (Installing a cluster on vSphere in a restricted network) |
| 9 | + |
| 10 | +ifeval::["{context}" == "installing-vsphere-installer-provisioned"] |
| 11 | +:vsphere: |
| 12 | +endif::[] |
| 13 | +ifeval::["{context}" == "installing-vsphere-installer-provisioned-customizations"] |
| 14 | +:vsphere: |
| 15 | +endif::[] |
| 16 | +ifeval::["{context}" == "installing-vsphere-installer-provisioned-network-customizations"] |
| 17 | +:vsphere: |
| 18 | +endif::[] |
| 19 | +ifeval::["{context}" == installing-restricted-networks-installer-provisioned-vsphere] |
| 20 | +:vsphere: |
| 21 | +endif::[] |
| 22 | + |
| 23 | +:_mod-docs-content-type: CONCEPT |
| 24 | +[id="nw-osp-services-external-load-balancer_{context}"] |
| 25 | += Services for an external load balancer |
| 26 | + |
| 27 | +You can configure an {product-title} cluster |
| 28 | +ifeval::["{context}" == "load-balancing-openstack"] |
| 29 | +on {rh-openstack-first} |
| 30 | +endif::[] |
| 31 | +to use an external load balancer in place of the default load balancer. |
| 32 | + |
| 33 | +[IMPORTANT] |
| 34 | +==== |
| 35 | +Configuring an external load balancer depends on your vendor's load balancer. |
| 36 | +
|
| 37 | +The information and examples in this section are for guideline purposes only. Consult the vendor documentation for more specific information about the vendor's load balancer. |
| 38 | +==== |
| 39 | + |
| 40 | +Red Hat supports the following services for an external load balancer: |
| 41 | + |
| 42 | +* Ingress Controller |
| 43 | +* OpenShift API |
| 44 | +* OpenShift MachineConfig API |
| 45 | +
|
| 46 | +You can choose whether you want to configure one or all of these services for an external load balancer. Configuring only the Ingress Controller service is a common configuration option. To better understand each service, view the following diagrams: |
| 47 | + |
| 48 | +.Example network workflow that shows an Ingress Controller operating in an {product-title} environment |
| 49 | +image::external-load-balancer-default.png[An image that shows an example network workflow of an Ingress Controller operating in an {product-title} environment.] |
| 50 | + |
| 51 | +.Example network workflow that shows an OpenShift API operating in an {product-title} environment |
| 52 | +image::external-load-balancer-openshift-api.png[An image that shows an example network workflow of an OpenShift API operating in an {product-title} environment.] |
| 53 | + |
| 54 | +.Example network workflow that shows an OpenShift MachineConfig API operating in an {product-title} environment |
| 55 | +image::external-load-balancer-machine-config-api.png[An image that shows an example network workflow of an OpenShift MachineConfig API operating in an {product-title} environment.] |
| 56 | + |
| 57 | +The following configuration options are supported for external load balancers: |
| 58 | + |
| 59 | +* Use a node selector to map the Ingress Controller to a specific set of nodes. You must assign a static IP address to each node in this set, or configure each node to receive the same IP address from the Dynamic Host Configuration Protocol (DHCP). Infrastructure nodes commonly receive this type of configuration. |
| 60 | +
|
| 61 | +* Target all IP addresses on a subnet. This configuration can reduce maintenance overhead, because you can create and destroy nodes within those networks without reconfiguring the load balancer targets. If you deploy your ingress pods by using a machine set on a smaller network, such as a `/27` or `/28`, you can simplify your load balancer targets. |
| 62 | ++ |
| 63 | +[TIP] |
| 64 | +==== |
| 65 | +You can list all IP addresses that exist in a network by checking the machine config pool's resources. |
| 66 | +==== |
| 67 | +
|
| 68 | +Before you configure an external load balancer for your {product-title} cluster, consider the following information: |
| 69 | + |
| 70 | +* For a front-end IP address, you can use the same IP address for the front-end IP address, the Ingress Controller's load balancer, and API load balancer. Check the vendor's documentation for this capability. |
| 71 | +
|
| 72 | +* For a back-end IP address, ensure that an IP address for an {product-title} control plane node does not change during the lifetime of the external load balancer. You can achieve this by completing one of the following actions: |
| 73 | +** Assign a static IP address to each control plane node. |
| 74 | +** Configure each node to receive the same IP address from the DHCP every time the node requests a DHCP lease. Depending on the vendor, the DHCP lease might be in the form of an IP reservation or a static DHCP assignment. |
| 75 | +
|
| 76 | +* Manually define each node that runs the Ingress Controller in the external load balancer for the Ingress Controller back-end service. For example, if the Ingress Controller moves to an undefined node, a connection outage can occur. |
| 77 | +
|
| 78 | +ifeval::["{context}" == "installing-vsphere-installer-provisioned"] |
| 79 | +:!vsphere: |
| 80 | +endif::[] |
| 81 | +ifeval::["{context}" == "installing-vsphere-installer-provisioned-customizations"] |
| 82 | +:!vsphere: |
| 83 | +endif::[] |
| 84 | +ifeval::["{context}" == "installing-vsphere-installer-provisioned-network-customizations"] |
| 85 | +:!vsphere: |
| 86 | +endif::[] |
| 87 | +ifeval::["{context}" == installing-restricted-networks-installer-provisioned-vsphere] |
| 88 | +:!vsphere: |
| 89 | +endif::[] |
0 commit comments