APM

>Agent Skill

@aj-geddes/service-mesh-implementation

skillsecurity

Implement service mesh (Istio, Linkerd) for service-to-service communication, traffic management, security, and observability.

kubernetesdocumentationsecurity
apm::install
$apm install @aj-geddes/service-mesh-implementation
apm::skill.md
---
name: service-mesh-implementation
description: >
  Implement service mesh (Istio, Linkerd) for service-to-service communication,
  traffic management, security, and observability.
---

# Service Mesh Implementation

## Table of Contents

- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)

## Overview

Deploy and configure a service mesh to manage microservice communication, enable advanced traffic management, implement security policies, and provide comprehensive observability across distributed systems.

## When to Use

- Microservice communication management
- Cross-cutting security policies
- Traffic splitting and canary deployments
- Service-to-service authentication
- Request routing and retries
- Distributed tracing integration
- Circuit breaker patterns
- Mutual TLS between services

## Quick Start

Minimal working example:

```yaml
# istio-setup.yaml
apiVersion: v1
kind: Namespace
metadata:
  name: istio-system
  labels:
    istio-injection: enabled

---
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  name: istio-config
  namespace: istio-system
spec:
  profile: production
  revision: "1-13"

  components:
    pilot:
      k8s:
        resources:
          requests:
            cpu: 500m
            memory: 2048Mi
// ... (see reference guides for full implementation)
```

## Reference Guides

Detailed implementations in the `references/` directory:

| Guide | Contents |
|---|---|
| [Istio Core Setup](references/istio-core-setup.md) | Istio Core Setup |
| [Virtual Service and Destination Rule](references/virtual-service-and-destination-rule.md) | Virtual Service and Destination Rule |
| [Security Policies](references/security-policies.md) | Security Policies |
| [Observability Configuration](references/observability-configuration.md) | Observability Configuration |
| [Service Mesh Deployment Script](references/service-mesh-deployment-script.md) | Service Mesh Deployment Script |

## Best Practices

### ✅ DO

- Enable mTLS for all workloads
- Implement proper authorization policies
- Use virtual services for traffic management
- Enable distributed tracing
- Monitor resource usage (CPU, memory)
- Use appropriate sampling rates for tracing
- Implement circuit breakers
- Use namespace isolation

### ❌ DON'T

- Disable mTLS in production
- Allow permissive traffic policies
- Ignore observability setup
- Deploy without resource requests/limits
- Skip sidecar injection validation
- Use 100% sampling in high-traffic systems
- Mix service versions without proper routing
- Neglect authorization policies