Deploys kind clusters in a multi-cluster setup.
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 prodDeploys 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-approveThe Spoke clusters are registered with the Hub's ArgoCD instance.
cd hub-spoke/spoke
./deploy.sh dev
./deploy.sh stg
./deploy.sh prodCheck 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 2m15sDeploys 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.
Deploys hub kind cluster that creates multiple spoke clusters via Cluster API (CAPI).
cd hub-spoke-capi
terraform init
terraform apply -auto-approveDeploys 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.