Skip to content

docs: add MetalLB monitoring guidance#794

Open
changluyi wants to merge 1 commit into
masterfrom
docs/metallb-monitoring-master
Open

docs: add MetalLB monitoring guidance#794
changluyi wants to merge 1 commit into
masterfrom
docs/metallb-monitoring-master

Conversation

@changluyi
Copy link
Copy Markdown
Collaborator

@changluyi changluyi commented May 14, 2026

Summary

  • Add BGP TCP 179 network requirement for MetalLB BGP mode.
  • Document how to view the built-in MetalLB dashboard.
  • Add Prometheus metric query, metrics endpoint access, and metric reference guidance.

Test plan

  • Ran git diff --check origin/master...HEAD.

Summary by CodeRabbit

  • Documentation
    • Added a BGP prerequisite note requiring TCP port 179 (or a configured peer port) between BGP peers and MetalLB speaker nodes.
    • Added "Monitor MetalLB" guidance: dashboard access, how to query controller/speaker metrics with examples and default metrics port, plus a metric reference table.
    • Removed the embedded troubleshooting symptom/cause/resolution table; retained the troubleshooting header with an external link.

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 14, 2026

Warning

Rate limit exceeded

@changluyi has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 50 minutes and 15 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 70b5f95a-f581-40c5-b704-403d65fc5549

📥 Commits

Reviewing files that changed from the base of the PR and between 840747d and 49a4b36.

📒 Files selected for processing (1)
  • docs/en/configure/networking/functions/configure_metallb.mdx

Walkthrough

Adds a BGP-mode prerequisite note requiring TCP port 179 (or custom peer port) between BGP peers and MetalLB speaker nodes, and a new "Monitor MetalLB" section documenting the Operations Center dashboard, how to access controller/speaker /metrics with examples, and a metallb_* metrics reference table.

Changes

MetalLB Configuration and Monitoring Documentation

Layer / File(s) Summary
BGP port prerequisite note
docs/en/configure/networking/functions/configure_metallb.mdx
Inserted a note in the BGP-mode prerequisites requiring TCP port 179 (or configured custom peer port) to be allowed between each BGP peer and MetalLB speaker nodes.
Monitor MetalLB section
docs/en/configure/networking/functions/configure_metallb.mdx
Added a "Monitor MetalLB" section covering the built-in MetalLB dashboard in Operations Center, example kubectl/curl commands to query controller and speaker /metrics endpoints (including default metrics port), and a reference table mapping key metallb_* metrics to source components and scenarios. The prior troubleshooting symptom/cause/resolution table was removed and replaced with an external link.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 A note on ports so peers can meet,
Dashboards hum and metrics greet,
Curl the endpoints, charts unfurl,
MetalLB keeps watch o'er each swirl,
Rabbits nod as clusters beat.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main change—adding MetalLB monitoring documentation—which aligns directly with the changeset that adds monitoring guidance, dashboard access instructions, and metric references.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/metallb-monitoring-master

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

🧹 Nitpick comments (2)
docs/en/configure/networking/functions/configure_metallb.mdx (2)

150-150: 💤 Low value

Consider adding a note about the -k flag security implication.

The -k flag disables SSL certificate verification. While this may be necessary for environments with self-signed certificates, consider adding a brief note explaining why this flag is used or suggesting that users verify they're connecting to the correct endpoint.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/en/configure/networking/functions/configure_metallb.mdx` at line 150,
Add a brief security note next to the curl example that uses the -k flag:
explain that -k disables SSL/TLS certificate verification, that it’s typically
used for self-signed certs or local testing, and advise users to avoid -k in
production or to verify they are connecting to the correct endpoint (or replace
-k by using a trusted certificate); update the curl example in the
configure_metallb.mdx content near the "curl -k -X 'GET'" line to include this
explanatory sentence.

168-168: ⚡ Quick win

Add specific guidance on how to find the metrics port.

Step 2 tells users to "Find the metrics port" but doesn't explain how. Consider adding a command example to help users discover the port.

📝 Suggested addition
 2. Find the metrics port of the MetalLB controller or speaker Pod.
