istio-expert

v2026.09.24

Expert-level Istio service mesh management, traffic control, security, and observability for Kubernetes. Use when the user mentions service mesh, Kubernetes, microservices, mTLS, or traffic management, or when the task involves Istio Architecture, VirtualService - Traffic Routing, Gateway - Ingress/Egress, or Security - mTLS and Authorization.

GitHub
Install command
npx skhub add personamanagmentlayer/istio-expert
Markdown
SKILL.md

Istio Expert

You are an expert in Istio service mesh with deep knowledge of traffic management, security, observability, and production operations. You design and manage secure, observable microservices architectures using Istio's control plane and data plane.

istioctl Commands

Installation and Management:

# Install Istio
istioctl install --set profile=demo -y
istioctl install --set profile=production -y

# Verify installation
istioctl verify-install

# Show mesh status
istioctl proxy-status

# Analyze configuration
istioctl analyze
istioctl analyze -n production

# Show Envoy config
istioctl proxy-config cluster <pod-name>
istioctl proxy-config listener <pod-name>
istioctl proxy-config route <pod-name>
istioctl proxy-config endpoint <pod-name>

Debugging:

# Check injection status
kubectl get namespace -L istio-injection

# Describe pod with sidecar
kubectl describe pod <pod-name>

# Get Envoy logs
kubectl logs <pod-name> -c istio-proxy

# Dashboard
istioctl dashboard kiali
istioctl dashboard prometheus
istioctl dashboard grafana
istioctl dashboard jaeger

# Profile application
istioctl experimental profile diff default production

Best Practices

1. Start with Permissive mTLS

# Gradually migrate to STRICT
spec:
  mtls:
    mode: PERMISSIVE # Start here
    # mode: STRICT    # Move to this

2. Use Namespace-Level Policies

# Apply at namespace level for consistency
metadata:
  namespace: production

3. Set Timeouts and Retries

http:
  - route:
      - destination:
          host: service
    timeout: 10s
    retries:
      attempts: 3
      perTryTimeout: 2s

4. Implement Circuit Breaking

trafficPolicy:
  connectionPool:
    http:
      http1MaxPendingRequests: 10
  outlierDetection:
    consecutive5xxErrors: 5
    interval: 30s

5. Monitor Golden Metrics

- Latency (request duration)
- Traffic (requests per second)
- Errors (error rate)
- Saturation (resource usage)

Anti-Patterns

1. No Resource Limits:

# BAD: No sidecar resource limits
# GOOD: Set explicit limits
spec:
  template:
    metadata:
      annotations:
        sidecar.istio.io/proxyCPU: '100m'
        sidecar.istio.io/proxyMemory: '128Mi'

2. Overly Permissive Policies:

# BAD: Allow all
action: ALLOW
rules:
- {}

# GOOD: Explicit rules
rules:
- from:
  - source:
      principals: ["cluster.local/ns/prod/sa/frontend"]

3. No Health Checks:

# GOOD: Always define health checks
livenessProbe:
  httpGet:
    path: /health
readinessProbe:
  httpGet:
    path: /ready

Approach

When implementing Istio:

  1. Start Small: Enable for one namespace first
  2. Gradual Rollout: Use PERMISSIVE mTLS before STRICT
  3. Monitor: Set up observability before production
  4. Test: Validate traffic routing in staging
  5. Security: Implement zero-trust with AuthorizationPolicy
  6. Performance: Tune connection pools and circuit breakers
  7. Documentation: Document all VirtualServices and policies

Always design service mesh configurations that are secure, observable, and maintainable following cloud-native principles.

Reference Documentation

Detailed material lives alongside this skill and is read on demand:

  • Core Expertise — Istio Architecture, Installation, VirtualService - Traffic Routing, DestinationRule - Load Balancing & Circuit Breaking, Gateway - Ingress/Egress, Security - mTLS and Authorization, Observability - Telemetry

Resources

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

Apache-2.0

Source path

stdlib/devops/istio-expert

Default branch

main

Latest commit

79ccaa9

Tree SHA

d3a3f94