VPC NAT UI screenshots and Guest cluster using Overlay Networks - #1085
VPC NAT UI screenshots and Guest cluster using Overlay Networks#1085rrajendran17 wants to merge 19 commits into
Conversation
|
437ef52 to
daa6ce9
Compare
| --- | ||
| sidebar_position: 11 | ||
| sidebar_label: Guest Cluster using Overlay Network | ||
| title: "Guest Cluster using Overlay Network" |
There was a problem hiding this comment.
| title: "Guest Cluster using Overlay Network" | |
| title: "Guest Cluster Provisioning Using Underlay and Overlay Networks" |
There was a problem hiding this comment.
If this title is appropriate, we can shorten it for the sidebar.
| <link rel="canonical" href="https://docs.harvesterhci.io/v1.9/rancher/guest-cluster-overlay-network"/> | ||
| </head> | ||
|
|
||
| ## Provisioning Downstream Kubernetes Clusters on Harvester Using Rancher and Kube-OVN Networking |
There was a problem hiding this comment.
The subject of the page must be reflected in the title. This heading is not necessary. Please remove it.
bd2e10c to
2edb74d
Compare
jillian-maroket
left a comment
There was a problem hiding this comment.
@rrajendran17 I restructured some parts to make the procedures flow better.
| ### SNAT for external connectivity from Overlay VMs | ||
|
|
||
| ##### Create EIP and SNAT resource | ||
| #### Create EIP |
There was a problem hiding this comment.
| ### SNAT for external connectivity from Overlay VMs | |
| ##### Create EIP and SNAT resource | |
| #### Create EIP | |
| ### SNAT Rules for Outbound Access (Overlay to External Networks) | |
| #### Create an External IP |
6bfa449 to
f07038f
Compare
jillian-maroket
left a comment
There was a problem hiding this comment.
Approving now so we can merge and close the related issue. Note that I found some issues (capitalization, punctuation, markup, etc.) but I prefer to create my own PR for such cleanup work.
|
Tick the box to add this pull request to the merge queue (same as
|
starbops
left a comment
There was a problem hiding this comment.
Thank you for the document update! I have a few nits below.
|
|
||
| For VMs provisioned as downstream cluster nodes, ensure external connectivity is available by enabling DHCP and configuring dns_server=8.8.8.8 and natOutgoing=true on the subnet. This allows the VMs to obtain a default route and perform DNS resolution. | ||
|
|
||
| Since VMs attached to Kube-OVN overlay networks use private IP addresses, a route to the VM subnet must be configured on the rancher VM via the external IP used for SNAT/DNAT. This enables SSH access to the VM nodes from the Rancher UI. |
There was a problem hiding this comment.
This line is a bit confusing. Do we need a route to the VM subnet installed on the Rancher VM, or have DNAT/SNAT configured for the VM subnet? Or both?
There was a problem hiding this comment.
A route is required for the private subnet with EIP (configured in the vpc nat gw) as nexthop.
I have rephrased the wording for better understanding in the latest commit.
65723a5 to
5104125
Compare
|
|
||
| For VMs provisioned as downstream cluster nodes, ensure external connectivity is available by enabling DHCP and dns_server is set to a valid DNS server IP address (for example, `8.8.8.8`) and natOutgoing=true on the subnet. This allows the VMs to obtain a default route and perform DNS resolution. | ||
|
|
||
| Since the guest cluster VM nodes over Kube-OVN overlay networks use private IP addresses, a route to the guest cluster VM node subnet must be configured on the Rancher VM with the Kube-OVN EIP (configured during the VPC NAT gateway EIP setup) as the next hop. This provides network reachability from the Rancher VM to the guest cluster VM nodes and enables SSH access through the Rancher UI. |
There was a problem hiding this comment.
I still have concerns about this paragraph. Are we sure that reverse connectivity from the external Rancher instance to the guest cluster running on an overlay network is required?
IIRC, Rancher Manager can manage clusters behind NAT. The cluster agent running in the guest cluster connects back to Rancher Manager and establishes long-lived connections that Rancher Manager then uses to communicate with the cluster.
There was a problem hiding this comment.
I do not think we have any existing cases (before overlay networks) where the rancher instance has to ssh to a node IP which is private. The guest cluster VM Nodes created from a VM Vlan network will not have problem as they share the same subnet with the rancher VM.
In case of overlay networks, the node IP of the downstream VM Node will be for example 172.20.10.0/24 and to ssh to this node, rancher VM must have connectivity or know how to reach 172.20.10.0/24 which is not by default installed inside rancher VM. So by installing a route for private IP CIDR (node IP) via EIP, rancher VM sends the traffic for private IP to the GW (EIP of the NAT GW) and the GW will forward the traffic to corresponding VM acting as downstream node in 172.20.10.0/24 network.
This is not only for rancher instance but any external traffic communicates with the EIP (as only this is visible to the external networks) and VPC NAT GW relays the traffic to corresponding private IP based on configured DNAT rules.
There was a problem hiding this comment.
By “SSH to this node,” do you mean that the external Rancher server must be able to access the node via SSH to provision or manage the downstream cluster?
According to Rancher’s documentation, its architecture is deliberately designed to avoid this requirement. The cluster agents running in the downstream cluster establish reverse tunnels to the external Rancher server, allowing Rancher to manage the cluster even when it is behind NAT.
There was a problem hiding this comment.
As we discussed, updated it to make it more clearer for users that the ssh connectivity is required for debugging purposes.
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>
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>
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>
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>
6f0dfd5 to
a0bb796
Compare
Co-authored-by: Jillian Maroket <67180770+jillian-maroket@users.noreply.github.com> Signed-off-by: Renuka Devi Rajendran <renuka.rajendran@suse.com>
a0bb796 to
18c71c7
Compare
Problem:
document for guest cluster using overlay networks
Solution:
document for guest cluster using overlay networks
Related Issue(s):
harvester/harvester#9682
Test plan:
Additional documentation or context