Skip to content

Conversation

@aaaaaaaalex
Copy link
Contributor

Product Version(s):
OSS and EE next

Issue

Link to docs preview:

SME review:

  • An SME has approved this change.

DOCS review:

  • A member of the docs team has approved this change.

Additional information:

Merge checklist:

  • Deploy preview inspected wherever changes were made
  • Build completed successfully
  • Test have passed

Copilot AI review requested due to automatic review settings January 9, 2026 18:25
@aaaaaaaalex aaaaaaaalex requested a review from a team as a code owner January 9, 2026 18:25
@netlify
Copy link

netlify bot commented Jan 9, 2026

Deploy Preview for calico-docs-preview-next ready!

Name Link
🔨 Latest commit 113106b
🔍 Latest deploy log https://app.netlify.com/projects/calico-docs-preview-next/deploys/6970c44cfddf4c0007da06f2
😎 Deploy Preview https://deploy-preview-2455--calico-docs-preview-next.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link

netlify bot commented Jan 9, 2026

Deploy Preview for tigera failed. Why did it fail? →

Built without sensitive environment variables

Name Link
🔨 Latest commit 113106b
🔍 Latest deploy log https://app.netlify.com/projects/tigera/deploys/6970c44c337ac100089e95a7

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR improves the Maglev load balancing documentation by clarifying NodePort limitations and adding guidance on using Maglev with LoadBalancer IPAM. The changes address confusion around when Maglev functionality is useful and how to properly configure services to leverage it.

Changes:

  • Clarified that Maglev doesn't work with NodePorts specifically (not just NodePort-type services)
  • Added new section explaining how to use Maglev with LoadBalancer IPAM and BGP advertisement
  • Updated prerequisites to emphasize the need for external IP routing capability

## Use Maglev Alongside $[prodname] LoadBalancer IPAM

Maglev can be enabled on services with `type: LoadBalancer`, and $[prodname] can be configured to allocate
load balancer VIPs. See the guide to [enable LoadBalancer IPAM](networking/ipam/service-loadbalancer).
Copy link

Copilot AI Jan 9, 2026

Choose a reason for hiding this comment

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

The relative link path is incorrect. Based on the file's location in calico-enterprise/networking/configuring/, this link should start with ../../ to navigate up to the root, or use an absolute path starting with /calico-enterprise/. The current path networking/ipam/service-loadbalancer will not resolve correctly from this file's location.

Suggested change
load balancer VIPs. See the guide to [enable LoadBalancer IPAM](networking/ipam/service-loadbalancer).
load balancer VIPs. See the guide to [enable LoadBalancer IPAM](../../networking/ipam/service-loadbalancer).

Copilot uses AI. Check for mistakes.
## Prerequisites

