Skip to content

Added an example of using external arbiter to the multi-cluster setup#342

Open
nastena1606 wants to merge 15 commits into
mainfrom
K8SPSMDB-1031-Doc-msc-setup-with-external-arbiter
Open

Added an example of using external arbiter to the multi-cluster setup#342
nastena1606 wants to merge 15 commits into
mainfrom
K8SPSMDB-1031-Doc-msc-setup-with-external-arbiter

Conversation

@nastena1606

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.arbiterOnly field.

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.

Comment thread mkdocs-base.yml
Comment thread docs/replication.md Outdated
Comment thread docs/replication-plan-deployment.md
Comment thread docs/replication-main.md Outdated
Comment thread docs/replication-interconnect.md Outdated
Comment thread docs/replication-external-arbiter.md Outdated
Comment thread docs/replication-external-arbiter.md Outdated
Comment thread docs/replication-external-arbiter.md Outdated
Comment thread docs/operator.md Outdated
Comment thread docs/replication-external-arbiter.md Outdated
nastena1606 and others added 7 commits July 15, 2026 15:18
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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated 16 comments.

Comment thread docs/replication-multi-dc.md Outdated
Comment thread docs/replication-multi-dc.md
Comment thread docs/replication-multi-dc.md Outdated
Comment thread docs/replication-multi-dc.md Outdated
Comment thread docs/replication-multi-dc.md Outdated
Comment thread docs/replication-multi-dc.md
Comment thread docs/replication-interconnect.md
Comment thread docs/replication-multi-dc.md Outdated
Comment thread docs/replication-multi-dc.md Outdated
Comment thread docs/replication-multi-dc.md Outdated
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
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
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>
Comment thread docs/replication-multi-dc.md Outdated
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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Do not enable replsets.arbiter.enabled on the Main or Replica data-bearing sites when the arbiter runs as an external node.

Do not understand this , why?

Comment thread docs/replication-multi-dc.md Outdated
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`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I would not mention this - it was not tested

Comment thread docs/replication-multi-dc.md Outdated
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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I do not see point of this note,

Restructured the doc to show clear paths for the setup steps
egegunes
egegunes previously approved these changes Jul 17, 2026
@nastena1606
nastena1606 force-pushed the K8SPSMDB-1031-Doc-msc-setup-with-external-arbiter branch from 91346a3 to 4c5ac0d Compare July 17, 2026 14:30
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.

4 participants