Skip to content

config metallb underlay#415

Merged
changluyi merged 1 commit intoalauda:masterfrom
changluyi:config_metallb_underlay_master
Dec 12, 2025
Merged

config metallb underlay#415
changluyi merged 1 commit intoalauda:masterfrom
changluyi:config_metallb_underlay_master

Conversation

@changluyi
Copy link
Copy Markdown
Collaborator

@changluyi changluyi commented Dec 11, 2025

Summary by CodeRabbit

  • Documentation
    • Added comprehensive guide for integrating MetalLB in L2 mode with Kube-OVN Underlay networking infrastructure
    • Covers configuring Underlay subnet IPs as MetalLB VIPs with direct traffic routing to backend pods
    • Includes prerequisites, detailed step-by-step configuration instructions, network traffic flow diagrams, and validation commands for complete deployment

✏️ Tip: You can customize this high-level summary in your review settings.

Signed-off-by: clyi <clyi@alauda.io>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Dec 11, 2025

Walkthrough

Adds comprehensive documentation for integrating MetalLB in L2 mode with Kube-OVN Underlay networking. The guide covers prerequisites, traffic flow architecture, and end-to-end configuration steps including ProviderNetwork setup, subnet parameter configurations, Kube-OVN controller adjustments, and MetalLB IPAddressPool creation.

Changes

Cohort / File(s) Change Summary
MetalLB + Kube-OVN Integration Guide
docs/en/configure/networking/how_to/kube_ovn/config_metallb_underlay.mdx
New documentation file providing integration guidance for MetalLB L2 mode with Kube-OVN Underlay, including prerequisites, traffic flow diagrams, YAML manifests, configuration procedures, and verification commands.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Verify technical accuracy of networking configuration steps and YAML manifests
  • Ensure clarity and completeness of prerequisites and verification commands
  • Confirm alignment with existing documentation structure and style guidelines

Poem

🐰 A network tale of underlay dreams,
MetalLB flows through Kube-OVN streams,
Load balancers dance where subnets gleam,
Pods and services in perfect scheme,
Documentation bright, the path supreme! 🌟

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'config metallb underlay' is directly related to the main change, which adds documentation for MetalLB integration with Kube-OVN Underlay, clearly describing the primary purpose of the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
docs/en/configure/networking/how_to/kube_ovn/config_metallb_underlay.mdx (1)

82-87: Consider providing an alternative kubectl-based configuration method.

The web console steps are clear but may become outdated if the UI changes. Users who prefer or require CLI-only access would benefit from an alternative approach using kubectl patch or kubectl edit.

You could add an optional section like:

**Using kubectl (alternative):**
```bash
kubectl patch ovnkubconfig ovn-config -p '{"spec":{"skipCTForDstLportIPs":false,"enableOVNLBLocal":true}}' --type=merge

This provides flexibility for users with different workflows.

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used**: CodeRabbit UI

**Review profile**: CHILL

**Plan**: Pro

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 94542ca79bc0f8831084f1bd1a7fd1f5abdab3d8 and 7bad695ac5fbda776e6e003314c1480c81b98351.

</details>

<details>
<summary>📒 Files selected for processing (1)</summary>

* `docs/en/configure/networking/how_to/kube_ovn/config_metallb_underlay.mdx` (1 hunks)

</details>

<details>
<summary>🔇 Additional comments (2)</summary><blockquote>

<details>
<summary>docs/en/configure/networking/how_to/kube_ovn/config_metallb_underlay.mdx (2)</summary><blockquote>

`67-76`: **Clarify the VLAN ID configuration for autoCreateVlanSubinterfaces.**

The VLAN resource specifies `id: 0` while the interface is named `underlay0.341` (implying VLAN 341). The comment explains that host-level VLAN tagging supersedes OVN configuration, but this deserves clearer documentation or verification.



Please confirm:
1. Is VLAN `id: 0` correct when `autoCreateVlanSubinterfaces: true` creates `underlay0.341`?
2. Should the documentation clarify the relationship between host-level VLAN tagging and the OVN VLAN resource?

If this behavior is confirmed and intentional, consider adding a note explaining that the OVN Vlan resource's `id` field is not used when host-level VLAN sub-interfaces are auto-created.

---

`138-191`: **Sample application and verification section looks good.**

The Deployment and Service configurations are well-structured. The emphasis on `externalTrafficPolicy: Local` is appropriately placed and correctly explained. The verification commands are practical and sufficient for validating the setup.

</blockquote></details>

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

@changluyi changluyi merged commit 7a3c581 into alauda:master Dec 12, 2025
3 checks passed
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