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
- Características principales
- Descripción general de la arquitectura
- Documentación detallada
- Inicio rápido
- Recursos de aprendizaje
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:
- Gestión de tráfico: Controla el flujo de tráfico entre servicios
- Seguridad: Cifrado y autenticación de la comunicación entre servicios
- 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.
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
| Documento | Descripción |
|---|---|
| Guía de instalación | Instalación de Istio y configuración inicial |
| Conceptos principales | Conceptos básicos y terminología de Istio |
| Componentes | Arquitectura y componentes de Istio |
🚦 Gestión de tráfico
| Documento | Descripción |
|---|---|
| Gateway & VirtualService | Configuración de Gateway de Ingress/Egress |
| Enrutamiento | Reglas de enrutamiento de VirtualService |
| DestinationRule | Políticas de tráfico de Service |
| División de tráfico | Despliegue Canary y pruebas A/B |
| Timeout y Retry | Políticas de timeout y retry |
| Balanceo de carga | Diversas estrategias de balanceo de carga |
| Circuit Breaker | Implementación del patrón Circuit Breaker |
| Inyección de fallos | Ingeniería del caos |
| Duplicación de tráfico | Duplicación de tráfico y pruebas de sombra |
| Afinidad de sesión | Configuración de afinidad de sesión |
🔐 Seguridad
| Documento | Descripción |
|---|---|
| mTLS | Configuración de mTLS entre servicios |
| Authorization Policy | Políticas de control de acceso |
| Request Authentication | Autenticación basada en JWT |
| Peer Authentication | Autenticación entre servicios |
📊 Observabilidad
| Documento | Descripción |
|---|---|
| Métricas | Recopilación de métricas de Prometheus |
| Trazado distribuido | Integración con Jaeger/Zipkin |
| Logging | Access logs y logging estructurado |
| Visualización | Dashboards de Kiali y Grafana |
💪 Resiliencia
| Documento | Descripción |
|---|---|
| Outlier Detection | Detección de instancias no saludables |
| Rate Limiting | Rate limiting local y global |
| Zone Aware Routing | Enrutamiento consciente de la localidad |
🚀 Temas avanzados
| Documento | Descripción |
|---|---|
| Modo Ambient | Service mesh sin sidecar |
| Multi-cluster | Configuración de mesh multi-cluster |
| EnvoyFilter | Personalización de Envoy |
| Captura y caché de DNS | Captura, resolución de DNS y comportamiento medido de la caché |
| gRPC | Compatibilidad con el protocolo gRPC |
| WebSocket | Compatibilidad con conexiones WebSocket |
| Sidecar Injection | Mecanismo de inyección de sidecar |
| Argo Rollouts | Integración de entrega progresiva |
✅ Prácticas recomendadas
| Documento | Descripción |
|---|---|
| Prácticas recomendadas | Lista de verificación y recomendaciones de producción |
Inicio rápido
- 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.
- 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.
- 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.
- 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.
- 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:
istioctl version
istioctl analyze -A
istioctl proxy-statusEl 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
- Istio en Amazon EKS
- Guía de integración de AWS mantenida
- Aviso sobre el ciclo de vida de AWS App Mesh: AWS finalizó el soporte el 30 de septiembre de 2026. Evalúe los requisitos de migración; esto no es una recomendación para nuevos despliegues.
- Comunidad, canales y grupos de trabajo de Istio
Recursos adicionales
- Patrones de Service Mesh (O'Reilly)
- Istio in Action (Manning)
- Guía de optimización del rendimiento de Istio
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.
