Skip to content

Istio ​

Última actualización: October 12, 2026 · guía de Istio 1.31

Esta descripción general mantiene utilizable la URL del capítulo anterior. El índice de documentación de Istio y la guía de instalación mantenidos contienen los procedimientos detallados y la matriz de compatibilidad; utilícelos para la configuración actual.

Tabla de contenido ​

Introducción ​

Istio es una plataforma de service mesh de código abierto para aplicaciones de microservicios. Un service mesh es una capa de infraestructura que gestiona la comunicación entre servicios, lo que permite el control y la observación de esa comunicación a nivel de infraestructura. La propagación de trace-context de la aplicación, el apagado controlado y la idempotencia de negocio aún requieren la participación de la aplicación.

¿Qué es un Service Mesh? ​

Un service mesh proporciona las siguientes capacidades principales:

  1. Gestión de tráfico: Controla el flujo de tráfico entre servicios
  2. Seguridad: Cifrado y autenticación de la comunicación entre servicios
  3. Observabilidad: Visibilidad de la comunicación entre servicios

Beneficios principales de Istio ​

  • Independencia de plataforma: Funciona en diversos entornos (Kubernetes, VM, etc.)
  • Integración transparente: Se pueden añadir muchos controles de red sin cambiar la lógica de negocio de la aplicación
  • mTLS de workload: Identidad administrada y protección de transporte en las rutas del mesh inscritas; verifique la aplicación y las excepciones
  • Gestión avanzada de tráfico: Enrutamiento, balanceo de carga, inyección de fallos, etc.
  • Métricas detalladas: Métricas detalladas de la comunicación entre servicios
  • Aplicación de políticas: Control de acceso y rate limiting local/global configurado explícitamente

Características principales ​

1. Gestión de tráfico ​

Istio proporciona potentes capacidades de gestión de tráfico:

  • Gateways: Enrutan el tráfico externo; distinga los recursos Istio Gateway de Kubernetes Gateway API
  • VirtualService / HTTPRoute: Configure el enrutamiento mediante la API compatible con el data plane y el controlador seleccionados
  • DestinationRule: Configure el balanceo de carga y los connection pools
  • División de tráfico: Compatibilidad con despliegues Canary y pruebas A/B
  • Integración con Argo Rollouts: Entrega progresiva con análisis y manejo de fallos configurados por separado

2. Seguridad ​

Características de seguridad integrales:

  • mTLS: Autenticación de identidad y cifrado para el transporte de workload inscrito
  • Authorization Policy: Control de acceso detallado
  • Request Authentication: Validación de JWT; use AuthorizationPolicy cuando se requiera la presencia de un JWT
  • Peer Authentication: Política de mTLS de workload entrante

3. Observabilidad ​

Telemetría e integraciones de backend, configuradas para el modo seleccionado:

  • Métricas: Integración con Prometheus
  • Trazado distribuido: Proveedor/backend de trazado configurado, como OpenTelemetry con Jaeger; las aplicaciones propagan el contexto
  • Logging: Access logs y logging estructurado
  • Visualización: Dashboard de Kiali

4. Resiliencia ​

Patrones de resiliencia de servicios:

  • Circuit Breaker: Límites de connection/request-pool; no garantiza protección contra sobrecarga
  • Retry: Presupuestos explícitos para operaciones seguras para reintentos; deshabilite los reintentos de escritura ambiguos
  • Timeout: Configuración de timeout de solicitudes
  • Outlier Detection: Excluye las instancias no saludables
  • Rate Limiting: Token buckets locales configurados o un servicio global de rate limiting

Descripción general de la arquitectura ​

Istio consta de un Control Plane y un Data Plane. El siguiente diagrama muestra la forma sidecar, no la topología ambient.

Istiod en el control plane envía la configuración a los proxies sidecar de Envoy que se ejecutan junto a los contenedores de aplicaciones en tres Pods de data plane, y esos proxies establecen conexiones TLS mutuas directamente entre sí.

Istiod en el control plane envía la configuración a los proxies sidecar de Envoy que se ejecutan junto a los contenedores de aplicaciones en tres Pods de data plane, y esos proxies establecen conexiones TLS mutuas directamente entre sí.Abrir a pantalla completa ↗

Control Plane (istiod) ​

istiod es el componente de control central de Istio y proporciona:

  • Service Discovery: Mantiene el registro de servicios del mesh
  • Gestión de configuración: Observa la configuración, la traduce y distribuye la configuración del proxy; Kubernetes conserva los recursos de API
  • Gestión de certificados: Gestiona las solicitudes y la rotación de certificados de workload con la CA configurada

Data Plane: Sidecar y Ambient ​

En el modo sidecar, Envoy se ejecuta junto a cada Pod de aplicación inscrito:

  • Enrutamiento de tráfico: Controla el tráfico entre servicios
  • Balanceo de carga: Distribuye el tráfico entre las instancias de servicio
  • Seguridad: Cifrado y autenticación mTLS
  • Observabilidad: Recopila métricas, logs y trazas

