Istio es una malla de servicios de código abierto que se superpone de forma transparente a las aplicaciones distribuidas existentes. Las potentes funciones de Istio brindan una forma uniforme y más eficiente de proteger, conectar y monitorear servicios. Istio es el camino hacia el equilibrio de carga, la autenticación y la supervisión de servicio a servicio, con pocos o ningún cambio en el código de servicio.
Para obtener información detallada sobre cómo usar Istio, visite istio.io
Para hacer preguntas y obtener ayuda de nuestra comunidad, visite Discusiones de Github
Para saber cómo participar en nuestra comunidad en general, visite nuestra página de la comunidad.
En este LÉAME:
Introducción
Repositorios
Gestión de problemas
Además, aquí hay algunos otros documentos que quizás desee leer:
Comunidad Istio: describe cómo involucrarse y contribuir al proyecto Istio
Guía del desarrollador de Istio: explica cómo configurar y utilizar un entorno de desarrollo de Istio
Convenciones del proyecto: describe las convenciones que utilizamos dentro del código base.
Creación de código rápido y eficiente: consejos y directrices orientados al rendimiento para la base del código
Encontrará muchos otros documentos útiles en nuestra Wiki.
Istio es una plataforma abierta que proporciona una forma uniforme de integrar microservicios, gestionar el flujo de tráfico entre microservicios, hacer cumplir políticas y agregar datos de telemetría. El plano de control de Istio proporciona una capa de abstracción sobre la plataforma de gestión de clústeres subyacente, como Kubernetes.
Istio se compone de estos componentes:
Envoy : proxy sidecar por microservicio para manejar el tráfico de entrada/salida entre servicios en el clúster y desde un servicio a servicios externos. Los servidores proxy forman una malla de microservicios segura que proporciona un amplio conjunto de funciones como descubrimiento, enrutamiento de capa 7 enriquecido, disyuntores, aplicación de políticas y funciones de registro/información de telemetría.
Nota: La malla de servicios no es una red superpuesta. Simplifica y mejora la forma en que los microservicios de una aplicación se comunican entre sí a través de la red proporcionada por la plataforma subyacente.
Istiod : el plano de control de Istio. Proporciona descubrimiento de servicios, configuración y gestión de certificados. Consta de los siguientes subcomponentes:
Piloto : responsable de configurar los servidores proxy en tiempo de ejecución.
Citadel : responsable de la emisión y rotación de certificados.
Galera : responsable de validar, ingerir, agregar, transformar y distribuir la configuración dentro de Istio.
Operador : el componente proporciona opciones fáciles de usar para operar la malla de servicios de Istio.
El proyecto Istio se divide en algunos repositorios de GitHub:
istio/api. Este repositorio define API a nivel de componente y formatos de configuración comunes para la plataforma Istio.
istio/comunidad. Este repositorio contiene información sobre la comunidad Istio, incluidos los diversos documentos que rigen el proyecto de código abierto Istio.
istio/istio. Este es el repositorio de código principal. Alberga los componentes principales de Istio, instala artefactos y programas de muestra. Incluye:
istioctl. Este directorio contiene código para la utilidad de línea de comando istioctl .
piloto. Este directorio contiene código específico de la plataforma para completar el modelo de servicio abstracto, reconfigurar dinámicamente los servidores proxy cuando cambia la topología de la aplicación y traducir las reglas de enrutamiento a una configuración específica del proxy.
seguridad. Este directorio contiene código relacionado con la seguridad, incluido Citadel (que actúa como autoridad de certificación), agente de Citadel, etc.
istio/proxy. El proxy Istio contiene extensiones del proxy Envoy (en forma de filtros Envoy) que admiten autenticación, autorización y recopilación de telemetría.
istio/ztunnel. El repositorio contiene la implementación Rust del componente ztunnel de Ambient mesh.
istio/cliente-go. Este repositorio define clientes Kubernetes generados automáticamente para interactuar con los recursos de Istio mediante programación.
Nota
Solo los repositorios istio/api
e istio/client-go
exponen interfaces estables destinadas a uso directo como bibliotecas.
Usamos GitHub para rastrear todos nuestros errores y solicitudes de funciones. Cada problema que rastreamos tiene una variedad de metadatos:
Épico . Una epopeya representa un área característica para Istio en su conjunto. Las epopeyas tienen un alcance bastante amplio y son básicamente cosas a nivel de producto. Cada número es, en última instancia, parte de una epopeya.
Hito . A cada problema se le asigna un hito. Esto es 0.1, 0.2,..., o 'Futuro Nebuloso'. El hito indica cuándo creemos que se debe abordar el problema.
Prioridad . Cada tema tiene una prioridad que está representada por la columna en el proyecto de Priorización. La prioridad puede ser P0, P1, P2 o >P2. La prioridad indica qué tan importante es abordar el problema dentro del hito. P0 dice que el hito no se puede considerar alcanzado si el problema no se resuelve.
Istio es un proyecto de Cloud Native Computing Foundation.