diff --git a/_topic_map.yml b/_topic_map.yml index e974a1d59253..a433dd6c10cc 100644 --- a/_topic_map.yml +++ b/_topic_map.yml @@ -562,6 +562,8 @@ Topics: - Name: Configuring a custom PKI File: configuring-a-custom-pki Distros: openshift-enterprise,openshift-webscale,openshift-origin +- Name: Load balancing on OpenStack + File: load-balancing-openstack --- Name: Storage Dir: storage diff --git a/installing/installing_openstack/installing-openstack-installer-kuryr.adoc b/installing/installing_openstack/installing-openstack-installer-kuryr.adoc index 2529ac7b7729..2efc4daebcc9 100644 --- a/installing/installing_openstack/installing-openstack-installer-kuryr.adoc +++ b/installing/installing_openstack/installing-openstack-installer-kuryr.adoc @@ -22,6 +22,9 @@ include::modules/installation-osp-default-kuryr-deployment.adoc[leveloffset=+1] include::modules/installation-osp-kuryr-increase-quota.adoc[leveloffset=+2] include::modules/installation-osp-kuryr-neutron-configuration.adoc[leveloffset=+2] include::modules/installation-osp-kuryr-octavia-configuration.adoc[leveloffset=+2] + +You can xref:../../networking/load-balancing-openstack.adoc#installation-osp-kuryr-octavia-configure[configure your cluster to use the Octavia OVN driver] after your {rh-openstack} cloud is upgraded from version 13 to version 16. + include::modules/installation-osp-kuryr-known-limitations.adoc[leveloffset=+2] include::modules/installation-osp-control-compute-machines.adoc[leveloffset=+2] include::modules/installation-osp-bootstrap-machine.adoc[leveloffset=+2] diff --git a/modules/installation-osp-kuryr-octavia-configuration.adoc b/modules/installation-osp-kuryr-octavia-configuration.adoc index 10b6fb8b9390..51cbb4975a4c 100644 --- a/modules/installation-osp-kuryr-octavia-configuration.adoc +++ b/modules/installation-osp-kuryr-octavia-configuration.adoc @@ -239,4 +239,4 @@ If Kuryr uses `ovn` instead of Amphora, it offers the following benefits: * Decreased resource requirements. Kuryr does not require a load balancer VM for each Service. * Reduced network latency. * Increased service creation speed by using OpenFlow rules instead of a VM for each Service. -* Distributed load balancing actions across all nodes instead of centralized on Amphora VMs. +* Distributed load balancing actions across all nodes instead of centralized on Amphora VMs. \ No newline at end of file diff --git a/modules/installation-osp-kuryr-octavia-upgrade.adoc b/modules/installation-osp-kuryr-octavia-upgrade.adoc new file mode 100644 index 000000000000..30b05836d7a9 --- /dev/null +++ b/modules/installation-osp-kuryr-octavia-upgrade.adoc @@ -0,0 +1,99 @@ +// Module included in the following assemblies: +// +// * networking/openstack/load-balancing-openstack.adoc + +[id="installation-osp-kuryr-octavia-configure_{context}"] += Using the Octavia OVN load balancer provider driver with Kuryr SDN + +If your {product-title} cluster uses Kuryr and was installed on a {rh-openstack-first} 13 cloud +that was later upgraded to {rh-openstack} 16, you can configure it to use the Octavia OVN provider driver. + +[IMPORTANT] +==== +Kuryr replaces existing load balancers after you change provider drivers. This process +results in some downtime. +==== + +.Prerequisites + +* Install the {rh-openstack} CLI, `openstack`. + +* Install the {product-title} CLI, `oc`. + +* Verify that the Octavia OVN driver on {rh-openstack} is enabled. ++ +[TIP] +==== +To view a list of available Octavia drivers, on a command line, enter `openstack loadbalancer provider list`. + +The `ovn` driver is displayed in the command's output. +==== + +.Procedure + +To change from the Octavia Amphora provider driver to Octavia OVN: + +. Open the `kuryr-config` ConfigMap. On a command line, enter: ++ +---- +$ oc -n openshift-kuryr edit cm kuryr-config +---- + +. In the ConfigMap, delete the line that contains `kuryr-octavia-provider: default`. For example: ++ +---- +... +kind: ConfigMap +metadata: + annotations: + networkoperator.openshift.io/kuryr-octavia-provider: default <1> +... +---- +<1> Delete this line. The cluster will regenerate it with `ovn` as the value. ++ +Wait for the Cluster Network Operator to detect the modification and to redeploy the `kuryr-controller` and `kuryr-cni` Pods. This process might take several minutes. + +. Verify that the `kuryr-config` ConfigMap annotation is present with `ovn` as its value. On a command line, enter: ++ +---- +$ oc -n openshift-kuryr edit cm kuryr-config +---- ++ +The `ovn` provider value is displayed in the output: ++ +---- +... +kind: ConfigMap +metadata: + annotations: + networkoperator.openshift.io/kuryr-octavia-provider: ovn +... +---- + +. Verify that {rh-openstack} recreated its load balancers. + +.. On a command line, enter: ++ +---- +$ openstack loadbalancer list | grep amphora +---- ++ +A single Amphora load balancer is displayed. For example: ++ +---- +a4db683b-2b7b-4988-a582-c39daaad7981 | ostest-7mbj6-kuryr-api-loadbalancer | 84c99c906edd475ba19478a9a6690efd | 172.30.0.1 | ACTIVE | amphora +---- + +.. Search for `ovn` load balancers by entering: ++ +---- +$ openstack loadbalancer list | grep ovn +---- ++ +The remaining load balancers of the `ovn` type are displayed. For example: ++ +---- +2dffe783-98ae-4048-98d0-32aa684664cc | openshift-apiserver-operator/metrics | 84c99c906edd475ba19478a9a6690efd | 172.30.167.119 | ACTIVE | ovn +0b1b2193-251f-4243-af39-2f99b29d18c5 | openshift-etcd/etcd | 84c99c906edd475ba19478a9a6690efd | 172.30.143.226 | ACTIVE | ovn +f05b07fc-01b7-4673-bd4d-adaa4391458e | openshift-dns-operator/metrics | 84c99c906edd475ba19478a9a6690efd | 172.30.152.27 | ACTIVE | ovn +---- \ No newline at end of file diff --git a/networking/load-balancing-openstack.adoc b/networking/load-balancing-openstack.adoc new file mode 100644 index 000000000000..966afb8209a5 --- /dev/null +++ b/networking/load-balancing-openstack.adoc @@ -0,0 +1,8 @@ +[id="load-balancing-openstack"] += Load balancing on {rh-openstack} +include::modules/common-attributes.adoc[] +:context: load-balancing-openstack + +toc::[] + +include::modules/installation-osp-kuryr-octavia-upgrade.adoc[leveloffset=+1] \ No newline at end of file