Service Mesh Integrations
Meshery provides first-class support for multiple service mesh implementations through dedicated adapters. These adapters enable lifecycle management, configuration, performance testing, and best practice validation for your service mesh infrastructure.Supported Service Meshes
Meshery supports the following service mesh integrations:Istio
Full-featured service mesh with advanced traffic management, security, and observability
Linkerd
Lightweight, security-focused service mesh with minimal overhead
Consul
HashiCorp’s service networking platform with service discovery and configuration
Kuma
Universal service mesh built on Envoy, works on Kubernetes and VMs
Cilium
eBPF-based service mesh with advanced networking and security features
NGINX Service Mesh
Lightweight service mesh for NGINX Plus users
Traefik Mesh
Simple service mesh built on Traefik proxy
Network Service Mesh
L2/L3 service mesh for cloud native applications
AWS App Mesh
AWS-managed service mesh for applications on AWS
What Are Service Mesh Adapters?
Meshery adapters are gRPC-based microservices that provide:- Lifecycle Management: Install, upgrade, and uninstall service mesh control planes
- Workload Management: Deploy and configure sample applications
- Performance Testing: Load generation and performance characterization
- Configuration Validation: Best practice analysis and policy enforcement
- Custom Configuration: Apply service mesh-specific resources (VirtualServices, DestinationRules, etc.)
Adapter Architecture
Each adapter:- Runs as a separate container alongside Meshery Server
- Communicates via gRPC protocol (defined in
server/meshes/meshops.proto) - Is versioned independently from Meshery
- Maintains compatibility with multiple versions of the service mesh
Istio Integration
Repository: github.com/meshery/meshery-istioPort: 10000/gRPC
Earliest Version: v1.6.0
Features
- Install Istio versions from v1.6.0 to latest
- Deploy Istio add-ons (Prometheus, Grafana, Jaeger, Kiali)
- Manage Istio resources (VirtualServices, DestinationRules, Gateways, ServiceEntries)
- Sample applications: Bookinfo, Httpbin, Online Boutique, Image Hub
- Configuration best practice analysis
Installation
- Meshery UI
- Helm
- mesheryctl
- Navigate to Lifecycle > Adapters
- Select Meshery Adapter for Istio
- Click Deploy to install the adapter
- Choose Istio version and configuration profile
- Click Install to deploy Istio to your cluster
Configuration Example
Apply custom Istio configuration:Linkerd Integration
Repository: github.com/meshery/meshery-linkerdPort: 10001/gRPC
Earliest Version: v2.8.0
Features
- Install Linkerd stable and edge releases
- Automatic mTLS between services
- Traffic splitting and golden metrics
- Sample applications: Emojivoto, Books
- Tap and profile debugging tools
Installation
Sample Application
Deploy the Emojivoto sample app:- In Meshery UI, go to Lifecycle > Sample Applications
- Select Emojivoto
- Click Deploy to install to your cluster
- Meshery will automatically inject Linkerd proxies
Consul Integration
Repository: github.com/meshery/meshery-consulPort: 10002/gRPC
Earliest Version: v1.8.0
Features
- Install Consul with service mesh enabled
- Service discovery and health checking
- Intentions for service-to-service authorization
- Multi-datacenter support
- Connect native integrations
Installation
Configuration Example
Define service intentions:Kuma Integration
Repository: github.com/meshery/meshery-kumaPort: 10007/gRPC
Features
- Universal mode: Kubernetes and VM support
- Multi-zone deployment
- Traffic policies (retries, timeouts, circuit breakers)
- Built-in observability with Prometheus and Grafana
Installation
Cilium Service Mesh Integration
Repository: github.com/meshery/meshery-ciliumPort: 10012/gRPC
Features
- eBPF-based service mesh with no sidecars
- Layer 3/4 and Layer 7 policy enforcement
- Hubble observability
- Network policies and encryption
Installation
NGINX Service Mesh Integration
Repository: github.com/meshery/meshery-nginx-smPort: 10010/gRPC
Features
- Based on NGINX Plus
- SMI (Service Mesh Interface) compatible
- Automatic sidecar injection
- Traffic splitting and access control
Traefik Mesh Integration
Repository: github.com/meshery/meshery-traefik-meshPort: 10006/gRPC
Features
- Non-intrusive service mesh
- No sidecar injection required
- HTTP/TCP routing and load balancing
- Traffic mirroring and access control
Network Service Mesh (NSM) Integration
Repository: github.com/meshery/meshery-nsmPort: 10004/gRPC
Features
- L2/L3 connectivity for cloud native applications
- Network service composition
- Support for CNFs (Cloud Native Network Functions)
AWS App Mesh Integration
Features
- AWS-managed service mesh control plane
- Integration with AWS services (ECS, EKS, Fargate)
- Traffic routing and monitoring
- End-to-end encryption with TLS
AWS App Mesh is managed through Meshery’s AWS integration components. Ensure you have AWS credentials configured.
Common Operations
Deploy a Service Mesh
Select Adapter
In Meshery UI, navigate to Lifecycle > Adapters and choose your service mesh adapter.
Apply Custom Configuration
- Go to Lifecycle > Configuration
- Select your service mesh adapter
- Paste your YAML configuration (VirtualServices, DestinationRules, etc.)
- Click Apply Configuration
- Meshery validates and applies the configuration to your cluster
Deploy Sample Applications
- Navigate to Lifecycle > Sample Applications
- Select an application (e.g., Bookinfo for Istio)
- Click Deploy
- Access the application using the provided URL
- Use the app to generate traffic for testing
Performance Testing
- Go to Performance in the Meshery UI
- Select your service mesh
- Choose a load generator (Fortio, Wrk2, or Nighthawk)
- Configure test parameters:
- URL endpoint
- Concurrent connections
- Requests per second
- Duration
- Run the test and view results with latency percentiles and throughput
Configuration Best Practices
- Navigate to Lifecycle > Validate Configuration
- Select your service mesh adapter
- Click Run Validation
- Meshery analyzes your configuration against best practices
- Review recommendations and apply suggested fixes
Service Mesh Comparison
| Feature | Istio | Linkerd | Consul | Kuma | Cilium |
|---|---|---|---|---|---|
| Architecture | Envoy sidecars | Linkerd2-proxy | Envoy sidecars | Envoy sidecars | eBPF (no sidecar) |
| mTLS | Yes | Yes | Yes | Yes | Yes |
| Multi-cluster | Yes | Yes | Yes | Yes | Yes |
| Multi-tenancy | Yes | No | Yes | Yes | Yes |
| VM Support | Yes | No | Yes | Yes | Limited |
| Observability | Prometheus, Grafana, Jaeger, Kiali | Prometheus, Grafana | Prometheus, Grafana | Prometheus, Grafana | Hubble, Prometheus, Grafana |
| Traffic Management | Advanced | Basic | Basic | Advanced | Advanced |
| Complexity | High | Low | Medium | Medium | Medium |
Adapter Management via CLI
List Available Adapters
Deploy Specific Adapter
Remove Adapter
Troubleshooting
Adapter Not Connecting
Adapter Not Connecting
Symptom: Adapter shows as disconnected in Meshery UISolutions:
- Verify adapter pod is running:
kubectl get pods -n meshery - Check adapter logs:
kubectl logs -n meshery <adapter-pod-name> - Ensure gRPC port is accessible
- Restart the adapter:
kubectl rollout restart deployment/<adapter-name> -n meshery
Service Mesh Installation Fails
Service Mesh Installation Fails
Symptom: Mesh installation fails or times outSolutions:
- Check cluster resources (CPU, memory)
- Verify RBAC permissions for Meshery service account
- Review Kubernetes events:
kubectl get events -n <mesh-namespace> - Check adapter version compatibility with mesh version
Configuration Not Applied
Configuration Not Applied
Symptom: Custom configuration doesn’t take effectSolutions:
- Validate YAML syntax
- Ensure namespace exists
- Check for conflicting configurations
- Verify CRDs are installed:
kubectl get crds
Next Steps
Performance Testing
Learn how to benchmark your service mesh
Design Patterns
Explore service mesh design patterns
Observability
Set up monitoring for your service mesh
Policy Engine
Configuration best practices and validation