Added an example of using external arbiter to the multi-cluster setup#342
Open
nastena1606 wants to merge 15 commits into
Open
Added an example of using external arbiter to the multi-cluster setup#342nastena1606 wants to merge 15 commits into
nastena1606 wants to merge 15 commits into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds documentation for a multi-cluster cross-site replication topology that uses a shared external arbiter, and links it into the existing replication deployment guides and reference docs.
Changes:
- Adds a new “external arbiter” deployment guide and supporting diagram.
- Expands replication planning docs with “voting topology” guidance and cross-links between approaches.
- Updates navigation and reference docs to surface the new topology and the
replsets.externalNodes.arbiterOnlyfield.
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 16 comments.
Show a summary per file
| File | Description |
|---|---|
| mkdocs-base.yml | Adds nav entries for the new external-arbiter guide and a new release notes link. |
| docs/replication.md | Adds a section introducing voting-topology options and links to the new guide. |
| docs/replication-replica.md | Minor formatting change. |
| docs/replication-plan-deployment.md | Adds “Choose a voting topology” section and updates next-step links. |
| docs/replication-main.md | Updates namespace example used in the setup steps. |
| docs/replication-interconnect.md | Clarifies interconnect steps and updates YAML examples (including exposure configuration). |
| docs/replication-external-arbiter.md | New end-to-end guide for an external-arbiter topology (setup, interconnect, failover). |
| docs/operator.md | Documents replsets.externalNodes.arbiterOnly. |
| docs/assets/images/replication-pods-external-arbiter.svg | Adds a new architecture diagram for the external arbiter topology. |
| docs/arbiter.md | Fixes arbiter wording and links to the new voting-topology section. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
nastena1606
temporarily deployed
to
K8SPSMDB-1031-Doc-msc-setup-with-external-arbiter - percona-mongodb-operator PR #342
June 5, 2026 10:59 — with
Render
Destroyed
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Updated Split a rs across data centers to focus on PSA architecture Added references to this setup in cross-site replication docs
nastena1606
force-pushed
the
K8SPSMDB-1031-Doc-msc-setup-with-external-arbiter
branch
from
July 16, 2026 10:46
41aa7ce to
4ff8692
Compare
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
nastena1606
temporarily deployed
to
K8SPSMDB-1031-Doc-msc-setup-with-external-arbiter - percona-mongodb-operator PR #342
July 16, 2026 11:15 — with
Render
Destroyed
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
nastena1606
temporarily deployed
to
K8SPSMDB-1031-Doc-msc-setup-with-external-arbiter - percona-mongodb-operator PR #342
July 16, 2026 11:15 — with
Render
Destroyed
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
nastena1606
force-pushed
the
K8SPSMDB-1031-Doc-msc-setup-with-external-arbiter
branch
from
July 16, 2026 11:23
14cf3c6 to
35b3022
Compare
nastena1606
marked this pull request as ready for review
July 16, 2026 11:23
nastena1606
requested review from
egegunes,
eleo007,
gkech,
hors,
jvpasinatto,
mayankshah1607,
nmarukovich,
pooknull and
valmiranogueira
as code owners
July 16, 2026 11:23
eleo007
reviewed
Jul 16, 2026
| You get two data-bearing clusters and a third site that hosts only the arbiter. When you interconnect sites, you add the Replica member and the arbiter as voting `externalNodes` on the Main site. The arbiter breaks election ties so the replica set keeps an odd number of voters. | ||
|
|
||
| TLS certificates generated by the Operator are not suitable and it’s required to [generate certificates manually](tls-manual.md) on the _Main_ site before creating a database cluster, with all names from `replsetOverrides` and `externalNodes`. | ||
| This topology uses `replsets.externalNodes.arbiterOnly` and requires Percona Operator for MongoDB 1.23.0 or later. Do not enable `replsets.arbiter.enabled` on the Main or Replica data-bearing sites when the arbiter runs as an external node. |
There was a problem hiding this comment.
Do not enable
replsets.arbiter.enabledon the Main or Replica data-bearing sites when the arbiter runs as an external node.
Do not understand this , why?
eleo007
reviewed
Jul 16, 2026
Comment on lines
+274
to
+279
| ??? admonition "Deploying the arbiter outside Kubernetes" | ||
|
|
||
| 1. Install `mongod` on a host in a third location that can reach both data-bearing sites. | ||
| 2. Use the same user credentials and TLS certificates as the Main and Replica sites. | ||
| 3. Ensure the arbiter hostname resolves from every site and appears on the TLS certificates. | ||
| 4. Do not initiate a replica set on the arbiter host. The Main site Operator adds it when you configure `externalNodes`. |
There was a problem hiding this comment.
I would not mention this - it was not tested
eleo007
reviewed
Jul 16, 2026
| arbiterOnly: true | ||
| ``` | ||
|
|
||
| Apply the Main site Custom Resource. Do not run `rs.addArb()` manually — the Operator overwrites manual replica set changes on reconciliation. Do not enable `replsets.arbiter.enabled` on the Main or Replica data-bearing sites. |
Restructured the doc to show clear paths for the setup steps
egegunes
previously approved these changes
Jul 17, 2026
… link to multi-dc setup.
nastena1606
force-pushed
the
K8SPSMDB-1031-Doc-msc-setup-with-external-arbiter
branch
from
July 17, 2026 14:30
91346a3 to
4c5ac0d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.