* Your cluster uses the eBPF data plane with [direct server return mode](../../operations/ebpf/enabling-ebpf.mdx#try-out-direct-server-return-mode).
* Your cluster uses the eBPF data plane with [direct server return mode](../../../operations/ebpf/enabling-ebpf#try-out-direct-server-return-mode).
Copy link

Copilot AI Jan 9, 2026

Choose a reason for hiding this comment

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

The relative link path appears incorrect. The file is in calico-enterprise/networking/configuring/, so the path ../../../operations/ebpf/enabling-ebpf would navigate too far up (3 levels up would go above the calico-enterprise directory). This should be ../../operations/ebpf/enabling-ebpf.mdx#try-out-direct-server-return-mode to correctly reference the file.

Suggested change
* Your cluster uses the eBPF data plane with [direct server return mode](../../../operations/ebpf/enabling-ebpf#try-out-direct-server-return-mode).
* Your cluster uses the eBPF data plane with [direct server return mode](../../operations/ebpf/enabling-ebpf.mdx#try-out-direct-server-return-mode).

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@ctauchen based on our chat, I think Copilot is wrong here, right?

Copy link
Collaborator

Choose a reason for hiding this comment

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

No, I think the suggestion here is exactly right. If you're referring to the CE doc, you need to go up two levels, and the mdx file ref is preferred.

@aaaaaaaalex aaaaaaaalex changed the title CORE#12191: Adds clarity on Maglev doc, surrounding NodePorts and type:LoadBalancer DRAFT CORE#12191: Adds clarity on Maglev doc, surrounding NodePorts and type:LoadBalancer Jan 9, 2026
@aaaaaaaalex aaaaaaaalex marked this pull request as draft January 9, 2026 18:27
@aaaaaaaalex aaaaaaaalex force-pushed the maglev-doc-lb-support branch from ffea0db to 9674b88 Compare January 12, 2026 10:41
@aaaaaaaalex aaaaaaaalex force-pushed the maglev-doc-lb-support branch from 9674b88 to 13edc4f Compare January 14, 2026 13:28
@aaaaaaaalex aaaaaaaalex changed the title DRAFT CORE#12191: Adds clarity on Maglev doc, surrounding NodePorts and type:LoadBalancer CORE#12191: Adds clarity on Maglev doc, surrounding NodePorts and type:LoadBalancer Jan 14, 2026
@aaaaaaaalex aaaaaaaalex marked this pull request as ready for review January 14, 2026 13:29
@aaaaaaaalex aaaaaaaalex force-pushed the maglev-doc-lb-support branch from c116ed5 to 7b632e0 Compare January 21, 2026 11:54
@aaaaaaaalex
Copy link
Contributor Author

Prior to merge, I'd also like to copy this doc to the OSS equivalent

Copy link
Collaborator

@ctauchen ctauchen left a comment

Choose a reason for hiding this comment

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

A few nits, otherwise LGTM.

description: Add Maglev load balancing to a Kubernetes service.
---


Copy link
Collaborator

Choose a reason for hiding this comment

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

rm

## Prerequisites

* Your cluster uses the eBPF data plane with [direct server return mode](../../operations/ebpf/enabling-ebpf.mdx#try-out-direct-server-return-mode).
* Your cluster uses the eBPF data plane with [direct server return mode](../../../operations/ebpf/enabling-ebpf#try-out-direct-server-return-mode).
Copy link
Collaborator

Choose a reason for hiding this comment

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

No, I think the suggestion here is exactly right. If you're referring to the CE doc, you need to go up two levels, and the mdx file ref is preferred.

## Prerequisites

* Your cluster uses the eBPF data plane with [direct server return mode](../../operations/ebpf/enabling-ebpf.mdx#try-out-direct-server-return-mode).
* Your cluster uses the eBPF data plane with [direct server return mode](../../../operations/ebpf/enabling-ebpf#try-out-direct-server-return-mode).
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* Your cluster uses the eBPF data plane with [direct server return mode](../../../operations/ebpf/enabling-ebpf#try-out-direct-server-return-mode).
* Your cluster uses the eBPF data plane with [direct server return mode](../../operations/ebpf/enabling-ebpf.mdx#try-out-direct-server-return-mode).



To verify that $[prodname] has configured Maglev load balancing for the service, check the logs from any `calico-node` pod for the string `Wrote Maglev` in reference to your service.
## Optional: Verify that $[prodname] has configured Maglev load balancing for the service
Copy link
Collaborator

Choose a reason for hiding this comment

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

I'd leave out the optional. Verification is always optional, but we never say it.

```bash title='Example log query'
kubectl -n calico-system logs calico-node-7kltn | grep --ignore-case 'Wrote Maglev'
```bash title='Example NAT table dump'
kubectl -n calico-system exec <pod name> -- calico-node -bpf nat dump
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
kubectl -n calico-system exec <pod name> -- calico-node -bpf nat dump
kubectl -n calico-system exec <pod-name> -- calico-node -bpf nat dump


```bash title='Example output'
2025-10-28 15:30:53.091 [INFO][75] felix/syncer.go 893: Wrote Maglev service backends to LUT service=default/svc:maglev-port
Replace `<pod name>` with the name of any calico-node pod.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
Replace `<pod name>` with the name of any calico-node pod.
Replace `<pod-name>` with the name of any calico-node pod.

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.

2 participants