Skip to content

Pure Underlay using KubeOVN Provider Networks#1069

Open
rrajendran17 wants to merge 9 commits into
harvester:mainfrom
rrajendran17:pure-underlay
Open

Pure Underlay using KubeOVN Provider Networks#1069
rrajendran17 wants to merge 9 commits into
harvester:mainfrom
rrajendran17:pure-underlay

Conversation

@rrajendran17

Copy link
Copy Markdown
Contributor

Problem:

Document user document for kubeovn underlay installation

Solution:

Document user document for kubeovn underlay installation

Related Issue(s):

harvester/harvester#10154

Test plan:

Additional documentation or context

@rrajendran17 rrajendran17 force-pushed the pure-underlay branch 3 times, most recently from d7c99d0 to 5e680af Compare June 29, 2026 21:54
@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Name Link
🔨 Latest commit 2a79fbd
😎 Deploy Preview https://6a4c19341753e060d62be0af--harvester-preview.netlify.app

Signed-off-by: Renuka Devi Rajendran <renuka.rajendran@suse.com>
@ibrokethecloud

Copy link
Copy Markdown
Contributor

PR LGTM. @jillian-maroket should our documentation refer to product as Harvester or SUSE Virtualization? The PR currently refers to Harvester as SUSE Virtualization and we need to keep naming consistent.

ibrokethecloud
ibrokethecloud previously approved these changes Jul 3, 2026
@mergify

mergify Bot commented Jul 3, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@jillian-maroket

Copy link
Copy Markdown
Contributor

PR LGTM. @jillian-maroket should our documentation refer to product as Harvester or SUSE Virtualization? The PR currently refers to Harvester as SUSE Virtualization and we need to keep naming consistent.

This PR is for the Harvester doc, so we should use the project name.

  • harvester/docs - Harvester
  • rancher/harvester-product-docs - SUSE Virtualization

I'll fix the naming issue when I review the content.

@jillian-maroket jillian-maroket left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see my questions and comments. I'll continue my review after I get more information about the config steps.

Comment thread docs/networking/kubeovn-pureunderlay.md Outdated
Comment thread docs/networking/kubeovn-pureunderlay.md Outdated
Comment thread docs/networking/kubeovn-pureunderlay.md Outdated
Comment thread docs/networking/kubeovn-pureunderlay.md Outdated
Comment thread docs/networking/kubeovn-pureunderlay.md Outdated
Comment thread docs/networking/kubeovn-pureunderlay.md
Comment thread docs/networking/kubeovn-pureunderlay.md Outdated
Comment on lines +98 to +102
#### Create a Subnet in custom or default VPC

1. Go to **Overlay Networks** > **Virtual Private Cloud**.

1. Select **Create Subnet** under `ovn-cluster`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The section title says custom or default VPC, but step 2 tells the user to create the subnet in ovn-cluster. Is that required or just an example?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that is just an example

Comment thread docs/networking/kubeovn-pureunderlay.md Outdated
Comment on lines +109 to +116
1. On the **Basics** tab, configure the following settings:

- **CIDR Block**.
- **Provider Network**.
- **Gateway IP**
- **Protocol**
- **VPC**
- **VLAN**

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about the other three settings on the Basic tab? The doc should be clear about whether users can safely keep the defaults or select different values.

https://docs.harvesterhci.io/v1.8/networking/kubeovn-vpc/#subnet-settings - We can link to this.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other settings (like private subnet,allowed subnets) are optional and there is a new field vlan added in v1.9 which is not available in older v1.18 subnet creation document

Comment thread docs/networking/kubeovn-pureunderlay.md Outdated
Comment on lines +124 to +126
### Underlay Networking Explained

![](/img/pureunderlay.png)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The diagram belongs to the intro section and doesn't need its own heading.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, I will move the diagram to the intro section

Comment thread docs/networking/kubeovn-pureunderlay.md Outdated
Comment on lines +129 to +131
### Micro segmentation

