docs: add new feature explaination on guest cluster for load balancer - #1082
docs: add new feature explaination on guest cluster for load balancer#1082Yu-Jack wants to merge 3 commits into
Conversation
|
| - **DHCP:** A DHCP server is required. The Harvester load balancer will request an IP address from the DHCP server. | ||
|
|
||
| - **Pool:** An [IP pool](../networking/ippool.md) must be configured first. The Harvester load balancer controller will allocate an IP for the load balancer service following [the IP pool selection policy](../networking/ippool.md#selection-policy). Notice the difference between [Create IP Pool from Harvester UI directly](../networking/ippool.md#how-to-create) and [Create IP Pool from Rancher Managery UI](../networking/ippool.md#create-ip-pool-from-rancher-manager-ui). Refer to the [Best Practice](../networking/ippool.md#best-practice). | ||
| Starting with **Rancher v2.15.1**, you can select a **VM network** from the UI when creating a `LoadBalancer` service. This tells the load balancer which network interface to use, so the VIP is bound to the correct interface instead of always defaulting to the management interface. If no VM network is selected, the behavior is the same as before. |
There was a problem hiding this comment.
need to mention currently the UI selection defaults to kube-vip for the selected network, if user disables kube-vip but uses another loadbalancer provider, then user needs to check for related solution.
There was a problem hiding this comment.
I'll put this on limitation section.
| On older Rancher versions (v2.12.x, v2.13.x, and v2.14.x), the UI does not have this option, but you can still achieve the same result by setting the following annotations on the service: | ||
|
|
||
| - `cloudprovider.harvesterhci.io/ipam: "dhcp"` | ||
| - `cloudprovider.harvesterhci.io/network: "default/mgmt-vlan1"` |
There was a problem hiding this comment.
also mention the limitation, if user sets the annotation cloudprovider.harvesterhci.io/network directly, but the network is wrong/incorrect, or the network topology is Asymmetric Network Topology, then the LB might not get IP or LB IP is un-reachable. There is no webhook to check for this. Suggest user to select the target network from UI.
|
|
||
| - **Pool:** An [IP pool](../networking/ippool.md) must be configured first. The Harvester load balancer controller will allocate an IP for the load balancer service following [the IP pool selection policy](../networking/ippool.md#selection-policy). Notice the difference between [Create IP Pool from Harvester UI directly](../networking/ippool.md#how-to-create) and [Create IP Pool from Rancher Manager UI](../networking/ippool.md#create-ip-pool-from-rancher-manager-ui). Refer to the [Best Practice](../networking/ippool.md#best-practice). | ||
|
|
||
| Starting with **Rancher v2.15.1**, you can select a **VM network** from the UI when creating a `LoadBalancer` service to explicitly bind the load balancer to a specific network interface. If no VM network is selected, the load balancer controller automatically determines the network. |
There was a problem hiding this comment.
If no VM network (specifically, the cloudprovider.harvesterhci.io/network is empty) is selected
| - **DHCP:** A DHCP server is required. The Harvester load balancer will request an IP address from the DHCP server. | ||
|
|
||
| - **Pool:** An [IP pool](../networking/ippool.md) must be configured first. The Harvester load balancer controller will allocate an IP for the load balancer service following [the IP pool selection policy](../networking/ippool.md#selection-policy). Notice the difference between [Create IP Pool from Harvester UI directly](../networking/ippool.md#how-to-create) and [Create IP Pool from Rancher Managery UI](../networking/ippool.md#create-ip-pool-from-rancher-manager-ui). Refer to the [Best Practice](../networking/ippool.md#best-practice). | ||
| Starting with **Rancher v2.15.1**, you can select a **VM network** from the UI when creating a `LoadBalancer` service. This tells the load balancer which network interface to use, so the VIP is bound to the correct interface instead of always defaulting to the management interface. If no VM network is selected, the behavior is the same as before. |
There was a problem hiding this comment.
another two limitations:
(1) The pre-condition of LB on secondary-network is: each guest-cluster node (Harvester VM) has successfully set the second-network NIC, which has IP and route. If not, the LB might not work. and this is also the first step to troubeshooting.
(2) If user wants to change the LB network, user needs to delete and recreate it. Direct change the network annotation might have potential issues. (I did not test this yet, but suspect it has issues)
Signed-off-by: Jack Yu <jack.yu@suse.com>
Co-authored-by: Jillian Maroket <67180770+jillian-maroket@users.noreply.github.com> Signed-off-by: Jack Yu <jack.yu@suse.com>
Signed-off-by: Jack Yu <jack.yu@suse.com>
|
|
||
| :::tip | ||
|
|
||
| If a VM network is attached in a different NIC order across nodes, shut down the affected virtual machines, reorder the network interfaces so the attachment order is consistent across all nodes, and restart the virtual machines. |
There was a problem hiding this comment.
On guest cluster case, it is to re-configure the related machine-pool and let Rancher Manager & RKE2 re-provision the guest cluster VMs.
https://docs.harvesterhci.io/v1.8/rancher/node/rke2-cluster#create-rke2-kubernetes-cluster
| On earlier Rancher versions (v2.12.x, v2.13.x, and v2.14.x), you can achieve the same result by adding the following annotations to the `Service` manifest: | ||
|
|
||
| - `cloudprovider.harvesterhci.io/ipam: "dhcp"` | ||
| - `cloudprovider.harvesterhci.io/network: "default/mgmt-vlan1"` |
There was a problem hiding this comment.
need the user configure the viphost related annotation manually as well?
|
Tick the box to add this pull request to the merge queue (same as
|
Problem:
Solution:
Related Issue(s):
harvester/harvester#5486
Test plan:
Additional documentation or context