[kb] Port Nacos deployment, hot-standby, and 2.2 docs from Confluence#762
[kb] Port Nacos deployment, hot-standby, and 2.2 docs from Confluence#762chideat wants to merge 4 commits into
Conversation
Bring three Nacos articles from the AL/Nacos Confluence space into the public KB so they ship in the customer-facing site: - How_to_Deploy_Nacos_2.5.md — deployment plan for Nacos 2.5.x on ACP 3.18 / 4.0 / 4.1. - How_to_Deploy_Nacos_2.2.md — kept alongside 2.5 because many customers are still pinned to a 2.2-compatible SDK. - How_to_Configure_Nacos_Hot_Standby_with_Shared_MySQL.md — DR plan for Nacos 2.5 configuration data on a shared DR-capable MySQL. The remaining Confluence pages were dropped on review: empty section placeholders, KB articles for ACP <= 3.16 (out of support window), and issues already fixed in shipped Nacos 2.5.x. Each ported doc has been technically reviewed against the source — the JWT signing-key length, TopoLVM affected-version wording, hot-standby identity-key claims, DR RTO direction, persistent-vs-ephemeral naming behavior, v1/v2 OpenAPI example wording, and several other points were tightened beyond a literal translation. External URLs were verified to return 200.
|
Warning Rate limit exceeded
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 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 configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughAdds three Nacos documentation guides for ACP: a config-only hot-standby DR using shared MySQL, a Nacos 2.2.3 deployment guide, and a Nacos 2.5.1 deployment guide — each with prerequisites, step-by-step procedures, verification, and FAQs. ChangesNacos Solution Documentation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Pull request overview
Ports three Nacos guides from the internal Confluence space (AL/Nacos) into the public knowledge base under docs/en/solutions/ecosystem/nacos/: a 2.5 deployment plan, a 2.2 deployment plan kept for SDK-pinned customers, and a configuration-only hot-standby DR plan on shared MySQL. The new docs follow the repo's frontmatter conventions (no manual id: field per README.md line 24) and target ACP 3.18 / 4.0 / 4.1.
Changes:
- Adds
How_to_Deploy_Nacos_2.5.mdwith prerequisites, MySQL bootstrap SQL, chart parameters (incl. corrected JWT-key length), API + Web verification, monitoring dashboard pointer, and FAQ. - Adds
How_to_Deploy_Nacos_2.2.mdcovering the same flow for Nacos 2.2.3, with the 2.2-specific TopoLVM HA caveats and 1.x-client memory FAQ. - Adds
How_to_Configure_Nacos_Hot_Standby_with_Shared_MySQL.mddescribing a 2.5 hot-standby topology, refresh timing, RTO budget, failover steps, and the explicit ephemeral-vs-persistent naming-data caveat.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 8 comments.
| File | Description |
|---|---|
| docs/en/solutions/ecosystem/nacos/How_to_Deploy_Nacos_2.5.md | New 2.5 deployment guide; minor inconsistencies (3-node vs odd-N, internal Confluence asset reference). |
| docs/en/solutions/ecosystem/nacos/How_to_Deploy_Nacos_2.2.md | New 2.2.3 deployment guide; step-1 download wording mismatches the artifact actually pushed; lacks JWT key row; introduces MCP/CMDB without context; ALB-only LB wording diverges from 2.5 doc. |
| docs/en/solutions/ecosystem/nacos/How_to_Configure_Nacos_Hot_Standby_with_Shared_MySQL.md | New DR plan; ASCII diagram alignment and one internal-only reference need cleanup. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ### 1. Upload the Nacos Material Package | ||
|
|
||
| Sign in to Alauda Cloud with a tenant account and download the `violet` artifact from the App Marketplace. Then push the Nacos package into the target business cluster: |
| Apply the dashboard YAML attached to this guide (file: `nacos-dashboard.yaml`, available from the original Confluence attachment of the Nacos 2.5 plan): | ||
|
|
||
| ```bash | ||
| kubectl create -f nacos-dashboard.yaml | ||
| ``` | ||
|
|
||
| Once applied, find the Nacos dashboard under **Platform Management > Operations Center > Monitoring > Dashboards**. | ||
|
|
|
|
||
| Practically, a direct write to the underlying database (with the matching timestamp update) propagates to the Nacos-server cache in roughly 30 seconds, and from there to clients via push. | ||
|
|
||
| For deeper internals, see the Nacos configuration cache reconciliation analysis used internally by the team. |
| | `-XX:InitialRAMPercentage` | Default `75.0`. JDK requires at least one decimal place. | | ||
| | `-XX:MaxRAMPercentage` | Default `75.0`. Same JDK requirement. | | ||
| | Resources | Lab-validated defaults: request 2 cores / 2.5 Gi, limit 2 cores / 4 Gi. Scale to actual load. | | ||
| | Deployment mode | `cluster` (default) for three-node HA; `standalone` for single node. Production must use `cluster`. The cluster size can be any odd number ≥ 3. | |
| | Context path | Default `/nacos`. If changed, replace `/nacos` in all verification URLs below. | | ||
| | Admin password | Default `nacos`. Use a strong custom password. Nacos 2.2.3 honours password changes made in the Web console even after restart. | | ||
| | `Server Identity Key` | Header key for inter-node auth. For private networks, `identitykey` is fine. Replaces the pre-1.4.1 User-Agent scheme. | | ||
| | `Server Identity Value` | Matching header value, e.g. `identityvalue`. | |
|
|
||
| - Nacos is delivered through a Helm Chart and is installed from the platform App Store. | ||
| - The cluster is fixed at **three nodes** for high availability. The Chart sets Kubernetes readiness/liveness probes by default. | ||
| - External access can be exposed through ALB or Istio Ingress Gateway. |
| - The cluster is fixed at **three nodes** for high availability. The Chart sets Kubernetes readiness/liveness probes by default. | ||
| - External access can be exposed through ALB or Istio Ingress Gateway. | ||
| - Monitoring is enabled by default; customers can scrape Nacos metrics with Grafana. | ||
| - MCP and CMDB integrations are **disabled** by default. |
| ┌────────────────────────┐ | ||
| (active) │ External LB / F5 │ | ||
| ┌───────────────────►│ 8848/http 9848/grpc │◄───────────────────┐ | ||
| │ └────────────────────────┘ │ | ||
| │ │ | ||
| ┌──────┴──────┐ ┌──────┴──────┐ | ||
| │ Nacos A │ │ Nacos B │ | ||
| │ (primary) │ │ (standby) │ | ||
| └──────┬──────┘ └──────┬──────┘ | ||
| │ │ | ||
| └──────────────► DR-capable MySQL (MGR / equivalent) ◄───────────┘ |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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.
Inline comments:
In
`@docs/en/solutions/ecosystem/nacos/How_to_Configure_Nacos_Hot_Standby_with_Shared_MySQL.md`:
- Around line 45-57: The fenced ASCII-art code block (the architecture diagram
enclosed by the opening triple backticks) is missing a language identifier which
triggers MD040; fix it by adding a language token such as text (or plain)
immediately after the opening ``` so the block becomes ```text and the diagram
remains unchanged.
In `@docs/en/solutions/ecosystem/nacos/How_to_Deploy_Nacos_2.2.md`:
- Around line 79-97: The headings "MySQL ≥ 8.0.35" and "MySQL < 8.0.35" are
ambiguous because the decision is based on MySQL Router version, not server
version; update both headings to explicitly reference "MySQL Router ≥ 8.0.35"
and "MySQL Router < 8.0.35" (or similar phrasing) and, if you keep the
server-version examples in the second block, add a short clarifying note under
that heading stating those examples refer to compatible MySQL server versions
that use the fallback auth plugin.
In `@docs/en/solutions/ecosystem/nacos/How_to_Deploy_Nacos_2.5.md`:
- Line 86: The heading "#### MySQL < 8.0.35 (e.g. 8.0.34, 7.x, 6.x, 5.x)" is
listing invalid/overbroad MySQL series; update that heading to only show valid,
supported example versions consistent with the documented minimum "5.6.5+" (e.g.
use "8.0.34, 5.7, 5.6.5+" or similar) and remove non-existent series like "7.x"
and "6.x" so the heading becomes something like "MySQL < 8.0.35 (e.g. 8.0.34,
5.7, 5.6.5+)" to match the minimum requirement elsewhere.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 44300caa-7ff8-4ff9-aefb-d378cd250bcf
📒 Files selected for processing (3)
docs/en/solutions/ecosystem/nacos/How_to_Configure_Nacos_Hot_Standby_with_Shared_MySQL.mddocs/en/solutions/ecosystem/nacos/How_to_Deploy_Nacos_2.2.mddocs/en/solutions/ecosystem/nacos/How_to_Deploy_Nacos_2.5.md
Addresses 11 inline comments from CodeRabbit and Copilot on PR #762: How_to_Deploy_Nacos_2.5.md - Clarify the cluster size: default 3 nodes, scalable to any odd N >= 3 (resolves the overview vs parameter-table contradiction). - Rename the MySQL-version SQL headings to "MySQL Router >= 8.0.35 (or direct connection to MySQL)" and "MySQL Router < 8.0.35" — the decision was always about the Router, not the server. - Drop the bogus "7.x, 6.x, 5.x" examples; spell out the actually-shipped MySQL server lines (8.0.x, 5.7.x, 5.6.5+). - Replace the "available from the original Confluence attachment" pointer for nacos-dashboard.yaml with: ask the Alauda contact for the ACP-native file, or import the upstream Nacos Grafana JSON for a community alternative. How_to_Deploy_Nacos_2.2.md - Step 1: download the `nacos` artifact (not `violet` — violet is the CLI already covered under Prerequisites). - Architecture overview now matches the 2.5 doc's NodePort/LoadBalancer framing (ALB is ACP's LoadBalancer; Istio Ingress Gateway still listed as an option when present). - Drop the unexplained "MCP and CMDB disabled by default" bullet. - Apply the same MySQL Router heading rename and example cleanup. - Add an explicit note on the JWT signing key — the 2.2 chart does not surface the parameter and Nacos 2.2.3 falls back to its publicly-known default secret; users who need a custom key override nacos.core.auth.default.token.secret.key in application.properties. How_to_Configure_Nacos_Hot_Standby_with_Shared_MySQL.md - Drop the "internal team analysis" pointer in the Refresh section; point at the upstream Nacos source path instead. - Redraw the architecture diagram so the load-balancer box, the cluster boxes, and the shared MySQL line up under a fixed-width renderer, and fence it with ```text to satisfy MD040.
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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.
Inline comments:
In `@docs/en/solutions/ecosystem/nacos/How_to_Deploy_Nacos_2.2.md`:
- Around line 129-132: Remove the blank line between the two adjacent blockquote
lines so they form a single contiguous blockquote; specifically, join the
"**Warning**: Redeploying the Chart..." line and the "**JWT signing key**:
Unlike the 2.5 chart..." line into one blockquote without an empty line between
them to satisfy markdownlint MD028 (target the two quoted paragraphs shown in
the diff).
In `@docs/en/solutions/ecosystem/nacos/How_to_Deploy_Nacos_2.5.md`:
- Around line 79-84: The second SQL snippet uses "CREATE USER IF NOT EXISTS"
which requires MySQL ≥ 5.7.6; either update the compatibility note to "MySQL
5.7.6+" or add a MySQL 5.6-compatible variant that omits the IF NOT EXISTS
clause (i.e., use plain CREATE USER '<account name>'@'%' IDENTIFIED BY
'<password>' or wrap existence checks in a conditional SELECT/CREATE flow), and
ensure the snippet referencing IDENTIFIED WITH caching_sha2_password is also
valid for the chosen compatibility target.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 6df605e7-89bd-406d-8423-1e17ce35d9b8
📒 Files selected for processing (3)
docs/en/solutions/ecosystem/nacos/How_to_Configure_Nacos_Hot_Standby_with_Shared_MySQL.mddocs/en/solutions/ecosystem/nacos/How_to_Deploy_Nacos_2.2.mddocs/en/solutions/ecosystem/nacos/How_to_Deploy_Nacos_2.5.md
✅ Files skipped from review due to trivial changes (1)
- docs/en/solutions/ecosystem/nacos/How_to_Configure_Nacos_Hot_Standby_with_Shared_MySQL.md
- 2.2 doc: collapse the blank line between the Warning and JWT-signing-key blockquotes so they form one continuous block (MD028 fix). - 2.5 + 2.2 docs: raise the documented MySQL minimum from 5.6.5 to 5.7.6. The bootstrap SQL uses `CREATE USER IF NOT EXISTS`, which MySQL 5.6 does not support (the clause was introduced in 5.7.6). MySQL 5.6 is also community-EOL since 2021, so this is a small narrowing of the supported envelope rather than a real loss of coverage. - Drop the now-impossible 5.x example version from the "MySQL Router < 8.0.35" sub-heading on both docs to match.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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.
Inline comments:
In `@docs/en/solutions/ecosystem/nacos/How_to_Deploy_Nacos_2.5.md`:
- Around line 74-75: The sentence beginning "Pick the SQL block that matches
your MySQL version." is misleading; change it to state that selection is driven
by the MySQL Router version (use mysql_native_password when MySQL Router is
older than 8.0.35 to avoid the RSA-key handshake bug) and otherwise prefer
caching_sha2_password; keep the note to replace `<account name>` and
`<password>` as-is. Update the line containing that sentence so it reads
something like: choose the SQL block based on MySQL Router version (Router <
8.0.35 → mysql_native_password; otherwise → caching_sha2_password), and continue
to instruct replacing `<account name>` and `<password>`.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 6debfd3e-03ff-4761-b3df-f177bba23285
📒 Files selected for processing (2)
docs/en/solutions/ecosystem/nacos/How_to_Deploy_Nacos_2.2.mddocs/en/solutions/ecosystem/nacos/How_to_Deploy_Nacos_2.5.md
CodeRabbit pointed out that the lead-in to the bootstrap SQL on the 2.5 doc said "pick the block that matches your MySQL version" while the branch is actually MySQL Router version. Rewrite the sentence to match the clearer phrasing already used in the 2.2 doc, and call out the direct-connection case explicitly.
Summary
Bring three Nacos articles from the internal Confluence space (
AL/Nacos) into the customer-facing knowledge base:How_to_Deploy_Nacos_2.5.md— deployment plan for Nacos 2.5.x on ACP 3.18 / 4.0 / 4.1.How_to_Deploy_Nacos_2.2.md— kept alongside 2.5 because many customers are still pinned to a 2.2-compatible SDK.How_to_Configure_Nacos_Hot_Standby_with_Shared_MySQL.md— configuration-DR plan for Nacos 2.5 on a shared DR-capable MySQL.Eight other Confluence pages were dropped on review: 2 were empty section placeholders, 3 referenced ACP versions below the 3.16 support cutoff, 2 documented bugs already fixed in shipped Nacos 2.5.x, and 1 was superseded by the 2.5 deployment plan.
Notable technical edits beyond a literal translation
Each ported doc was reviewed with Nacos-expert eyes and several source ambiguities were tightened, including:
Server Identity Key/Valueare intra-cluster and may differ".RTO > (30s + DB RTO)was inverted in the literal port; restored to "at least DB DR RTO + 30 s, may exceed".URL verification
All external URLs return 200 (GitHub issues / wiki anchor, nacos.io blog FAQ pages, nacos.io v2 OpenAPI). The one internal GitLab URL is reachable from inside Alauda and is explicitly labeled.
Test plan
README.md(no manualid:field added).🤖 Generated with Claude Code
Summary by CodeRabbit