Use [Network Isolation](https://docs.harvesterhci.io/v1.9/networking/kubeovn-vm-isolation) to achieve microsegmentation of VMs using underlay Network.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since micro-segmentation was already mentioned in the intro section, we can add the link there and remove this section altogether.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, I will change this

Co-authored-by: Jillian Maroket <67180770+jillian-maroket@users.noreply.github.com>
Signed-off-by: Renuka Devi Rajendran <renuka.rajendran@suse.com>
rrajendran17 and others added 6 commits July 6, 2026 12:24
Co-authored-by: Jillian Maroket <67180770+jillian-maroket@users.noreply.github.com>
Signed-off-by: Renuka Devi Rajendran <renuka.rajendran@suse.com>
Co-authored-by: Jillian Maroket <67180770+jillian-maroket@users.noreply.github.com>
Signed-off-by: Renuka Devi Rajendran <renuka.rajendran@suse.com>
Co-authored-by: Jillian Maroket <67180770+jillian-maroket@users.noreply.github.com>
Signed-off-by: Renuka Devi Rajendran <renuka.rajendran@suse.com>
Co-authored-by: Jillian Maroket <67180770+jillian-maroket@users.noreply.github.com>
Signed-off-by: Renuka Devi Rajendran <renuka.rajendran@suse.com>
Co-authored-by: Jillian Maroket <67180770+jillian-maroket@users.noreply.github.com>
Signed-off-by: Renuka Devi Rajendran <renuka.rajendran@suse.com>
Signed-off-by: Renuka Devi Rajendran <renuka.rajendran@suse.com>

@jillian-maroket jillian-maroket left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've rewritten the text based on the new information.


Furthermore, integrating Kube-OVN’s underlay capabilities into Harvester ensures that virtual machines connected to the physical network do not lose their cloud-native security features. Workloads can still benefit from advanced micro-segmentation capabilities, including subnet ACLs and granular network policies, allowing you to maintain strict traffic control across both virtual and physical network boundaries.Use [Network Isolation](https://docs.harvesterhci.io/v1.9/networking/kubeovn-vm-isolation) to achieve microsegmentation of VMs using underlay Network.

### Underlay Installation

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Underlay Installation
## Underlay Installation

Comment on lines +37 to +46
#### Create a Provider Network

1. Go to > **Underlay Networks**.

1. Select **Create**.

1. Configure the following settings:

- Name
- Description (optional)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#### Create a Provider Network
1. Go to > **Underlay Networks**.
1. Select **Create**.
1. Configure the following settings:
- Name
- Description (optional)
### Create a Provider Network
1. On the Harvester UI, go to **Underlay Networks > Provider Networks**.
1. Click **Create**.
![](/img/pn.png)
1. Specify a unique name for the network.

Comment on lines +48 to +55
1. On the **Interfaces** tab, configure the following settings:

- Select **Default Interface**. This is any physical or bond interface available on all the Harvester host.The provider network using this spans all nodes in the cluster.
- Select **Custom Interfaces**. (Optional). If the interface names are not same on all the nodes in the cluster, user provides specific interface name to nodename mapping.
- Interface Name
- Nodes
- Select **Excluded Nodes**. (Optional). These nodes are excluded from provider network configuration.
- Nodes

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. On the **Interfaces** tab, configure the following settings:
- Select **Default Interface**. This is any physical or bond interface available on all the Harvester host.The provider network using this spans all nodes in the cluster.
- Select **Custom Interfaces**. (Optional). If the interface names are not same on all the nodes in the cluster, user provides specific interface name to nodename mapping.
- Interface Name
- Nodes
- Select **Excluded Nodes**. (Optional). These nodes are excluded from provider network configuration.
- Nodes
1. On the **Interfaces** tab, configure the following settings:
- **Default Interface**: Select a physical or bonded interface that is present on every host in your cluster. This interface acts as the main uplink connecting all nodes to the provider network.
- **Custom Interfaces**: (Optional) Configure a custom interface if your hosts do not have identical network interface names. You can manually map specific interface names to their corresponding nodes to ensure consistent network connectivity.
1. (Optional) On the **Excluded Nodes** tab, select nodes that should not participate in this provider network (for example, nodes that are isolated for dedicated tasks).

- Select **Excluded Nodes**. (Optional). These nodes are excluded from provider network configuration.
- Nodes

![](/img/pn.png)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
![](/img/pn.png)
1. Click **Create**.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved the image to the first step and added this missing final step.


![](/img/pn.png)

Refer [Provider Network Configuration](https://kubeovn.github.io/docs/v1.16.x/en/start/underlay/#create-providernetwork)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Refer [Provider Network Configuration](https://kubeovn.github.io/docs/v1.16.x/en/start/underlay/#create-providernetwork)
For more information, see [Create Provider Network](https://kubeovn.github.io/docs/v1.16.x/en/start/underlay/#create-providernetwork) in the Kube-OVN documentation.

Comment on lines +81 to +83
#### Create an Overlay Network

Follow [Create an Overlay Network](https://docs.harvesterhci.io/v1.9/networking/harvester-network#create-an-overlay-network) to create an Overlay Network.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#### Create an Overlay Network
Follow [Create an Overlay Network](https://docs.harvesterhci.io/v1.9/networking/harvester-network#create-an-overlay-network) to create an Overlay Network.
### Create an Overlay Network
Follow the instructions in [Create an Overlay Network](./harvester-network.md#create-an-overlay-network).

Comment on lines +85 to +92
1. Select `kube-system` namespace

1. On the **Basics** tab, configure the following additional settings:

- Select **OverlayNetwork**.
- Select **Network Interface Card** (`The NIC selected here must match the interface provided in Provider Network`)

![](/img/vswitchexternal.png)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Select `kube-system` namespace
1. On the **Basics** tab, configure the following additional settings:
- Select **OverlayNetwork**.
- Select **Network Interface Card** (`The NIC selected here must match the interface provided in Provider Network`)
![](/img/vswitchexternal.png)
![](/img/vswitchexternal.png)
:::info important
When setting up a pure underlay, the overlay network must use the following configuration:
- **Namespace**: Select `kube-system`.
- **Network Interface Card**: Select the identical physical or bonded network interfaces that you assigned when configuring the provider network.
:::

Comment on lines +94 to +102
#### Create a Subnet in custom or default VPC

Follow [Create a Subnet](https://docs.harvesterhci.io/v1.8/networking/kubeovn-vpc/#subnet-settings)

1. On the **Basics** tab, configure the following additional settings:

- **VLAN**. Name of the vlan resource configured for the Provider Network.

![](/img/subnetexternal.png)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#### Create a Subnet in custom or default VPC
Follow [Create a Subnet](https://docs.harvesterhci.io/v1.8/networking/kubeovn-vpc/#subnet-settings)
1. On the **Basics** tab, configure the following additional settings:
- **VLAN**. Name of the vlan resource configured for the Provider Network.
![](/img/subnetexternal.png)
### Create a Subnet in a VPC
For descriptions of settings that you must configure, see [Subnet Settings](./kubeovn-vpc.md#subnet-settings).
![](/img/subnetexternal.png)
:::info important
When setting up a pure underlay, you must specify the name of the VLAN network that is mapped to the provider network.
:::

Comment on lines +105 to +106
#### Create VMs attached to underlay network using `vswitchexternal`
Refer [Create a VM](https://docs.harvesterhci.io/v1.9/vm/index#how-to-create-a-vm)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this section necessary? The title of the parent section is "Underlay Installation". VM creation seems external to the installation process.


While traditional VLAN networking already enables virtual machines to communicate directly with the physical infrastructure, Kube-OVN's _Underlay_ mode extends this capability by embedding native Layer 2 connectivity directly into the OVN networking control plane. This deep integration allows workloads to leverage your existing physical underlay infrastructure while coexisting seamlessly with standard overlay networks inside the same Kubernetes cluster.

Furthermore, integrating Kube-OVN’s underlay capabilities into Harvester ensures that virtual machines connected to the physical network do not lose their cloud-native security features. Workloads can still benefit from advanced micro-segmentation capabilities, including subnet ACLs and granular network policies, allowing you to maintain strict traffic control across both virtual and physical network boundaries.Use [Network Isolation](https://docs.harvesterhci.io/v1.9/networking/kubeovn-vm-isolation) to achieve microsegmentation of VMs using underlay Network.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Furthermore, integrating Kube-OVN’s underlay capabilities into Harvester ensures that virtual machines connected to the physical network do not lose their cloud-native security features. Workloads can still benefit from advanced micro-segmentation capabilities, including subnet ACLs and granular network policies, allowing you to maintain strict traffic control across both virtual and physical network boundaries.Use [Network Isolation](https://docs.harvesterhci.io/v1.9/networking/kubeovn-vm-isolation) to achieve microsegmentation of VMs using underlay Network.
Furthermore, integrating Kube-OVN’s underlay capabilities into Harvester ensures that virtual machines connected to the physical network do not lose their cloud-native security features. Workloads can still benefit from advanced micro-segmentation capabilities, including [subnet ACLs and granular network policies](./kubeovn-vm-isolation.md), allowing you to maintain strict traffic control across both virtual and physical network boundaries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants