Service Mesh Guide

Istio vs Linkerd

FeatureIstioLinkerd
ProxyEnvoy (heavyweight, feature-rich)linkerd2-proxy (lightweight, Rust)
ComplexityHigh โ€” steep learning curveLow โ€” simpler to operate
Performance overhead~5-10% latency~1-3% latency
mTLSYes (configurable)Yes (automatic by default)
Traffic managementRich (VirtualService, DestinationRule)HTTPRoute, TrafficSplit
ObservabilityJaeger, Kiali, PrometheusBuilt-in dashboard, Prometheus
Best forLarge orgs, complex traffic controlSimpler setups, security focus

Istio VirtualService (Canary)

apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: my-service spec: hosts: - my-service http: - match: - headers: x-user-group: exact: beta route: - destination: host: my-service subset: v2 - route: - destination: host: my-service subset: v1 weight: 90 - destination: host: my-service subset: v2 weight: 10 --- apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name: my-service spec: host: my-service trafficPolicy: connectionPool: tcp: maxConnections: 100 outlierDetection: consecutive5xxErrors: 5 interval: 30s baseEjectionTime: 30s subsets: - name: v1 labels: version: v1 - name: v2 labels: version: v2