|
|
@ -0,0 +1,117 @@ |
|
|
|
======================================================= |
|
|
|
How to enable OVN Octavia provider driver with devstack |
|
|
|
======================================================= |
|
|
|
|
|
|
|
To enable the utilization of OVN as the provider driver for Octavia through |
|
|
|
devstack: |
|
|
|
|
|
|
|
#. You can start with the sample DevStack configuration file for OVN |
|
|
|
that kuryr-kubernetes comes with. |
|
|
|
|
|
|
|
.. code-block:: console |
|
|
|
|
|
|
|
$ cd devstack |
|
|
|
$ cp ../kuryr-kubernetes/devstack/local.conf.ovn.sample local.conf |
|
|
|
|
|
|
|
#. Then, you need to edit the local.conf file and enable ovn provider by |
|
|
|
setting: |
|
|
|
|
|
|
|
.. code-block:: bash |
|
|
|
|
|
|
|
# Kuryr K8S-Endpoint driver Octavia provider |
|
|
|
# ========================================== |
|
|
|
KURYR_EP_DRIVER_OCTAVIA_PROVIDER=ovn |
|
|
|
KURYR_K8S_OCTAVIA_MEMBER_MODE=L2 |
|
|
|
KURYR_ENFORCE_SG_RULES=False |
|
|
|
KURYR_LB_ALGORITHM=SOURCE_IP_PORT |
|
|
|
|
|
|
|
#. In case you want more Kuryr specific features than provided by the default |
|
|
|
handlers and more handlers are enabled, for example, the following enables |
|
|
|
NetworkPolicies in addition to the default features: |
|
|
|
|
|
|
|
.. code-block:: bash |
|
|
|
|
|
|
|
KURYR_ENABLED_HANDLERS=vif,kuryrport,service,endpoints,kuryrloadbalancer, |
|
|
|
namespace,pod_label,policy,kuryrnetworkpolicy,kuryrnetwork |
|
|
|
|
|
|
|
Then, the proper subnet drivers need to be set: |
|
|
|
|
|
|
|
.. code-block:: bash |
|
|
|
|
|
|
|
KURYR_SG_DRIVER=policy |
|
|
|
KURYR_SUBNET_DRIVER=namespace |
|
|
|
|
|
|
|
#. Run DevStack. |
|
|
|
|
|
|
|
.. code-block:: console |
|
|
|
|
|
|
|
$ ./stack.sh |
|
|
|
|
|
|
|
|
|
|
|
Enabling Kuryr support for OVN Octavia driver via ConfigMap |
|
|
|
----------------------------------------------------------- |
|
|
|
|
|
|
|
Alternatively, you can enable Kuryr support for the OVN Octavia driver on the |
|
|
|
Kuryr ConfigMap, in case the options are not set at the local.conf file. On |
|
|
|
DevStack deployment, the Kuryr ConfigMap can be edited using: |
|
|
|
|
|
|
|
.. code-block:: console |
|
|
|
|
|
|
|
$ kubectl -n kube-system edit cm kuryr-config |
|
|
|
|
|
|
|
The following options need to be set at the ConfigMap: |
|
|
|
|
|
|
|
.. code-block:: bash |
|
|
|
|
|
|
|
[kubernetes] |
|
|
|
endpoints_driver_octavia_provider = ovn |
|
|
|
|
|
|
|
[octavia_defaults] |
|
|
|
lb_algorithm = SOURCE_IP_PORT |
|
|
|
enforce_sg_rules = False |
|
|
|
member_mode = L2 |
|
|
|
|
|
|
|
Make sure to keep correct indentation when doing changes. To enforce the new |
|
|
|
settings, you need to restart kuryr-controller by simply killing existing pod. |
|
|
|
Deployment controller will make sure to restart the pod with new configuration. |
|
|
|
|
|
|
|
Kuryr automatically handles the recreation of already created services/load |
|
|
|
balancers, so that all of them have the same Octavia provider. |
|
|
|
|
|
|
|
|
|
|
|
Testing ovn-octavia driver support |
|
|
|
---------------------------------- |
|
|
|
|
|
|
|
Once the environment is ready, you can test that network connectivity works |
|
|
|
and verify that Kuryr creates the load balancer for the service with the OVN |
|
|
|
provider specified in the ConfigMap. |
|
|
|
To do that check out :doc:`../testing_connectivity`. |
|
|
|
|
|
|
|
You can also manually create a load balancer in Openstack: |
|
|
|
|
|
|
|
.. code-block:: console |
|
|
|
|
|
|
|
$ openstack loadbalancer create --vip-network-id public --provider ovn |
|
|
|
+---------------------+--------------------------------------+ |
|
|
|
| Field | Value | |
|
|
|
+---------------------+--------------------------------------+ |
|
|
|
| admin_state_up | True | |
|
|
|
| availability_zone | None | |
|
|
|
| created_at | 2020-12-09T14:45:08 | |
|
|
|
| description | | |
|
|
|
| flavor_id | None | |
|
|
|
| id | 94e7c431-912b-496c-a247-d52875d44ac7 | |
|
|
|
| listeners | | |
|
|
|
| name | | |
|
|
|
| operating_status | OFFLINE | |
|
|
|
| pools | | |
|
|
|
| project_id | af820b57868c4864957d523fb32ccfba | |
|
|
|
| provider | ovn | |
|
|
|
| provisioning_status | PENDING_CREATE | |
|
|
|
| updated_at | None | |
|
|
|
| vip_address | 172.24.4.9 | |
|
|
|
| vip_network_id | ee97665d-69d0-4995-a275-27855359956a | |
|
|
|
| vip_port_id | c98e52d0-5965-4b22-8a17-a374f4399193 | |
|
|
|
| vip_qos_policy_id | None | |
|
|
|
| vip_subnet_id | 3eed0c05-6527-400e-bb80-df6e59d248f1 | |
|
|
|
+---------------------+--------------------------------------+ |