Skip to main content

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:
  1. Runs as a separate container alongside Meshery Server
  2. Communicates via gRPC protocol (defined in server/meshes/meshops.proto)
  3. Is versioned independently from Meshery
  4. Maintains compatibility with multiple versions of the service mesh

Istio Integration

Repository: github.com/meshery/meshery-istio
Port: 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

  1. Navigate to Lifecycle > Adapters
  2. Select Meshery Adapter for Istio
  3. Click Deploy to install the adapter
  4. Choose Istio version and configuration profile
  5. Click Install to deploy Istio to your cluster

Configuration Example

Apply custom Istio configuration:
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: reviews-route
  namespace: default
spec:
  hosts:
  - reviews
  http:
  - match:
    - headers:
        end-user:
          exact: jason
    route:
    - destination:
        host: reviews
        subset: v2
  - route:
    - destination:
        host: reviews
        subset: v3
Paste this configuration in the Meshery UI under Lifecycle > Configuration and click Apply.

Linkerd Integration

Repository: github.com/meshery/meshery-linkerd
Port: 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

helm install meshery-linkerd meshery/meshery-linkerd \
  --namespace meshery

Sample Application

Deploy the Emojivoto sample app:
  1. In Meshery UI, go to Lifecycle > Sample Applications
  2. Select Emojivoto
  3. Click Deploy to install to your cluster
  4. Meshery will automatically inject Linkerd proxies

Consul Integration

Repository: github.com/meshery/meshery-consul
Port: 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

helm install meshery-consul meshery/meshery-consul \
  --namespace meshery

Configuration Example

Define service intentions:
apiVersion: consul.hashicorp.com/v1alpha1
kind: ServiceIntentions
metadata:
  name: web-to-api
spec:
  destination:
    name: api
  sources:
  - name: web
    action: allow

Kuma Integration

Repository: github.com/meshery/meshery-kuma
Port: 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

helm install meshery-kuma meshery/meshery-kuma \
  --namespace meshery

Cilium Service Mesh Integration

Repository: github.com/meshery/meshery-cilium
Port: 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

helm install meshery-cilium meshery/meshery-cilium \
  --namespace meshery

NGINX Service Mesh Integration

Repository: github.com/meshery/meshery-nginx-sm
Port: 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-mesh
Port: 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-nsm
Port: 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

1

Select Adapter

In Meshery UI, navigate to Lifecycle > Adapters and choose your service mesh adapter.
2

Deploy Adapter

Click Deploy to install the adapter if not already running.
3

Install Service Mesh

Click on the adapter card, select a version, and click Install.
4

Verify Installation

Check the deployment status in the Lifecycle page. The adapter will report when installation is complete.

Apply Custom Configuration

  1. Go to Lifecycle > Configuration
  2. Select your service mesh adapter
  3. Paste your YAML configuration (VirtualServices, DestinationRules, etc.)
  4. Click Apply Configuration
  5. Meshery validates and applies the configuration to your cluster

Deploy Sample Applications

  1. Navigate to Lifecycle > Sample Applications
  2. Select an application (e.g., Bookinfo for Istio)
  3. Click Deploy
  4. Access the application using the provided URL
  5. Use the app to generate traffic for testing

Performance Testing

  1. Go to Performance in the Meshery UI
  2. Select your service mesh
  3. Choose a load generator (Fortio, Wrk2, or Nighthawk)
  4. Configure test parameters:
    • URL endpoint
    • Concurrent connections
    • Requests per second
    • Duration
  5. Run the test and view results with latency percentiles and throughput

Configuration Best Practices

  1. Navigate to Lifecycle > Validate Configuration
  2. Select your service mesh adapter
  3. Click Run Validation
  4. Meshery analyzes your configuration against best practices
  5. Review recommendations and apply suggested fixes

Service Mesh Comparison

FeatureIstioLinkerdConsulKumaCilium
ArchitectureEnvoy sidecarsLinkerd2-proxyEnvoy sidecarsEnvoy sidecarseBPF (no sidecar)
mTLSYesYesYesYesYes
Multi-clusterYesYesYesYesYes
Multi-tenancyYesNoYesYesYes
VM SupportYesNoYesYesLimited
ObservabilityPrometheus, Grafana, Jaeger, KialiPrometheus, GrafanaPrometheus, GrafanaPrometheus, GrafanaHubble, Prometheus, Grafana
Traffic ManagementAdvancedBasicBasicAdvancedAdvanced
ComplexityHighLowMediumMediumMedium

Adapter Management via CLI

List Available Adapters

mesheryctl system adapter list

Deploy Specific Adapter

mesheryctl system adapter deploy meshery-istio

Remove Adapter

mesheryctl system adapter remove meshery-istio

Troubleshooting

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
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
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

Build docs developers (and LLMs) love