diff --git a/modules/nw-osp-specify-floating-ip.adoc b/modules/nw-osp-specify-floating-ip.adoc new file mode 100644 index 0000000000..96e14de074 --- /dev/null +++ b/modules/nw-osp-specify-floating-ip.adoc @@ -0,0 +1,64 @@ +// Modules included in the following assemblies: +// +// * networking/load-balancing-openstack.adoc + +:_mod-docs-content-type: PROCEDURE +[id="nw-osp-specify-floating-ip_{context}"] += Specifying a floating IP address in the Ingress Controller + +By default, a floating IP address gets randomly assigned to your {product-title} cluster on {rh-openstack-first} upon deployment. This floating IP address is associated with your Ingress port. + +You might want to pre-create a floating IP address before updating your DNS records and cluster deployment. In this situation, you can define a floating IP address to the Ingress Controller. You can do this regardless of whether you are using Octavia or a user-managed cluster. + +.Procedure + +. Create the Ingress Controller custom resource (CR) file with the floating IPs: ++ +.Example Ingress config `sample-ingress.yaml` +[source,yaml] +---- +apiVersion: operator.openshift.io/v1 +kind: IngressController +metadata: + namespace: openshift-ingress-operator + name: <1> +spec: + domain: <2> + endpointPublishingStrategy: + type: LoadBalancerService + loadBalancer: + scope: External <3> + providerParameters: + type: OpenStack + openstack: + floatingIP: <4> +---- +<1> The name of your Ingress Controller. If you are using the default Ingress Controller, the value for this field is `default`. +<2> The DNS name serviced by the Ingress Controller. +<3> You must set the scope to `External` to use a floating IP address. +<4> The floating IP address associated with the port your Ingress Controller is listening on. + +. Apply the CR file by running the following command: ++ +[source,terminal] +---- +$ oc apply -f sample-ingress.yaml +---- + +. Update your DNS records with the Ingress Controller endpoint: ++ +[source,text] +---- +*.apps... IN A +---- + +. Continue with creating your {product-title} cluster. + +.Verification + +* Confirm that the load balancer was successfully provisioned by checking the `IngressController` conditions using the following command: ++ +[source,terminal] +---- +$ oc get ingresscontroller -n openshift-ingress-operator -o jsonpath="{.status.conditions}" | yq -PC +---- diff --git a/networking/load-balancing-openstack.adoc b/networking/load-balancing-openstack.adoc index cecb255182..b642026720 100644 --- a/networking/load-balancing-openstack.adoc +++ b/networking/load-balancing-openstack.adoc @@ -16,3 +16,6 @@ include::modules/nw-osp-services-external-load-balancer.adoc[leveloffset=+1] // Configuring a user-managed load balancer include::modules/nw-osp-configuring-external-load-balancer.adoc[leveloffset=+2] + +// Configuring an Ingress controller to use floating IPs +include::modules/nw-osp-specify-floating-ip.adoc[leveloffset=+1]