Overview
Managing multiple Kubernetes clusters introduces complexity in configuration, deployment, and observability. Meshery simplifies multi-cluster operations by providing:- Unified Dashboard: Single view of all connected Kubernetes clusters
- Multi-cluster Deployment: Deploy workloads to multiple clusters simultaneously
- Cross-cluster Discovery: Discover and inventory resources across all clusters
- Consistent Configuration: Apply consistent policies and configurations
- Environment Grouping: Organize clusters into logical environments
Any Kubernetes
Works with any Kubernetes distribution: EKS, GKE, AKS, OpenShift, Rancher, and more
Multi-cloud
Manage clusters across AWS, Azure, GCP, and on-premises
Real-time Sync
MeshSync continuously discovers and synchronizes cluster state
Unified View
Single dashboard for all cluster resources and configurations
Connecting Clusters
Adding Kubernetes Contexts
Connect Kubernetes clusters to Meshery by uploading kubeconfig files:
Using mesheryctl:
Connection States
Meshery tracks the following connection states:- Registered: Context is registered but not yet connected
- Connected: Active connection established to the cluster
- Discovered: MeshSync has discovered cluster resources
- Ignored: Context is registered but intentionally not connected
- Errored: Connection attempt failed or lost connectivity
Cluster Discovery
MeshSync
MeshSync is Meshery’s cluster discovery and synchronization engine:Continuous Discovery
Automatically discovers all Kubernetes resources in connected clusters
State Synchronization
Keeps Meshery’s view synchronized with actual cluster state
Change Detection
Detects and reports changes to cluster resources in real-time
Resource Inventory
Maintains inventory of all resources across all clusters
Resource Discovery
MeshSync discovers and inventories:- Core Resources: Pods, Services, Deployments, StatefulSets, DaemonSets
- Storage: PersistentVolumes, PersistentVolumeClaims, StorageClasses
- Networking: Ingresses, NetworkPolicies, Services
- Configuration: ConfigMaps, Secrets
- RBAC: Roles, RoleBindings, ServiceAccounts
- Custom Resources: All CRDs and their instances
- Service Mesh Resources: Istio, Linkerd, Consul resources
Environments
Grouping Clusters
Environments allow you to group related clusters and connections:Environment Use Cases
Multi-region Deployments
Multi-region Deployments
Group clusters by region for geographic distribution: us-east, us-west, eu-central
Environment Separation
Environment Separation
Separate development, staging, and production environments
Team Segmentation
Team Segmentation
Organize clusters by team ownership or application domain
Edge Computing
Edge Computing
Group edge clusters separately from central data center clusters
Multi-cluster Deployments
Deploying to Multiple Clusters
Deploy the same configuration to multiple clusters simultaneously:
mesheryctl Multi-cluster Deploy:
Deployment Strategies
Parallel Deployment
Deploy to all clusters simultaneously for speed
Rolling Deployment
Deploy to clusters sequentially to minimize risk
Canary Deployment
Deploy to subset of clusters first, then expand
Blue-Green
Maintain separate cluster sets for zero-downtime updates
Cluster Monitoring
Dashboard View
The Meshery dashboard provides unified visibility:- Cluster Health: Health status of all connected clusters
- Resource Counts: Total pods, services, deployments across clusters
- Version Information: Kubernetes version for each cluster
- Node Statistics: Total nodes, CPU, memory across clusters
- Mesh Detection: Service mesh installations detected
Cluster Resources
View and manage resources across clusters:Configuration Management
Consistent Policies
Apply consistent configurations across clusters using Open Policy Agent:- Policy Definitions: Create OPA Rego policies for infrastructure
- Multi-cluster Application: Apply policies to all clusters in an environment
- Compliance Checking: Validate clusters against policy requirements
- Drift Detection: Identify clusters that deviate from policy
Configuration Drift
Detect and remediate configuration drift:- Design as Source of Truth: Store desired state as Meshery designs
- Continuous Comparison: Compare running state vs. desired state
- Drift Alerts: Receive notifications when drift is detected
- Remediation: Re-deploy designs to fix drift
Workspaces and Access Control
Multi-tenant Clusters
Manage multi-tenant Kubernetes environments:- Workspace Isolation: Isolate team access to specific namespaces/clusters
- RBAC Integration: Leverage Kubernetes RBAC for access control
- Credential Management: Securely manage per-team cluster credentials
- Resource Quotas: Enforce resource limits per workspace
Team Collaboration
Collaborate across distributed infrastructure:Shared Visibility
All team members see the same multi-cluster view
Role-based Access
Control who can view, deploy, or modify clusters
Audit Logging
Track all actions across clusters
Change History
View history of deployments and modifications
Supported Kubernetes Distributions
Meshery works with any Kubernetes-conformant distribution:| Platform | Support | Notes |
|---|---|---|
| Amazon EKS | ✅ Full | AWS Elastic Kubernetes Service |
| Google GKE | ✅ Full | Google Kubernetes Engine |
| Azure AKS | ✅ Full | Azure Kubernetes Service |
| OpenShift | ✅ Full | Red Hat OpenShift |
| Rancher | ✅ Full | Rancher Kubernetes Engine |
| Kind | ✅ Full | Kubernetes in Docker |
| Minikube | ✅ Full | Local development clusters |
| k3s | ✅ Full | Lightweight Kubernetes |
| MicroK8s | ✅ Full | Canonical’s Kubernetes |
| Tanzu | ✅ Full | VMware Tanzu |
Best Practices
Use Environments for Logical Grouping
Use Environments for Logical Grouping
Group clusters into environments based on purpose (prod/dev), region, or team ownership for easier management.
Deploy MeshSync for Full Features
Deploy MeshSync for Full Features
Deploy MeshSync to all clusters to enable resource discovery, state synchronization, and change detection.
Implement Consistent Naming
Implement Consistent Naming
Use consistent naming conventions across clusters for namespaces, labels, and resources.
Test in Non-production First
Test in Non-production First
When deploying to multiple clusters, start with development/staging environments before production.
Monitor Connection Health
Monitor Connection Health
Regularly check connection status and address any errored or disconnected clusters.
Use GitOps for Multi-cluster
Use GitOps for Multi-cluster
Combine multi-cluster deployments with GitOps workflows for full traceability and version control.
Troubleshooting
Connection Issues
Cluster won’t connect:- Verify network connectivity from Meshery to cluster API server
- Check kubeconfig credentials are valid and not expired
- Ensure firewall rules allow access to cluster API endpoint
- Verify Meshery has necessary RBAC permissions in the cluster
Related Features
- Environments - Learn more about environment organization
- Connections - Understanding Meshery connections
- Visual Designer - Design multi-cluster deployments
- GitOps - GitOps workflows for multi-cluster