Skip to content

Latest commit

 

History

History
83 lines (58 loc) · 2.61 KB

File metadata and controls

83 lines (58 loc) · 2.61 KB

Multi-Cluster distributed topology

Deploys kind clusters in a multi-cluster setup.

Standalone/Distributed

distributed

Deploys kind clusters in a standalone or distributed manner. Each cluster manages addons and workloads.

cd distributed
./deploy.sh dev
./deploy.sh stg
./deploy.sh prod

Centralized/Hub-spoke

hub-spoke

Deploys kind clusters in a centralized manner, with a hub cluster managing multiple spoke clusters. The spoke clusters are registered as remote clusters in the Hub Cluster's ArgoCD. The hub cluster is responsible for managing addons and workloads.

Note: The Hub cluster is deployed first, followed by the Spoke clusters.

cd hub-spoke/hub
terraform init
terraform apply -auto-approve

The Spoke clusters are registered with the Hub's ArgoCD instance.

cd hub-spoke/spoke
./deploy.sh dev
./deploy.sh stg
./deploy.sh prod

Check the ArgoCD UI to verify the Spoke clusters are registered or verify the ArgoCD secrets:

# change the context to the hub cluster
$ kubectl get secrets -n argocd -l argocd.argoproj.io/secret-type=cluster
NAME        TYPE     DATA   AGE
hub         Opaque   3      11m
spoke-dev   Opaque   3      9m8s
spoke-stg   Opaque   3      5m32s
spoke-prod  Opaque   3      2m15s

Centralized/Hub-spoke (shared)

hub-spoke-shared

Deploys kind clusters in a centralized manner, with a hub cluster managing multiple spoke clusters. The spoke clusters are registered as remote clusters in the Hub Cluster's ArgoCD. The hub cluster is responsible for managing shared addons, while spoke clusters handle their own specific workloads.

Centralized/Hub-spoke (shared with CAPI)

Deploys hub kind cluster that creates multiple spoke clusters via Cluster API (CAPI).

cd hub-spoke-capi
terraform init
terraform apply -auto-approve

Centralized/Hub-spoke (agent)

agent

Deploys kind clusters in a centralized manner, with a hub cluster managing multiple spoke clusters. The hub cluster is responsible for managing shared addons, while spoke clusters handle their own specific workloads via argocd agent.

References