-
Notifications
You must be signed in to change notification settings - Fork 17
K8SPSMDB-1315 Documented multi-cluster setup with MCS #269
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
K8SPSMDB-1315 Documented multi-cluster setup with MCS #269
Conversation
new file: docs/assets/fragments/replication-before-you-start.txt new file: docs/assets/images/mcs-setup.png modified: docs/connect.md new file: docs/replication-apply-mcs-existing.md new file: docs/replication-failover.md new file: docs/replication-interconnect.md modified: docs/replication-main.md new file: docs/replication-mcs-eks.md new file: docs/replication-mcs-gke.md modified: docs/replication-mcs.md new file: docs/replication-plan-deployment.md modified: docs/replication-replica.md modified: docs/replication.md modified: mkdocs-base.yml
378cf84
to
ea5cbad
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR documents multi-cluster setup with Multi-Cluster Services (MCS), providing comprehensive guidance for deploying MongoDB across multiple Kubernetes clusters or regions using Percona Operator for MongoDB.
- Restructures the multi-cluster documentation with improved organization and navigation
- Adds detailed guides for enabling MCS on both GKE and EKS cloud platforms
- Provides step-by-step instructions for configuring Main and Replica sites, interconnecting them, and handling failover scenarios
Reviewed Changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 7 comments.
Show a summary per file
File | Description |
---|---|
mkdocs-base.yml | Restructures navigation menu to organize multi-cluster content with clearer sections for MCS and deployment steps |
docs/replication.md | Rewrites introduction to focus on multi-cluster vs multi-region concepts and use cases |
docs/replication-plan-deployment.md | New guide covering deployment requirements and topology options |
docs/replication-mcs.md | Refactored to explain MCS concepts and configuration steps |
docs/replication-mcs-gke.md | New detailed setup guide for enabling MCS on Google Kubernetes Engine |
docs/replication-mcs-eks.md | New guide for MCS setup on Amazon Elastic Kubernetes Service |
docs/replication-main.md | Enhanced with MCS-specific configuration and detailed secret export procedures |
docs/replication-replica.md | Updated with structured steps for replica site configuration |
docs/replication-interconnect.md | New guide for connecting Main and Replica sites for replication |
docs/replication-failover.md | New failover procedures for disaster recovery scenarios |
docs/replication-apply-mcs-existing.md | Extracted existing cluster MCS enablement steps |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <[email protected]>
d5cabd2
to
4816886
Compare
Co-authored-by: Copilot <[email protected]>
4816886
to
6fca18a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks great! a few adjustments suggested
docs/replication-mcs.md
Outdated
the cloud provider. For example, GKE demands all participating Pods to be in the | ||
same [project :octicons-link-external-16:](https://cloud.google.com/resource-manager/docs/creating-managing-projects). | ||
Also, `default` Namespace should be used with caution: your cloud provider | ||
[may not allow :octicons-link-external-16:](https://cloud.google.com/kubernetes-engine/docs/how-to/multi-cluster-services) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what do you mean by "may not allow" ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated the wording using GKE docs
* For the `main` cluster: | ||
|
||
```bash | ||
export KUBECONFIG=./gcp-main_config gcloud container clusters get-credentials main-cluster --zone us-central1-a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest removing the gcp-
prefixes in this section so that we keep procedure more generic
docs/replication-interconnect.md
Outdated
gke-mcs-rp77hijaj0 ClusterIP 34.118.229.123 <none> 27017/TCP 39m | ||
gke-mcs-tjbtnp3ica ClusterIP 34.118.236.161 <none> 27017/TCP 27m | ||
main-cluster-cfg ClusterIP None <none> 27017/TCP 44m | ||
main-cluster-cfg-0 ClusterIP 34.118.227.52 34.42.135.122 27017:31233/TCP 44m |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fix indentation here
|
||
Here's how to do it: | ||
|
||
1. Connect to one of the replica set Pods on the Replica site. Since you will be reconfiguring the replica set, you must connect as the MongoDB `clusterAdmin` user: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for a sharded cluster, you need to repeat this process for every single shard's replica set
@@ -0,0 +1,85 @@ | |||
# Fail over services to the Replica site |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we also add a dedicated page about "switchover" which is described in my blog post?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it make sense to combine both "planned switchover" and "Failover" into one page?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, it could be better. As of now, switchover instructions are kinda lost within page dedicated to interconnecting the two sites
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great improvements
new file: docs/assets/fragments/replication-before-you-start.txt
new file: docs/assets/images/mcs-setup.png
modified: docs/connect.md
new file: docs/replication-apply-mcs-existing.md
new file: docs/replication-failover.md
new file: docs/replication-interconnect.md
modified: docs/replication-main.md
new file: docs/replication-mcs-eks.md
new file: docs/replication-mcs-gke.md
modified: docs/replication-mcs.md
new file: docs/replication-plan-deployment.md
modified: docs/replication-replica.md
modified: docs/replication.md
modified: mkdocs-base.yml