Ambient utiliza ztunnel a nivel de nodo para el transporte L4 y waypoints opcionales de Envoy para las características L7 compatibles. No inyecta un Envoy en cada Pod de aplicación. La compatibilidad de características, la asociación de políticas y el uso de recursos difieren según el modo; de esta topología no se deduce ni un porcentaje fijo de ahorro de recursos ni una superioridad de rendimiento universal. Consulte Modo Ambient.

Documentación detallada ​

Los enlaces siguientes son un mapa de aprendizaje hacia el subárbol mantenido. Su índice incluye temas adicionales y añadidos recientemente.

📚 Documentación básica ​

DocumentoDescripción
Guía de instalaciónInstalación de Istio y configuración inicial
Conceptos principalesConceptos básicos y terminología de Istio
ComponentesArquitectura y componentes de Istio

🚦 Gestión de tráfico ​

DocumentoDescripción
Gateway & VirtualServiceConfiguración de Gateway de Ingress/Egress
EnrutamientoReglas de enrutamiento de VirtualService
DestinationRulePolíticas de tráfico de Service
División de tráficoDespliegue Canary y pruebas A/B
Timeout y RetryPolíticas de timeout y retry
Balanceo de cargaDiversas estrategias de balanceo de carga
Circuit BreakerImplementación del patrón Circuit Breaker
Inyección de fallosIngeniería del caos
Duplicación de tráficoDuplicación de tráfico y pruebas de sombra
Afinidad de sesiónConfiguración de afinidad de sesión

🔐 Seguridad ​

DocumentoDescripción
mTLSConfiguración de mTLS entre servicios
Authorization PolicyPolíticas de control de acceso
Request AuthenticationAutenticación basada en JWT
Peer AuthenticationAutenticación entre servicios

📊 Observabilidad ​

DocumentoDescripción
MétricasRecopilación de métricas de Prometheus
Trazado distribuidoIntegración con Jaeger/Zipkin
LoggingAccess logs y logging estructurado
VisualizaciónDashboards de Kiali y Grafana

💪 Resiliencia ​

DocumentoDescripción
Outlier DetectionDetección de instancias no saludables
Rate LimitingRate limiting local y global
Zone Aware RoutingEnrutamiento consciente de la localidad

🚀 Temas avanzados ​

DocumentoDescripción
Modo AmbientService mesh sin sidecar
Multi-clusterConfiguración de mesh multi-cluster
EnvoyFilterPersonalización de Envoy
Captura y caché de DNSCaptura, resolución de DNS y comportamiento medido de la caché
gRPCCompatibilidad con el protocolo gRPC
WebSocketCompatibilidad con conexiones WebSocket
Sidecar InjectionMecanismo de inyección de sidecar
Argo RolloutsIntegración de entrega progresiva

✅ Prácticas recomendadas ​

DocumentoDescripción
Prácticas recomendadasLista de verificación y recomendaciones de producción

Inicio rápido ​

  1. Compruebe la intersección exacta de compatibilidad de Istio/Kubernetes/EKS en la guía de instalación. Un requisito previo genérico de “Kubernetes 1.28+” no es suficiente para una versión actual de Istio.
  2. Elija sidecar o ambient y siga el CLI/chart fijado, el namespace aislado y los requisitos previos de la plataforma de esa guía. No descargue un CLI latest no especificado para después cambiar a un directorio de una versión antigua.
  3. Utilice el procedimiento Bookinfo de versión correspondiente y las instrucciones de Gateway de la guía mantenida. El perfil predeterminado no proporciona automáticamente un Deployment de ingress gateway, y un objeto de configuración Gateway por sí solo no crea el gateway/LoadBalancer requerido por todas las instalaciones.
  4. Verifique la dirección real del gateway, el puerto de Service, el estado de la ruta y la respuesta HTTP. Un load balancer puede publicar una IP o un hostname; no suponga un campo de hostname exclusivo de AWS ni un nombre de puerto concreto.
  5. Instale o configure los backends de observabilidad elegidos antes de utilizar comandos de dashboard. Prometheus, Grafana, Kiali y el almacenamiento de trazado no se instalan automáticamente con el perfil predeterminado de Istio.

Verificación básica después de completar ese procedimiento:

bash
istioctl version
istioctl analyze -A
istioctl proxy-status

El estado del proxy es solo una entrada de diagnóstico. La inscripción en ambient y ztunnel necesitan sus propias comprobaciones, y un resultado limpio del analizador no es una prueba de tráfico de extremo a extremo.

Recursos de aprendizaje ​

Documentación oficial ​

AWS y comunidad ​

Recursos adicionales ​

Cuestionario ​

Para comprobar sus conocimientos de Istio, pruebe el Cuestionario de Istio.

El cuestionario cubre los siguientes temas:

  • Conceptos básicos de service mesh
  • Arquitectura de Istio
  • Gestión de tráfico (despliegue Canary)
  • Seguridad (mTLS)
  • Gateway e Ingress
  • Herramientas de observabilidad
  • Modos sidecar y ambient
  • Rate Limiting
  • Enrutamiento por localidad
  • Integración con Amazon EKS

Próximos pasos: Consulte la Guía de instalación para instalar Istio y aprenda conceptos básicos en Conceptos principales.

Pregunta a la documentación

Enter envía, Shift+Enter añade una línea.