-
Notifications
You must be signed in to change notification settings - Fork 114
Pure Underlay using KubeOVN Provider Networks #1069
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
rrajendran17
wants to merge
22
commits into
harvester:main
Choose a base branch
from
rrajendran17:pure-underlay
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
22 commits
Select commit
Hold shift + click to select a range
770e2e1
Pure Underlay using KubeOVN Provider Networks
rrajendran17 7ef4eb3
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 0a8d328
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 c53e349
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 f648538
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 528412e
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 c6cd4f5
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 8c1a57a
additional details for configuration
rrajendran17 2a79fbd
Merge branch 'main' into pure-underlay
rrajendran17 ef934b0
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 f0e4506
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 daf4f20
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 7cc0f5d
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 b3c807c
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 657a683
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 152b840
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 9323bd6
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 d974abb
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 2ba4abd
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 49cb1f2
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 c58ebdc
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 dde023b
Update docs/networking/kubeovn-pureunderlay.md
rrajendran17 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,108 @@ | ||
| --- | ||
| sidebar_position: 12 | ||
| sidebar_label: Pure Underlay Networking | ||
| title: "Pure Underlay Networking" | ||
| keywords: | ||
| - Harvester | ||
| - networking | ||
| - Kube-OVN | ||
| - overlay VMs | ||
| - underlay networking | ||
| --- | ||
|
|
||
| <head> | ||
| <link rel="canonical" href="https://docs.harvesterhci.io/v1.9/networking/kubeovn-pureunderlay"/> | ||
| </head> | ||
|
|
||
| :::note | ||
|
|
||
| All features that use Kube-OVN are considered experimental. For more information about experimental features, see [Feature Labels](../getting-started/document-conventions.md#feature-labels). | ||
|
|
||
| ::: | ||
|
|
||
| A pure underlay network allows virtual machines to connect directly to a physical Layer 2 network without overlay networking and the encapsulation overhead of technologies such as VXLAN or Geneve. Each virtual machine becomes a first-class member of the external network, communicating natively using standard Ethernet frames. | ||
|
|
||
| In Harvester, this direct connectivity is achieved by attaching virtual machines to a provider network, which maps a physical NIC or bonded interface on each host to the cluster. Traffic leaves the virtual machine through the host's physical interface and reaches the external network immediately, bypassing overlay tunnels completely. | ||
|
|
||
|  | ||
|
|
||
| ## Kube-OVN Underlay Mode | ||
|
|
||
| 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](./kubeovn-vm-isolation.md), allowing you to maintain strict traffic control across both virtual and physical network boundaries. | ||
|
|
||
| ## Underlay Installation | ||
|
|
||
| ### Create a Provider Network | ||
|
|
||
| 1. On the Harvester UI, go to **Underlay Networks > Provider Networks**. | ||
|
|
||
| 1. Click **Create**. | ||
|
|
||
|  | ||
|
|
||
| 1. Specify a unique name for the network. | ||
|
|
||
| 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). | ||
|
|
||
| 1. Click **Create**. | ||
|
|
||
| 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. | ||
|
|
||
| ### Create a VLAN Network | ||
|
|
||
| 1. On the Harvester UI, go to **Underlay Networks > VLANs**. | ||
|
|
||
|  | ||
|
|
||
| 1. Click **Create**. | ||
|
|
||
| 1. Specify a unique name for the network. | ||
|
|
||
| 1. On the **Basic** tab, configure the following settings: | ||
|
|
||
| - **VLAN ID**: Specify the VLAN tag number for this network. Traffic passing through this network will automatically be tagged with this ID. If you do not want traffic to be tagged, set the value to `0`. | ||
|
|
||
| - **Provider Network**: Select the underlying provider network. You can map multiple VLANs to the same provider network to segregate traffic over the same physical infrastructure. | ||
|
|
||
| 1. Click **Create**. | ||
|
|
||
| For more information, see [Create VLAN](https://kubeovn.github.io/docs/v1.16.x/en/start/underlay/#create-vlan) in the Kube-OVN documentation. | ||
|
|
||
| ### Create an Overlay Network | ||
|
|
||
| Follow the instructions in [Create an Overlay Network](./harvester-network.md#create-an-overlay-network). | ||
|
|
||
|  | ||
|
|
||
| :::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. | ||
|
|
||
| ::: | ||
|
|
||
| ### Create a Subnet in a VPC | ||
|
|
||
| For descriptions of settings that you must configure, see [Subnet Settings](./kubeovn-vpc.md#subnet-settings). | ||
|
|
||
|  | ||
|
|
||
| :::info important | ||
|
|
||
| When setting up a pure underlay, you must specify the name of the VLAN network that is mapped to the provider network. | ||
|
|
||
| ::: | ||
|
|
||
|
|
||
| #### 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) | ||
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is better if users are aware that they could create VMs over the underlay.
The users after successful installation of underlay can spin up VMs and attach the VMs to the underlay network's VM Network/provider and VMs can communicate to other VMs or to external using the underlay network.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can add section or rephrase it based on your suggestion.