☸️ Istio (Service Mesh) Cheatsheet Completo ☸️

Istio es una malla de servicios (Service Mesh) de código abierto que proporciona una capa de infraestructura transparente para gestionar las comunicaciones de servicio a servicio. Permite a los desarrolladores y operadores controlar el tráfico, hacer cumplir políticas, aplicar la seguridad y obtener telemetría de forma programática, sin modificar el código de la aplicación.


1. 🌟 Conceptos Clave


2. 🛠️ Arquitectura de Istio

2.1. Componentes del Plano de Control (istiod)

2.2. Componentes del Plano de Datos (Proxies Envoy)


3. ⚙️ Instalación y CLI (istioctl)

  1. Descargar istioctl: La herramienta de línea de comandos de Istio.
    • curl -L https://istio.io/downloadIstio | sh - (Instala en un directorio local).
    • Añade el directorio bin al PATH.
  2. Instalar Istio en Kubernetes (usando istioctl):
    • istioctl install --set profile=demo (o default, minimal, production).
  3. Habilitar la Inyección Automática de Sidecars:
    • Etiqueta un namespace para que la inyección automática funcione:
      kubectl label namespace default istio-injection=enabled --overwrite
    • Los Pods desplegados en este namespace obtendrán automáticamente un sidecar Envoy.
  4. Verificar la Instalación:
    istioctl verify-install
    istioctl analyze # Analiza problemas de configuración de Istio
    kubectl get pods -n istio-system # Ver los componentes del Control Plane

4. 🌐 Gestión de Tráfico (Traffic Management)

Controlar el flujo de tráfico y las llamadas a la API entre servicios.

4.1. Gateway (Puerta de Enlace)

4.2. VirtualService (Servicio Virtual)

4.3. DestinationRule (Regla de Destino)


5. 🔒 Seguridad (Security)

Istio proporciona seguridad en la capa de la malla de servicios.

5.1. Mutual TLS (mTLS)

5.2. AuthorizationPolicy (Política de Autorización)

5.3. RequestAuthentication (Validación de JWT)


6. 📊 Observabilidad (Observability)

Istio proporciona telemetría sin instrumentación de código.


7. 🧰 Otros Recursos de Istio


8. 💡 Buenas Prácticas y Consejos


Este cheatsheet te proporciona una referencia completa de Istio, cubriendo sus conceptos esenciales, arquitectura, cómo instalarlo y configurarlo, la gestión de tráfico, la seguridad, la observabilidad y las mejores prácticas para construir microservicios robustos y gestionables.