+
+   ```bash
+   kubectl -n metallb-system describe pod <metallb-pod-name> | grep -A 5 "Ports:"
+   ```
+
+   The metrics port is typically `7472` for both controller and speaker Pods.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/en/configure/networking/functions/configure_metallb.mdx` at line 168,
Update the content for "Step 2: Find the metrics port" by adding a short example
showing how to inspect a MetalLB Pod's ports using kubectl (e.g., describe the
Pod in the metallb-system namespace and filter for the Ports section) and state
that the metrics port is typically 7472 for both controller and speaker Pods;
place this example under the existing Step 2 text in configure_metallb.mdx so
users can run the kubectl describe pod <metallb-pod-name> and look for the
Ports/metrics entry to discover the port.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@docs/en/configure/networking/functions/configure_metallb.mdx`:
- Line 150: Add a brief security note next to the curl example that uses the -k
flag: explain that -k disables SSL/TLS certificate verification, that it’s
typically used for self-signed certs or local testing, and advise users to avoid
-k in production or to verify they are connecting to the correct endpoint (or
replace -k by using a trusted certificate); update the curl example in the
configure_metallb.mdx content near the "curl -k -X 'GET'" line to include this
explanatory sentence.
- Line 168: Update the content for "Step 2: Find the metrics port" by adding a
short example showing how to inspect a MetalLB Pod's ports using kubectl (e.g.,
describe the Pod in the metallb-system namespace and filter for the Ports
section) and state that the metrics port is typically 7472 for both controller
and speaker Pods; place this example under the existing Step 2 text in
configure_metallb.mdx so users can run the kubectl describe pod
<metallb-pod-name> and look for the Ports/metrics entry to discover the port.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 52cb70b1-e06a-4845-9301-67ace1f14df2

📥 Commits

Reviewing files that changed from the base of the PR and between 243557f and edc231f.

📒 Files selected for processing (1)
  • docs/en/configure/networking/functions/configure_metallb.mdx

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 14, 2026

Deploying alauda-container-platform with  Cloudflare Pages  Cloudflare Pages

Latest commit: 49a4b36
Status: ✅  Deploy successful!
Preview URL: https://62831240.alauda-container-platform.pages.dev
Branch Preview URL: https://docs-metallb-monitoring-mast.alauda-container-platform.pages.dev

View logs

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.

🧹 Nitpick comments (1)
docs/en/configure/networking/functions/configure_metallb.mdx (1)

145-172: ⚡ Quick win

Clarify how hardcoded monitor service names connect to discovery output.

Lines 156–157 hardcode controller-monitor-service and speaker-monitor-service without explicitly stating these are the expected service names from the discovery command at line 150. While line 160 acknowledges port 17472 is a default, add a brief sentence noting these service names are the ACP MetalLB defaults, so users understand they should match the output of the preceding kubectl get svc command. Alternatively, show how to extract the actual service names from the endpoint check if they differ from defaults.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/en/configure/networking/functions/configure_metallb.mdx` around lines
145 - 172, The documentation currently hardcodes controller-monitor-service and
speaker-monitor-service; add a brief sentence stating these are the ACP MetalLB
default monitor service names so readers know to expect them in the kubectl get
svc output, and provide an alternative instruction showing how to extract the
actual service names from the discovery output (or use the discovered
service-name value when running the endpointslice checks) if the names differ;
reference the monitor service names controller-monitor-service and
speaker-monitor-service and the endpointslice check (kubectl get endpointslice
-l kubernetes.io/service-name=...) so maintainers can update the prose to either
call out the defaults or instruct users to copy the service-name from the
previous kubectl get svc output.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@docs/en/configure/networking/functions/configure_metallb.mdx`:
- Around line 145-172: The documentation currently hardcodes
controller-monitor-service and speaker-monitor-service; add a brief sentence
stating these are the ACP MetalLB default monitor service names so readers know
to expect them in the kubectl get svc output, and provide an alternative
instruction showing how to extract the actual service names from the discovery
output (or use the discovered service-name value when running the endpointslice
checks) if the names differ; reference the monitor service names
controller-monitor-service and speaker-monitor-service and the endpointslice
check (kubectl get endpointslice -l kubernetes.io/service-name=...) so
maintainers can update the prose to either call out the defaults or instruct
users to copy the service-name from the previous kubectl get svc output.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 1a9496ec-b261-42c3-b635-96da98562b7b

📥 Commits

Reviewing files that changed from the base of the PR and between edc231f and 3f29653.

📒 Files selected for processing (1)
  • docs/en/configure/networking/functions/configure_metallb.mdx

@changluyi changluyi force-pushed the docs/metallb-monitoring-master branch from 14670d6 to 49a4b36 Compare May 15, 2026 06:29
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.

1 participant