Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado.

Istio

Rancher-Istio ha quedado obsoleto desde Rancher v2.12.0; recurran a la SUSE Application Collection de Istio para una mayor seguridad (incluida en las suscripciones de SUSE Rancher Prime). Se puede encontrar información detallada en este anuncio.

Istio es una herramienta de código abierto que facilita a los equipos de DevOps observar, asegurar, controlar y solucionar problemas del tráfico dentro de una red compleja de microservicios.

A medida que una red de microservicios cambia y crece, las interacciones entre ellos pueden volverse cada vez más difíciles de gestionar y entender. En tal situación, es útil tener una malla de servicios como una capa de infraestructura separada. La malla de servicios de Istio te permite manipular el tráfico entre microservicios sin cambiar directamente los microservicios.

Nuestra integración de Istio está diseñada para que un operador de Rancher, como un administrador o propietario de clúster, pueda entregar Istio a un equipo de desarrolladores. Luego, los desarrolladores pueden usar Istio para hacer cumplir políticas de seguridad, solucionar problemas o gestionar el tráfico para implementaciones green/blue, implementaciones canarias o pruebas A/B.

Esta malla de servicios central proporciona características que incluyen, pero no se limitan a lo siguiente:

  • Gestión de Tráfico como enrutamiento de entrada y salida, ruptura de circuitos, espejado.

  • Seguridad con recursos para autenticar y autorizar el tráfico y los usuarios, incluyendo mTLS.

  • Observabilidad de registros, métricas y flujos de tráfico distribuidos.

Después de configurar istio, puedes aprovechar la funcionalidad del plano de control de Istio a través de la interfaz de usuario de Rancher, kubectl, o istioctl.

Istio necesita ser configurado por un cluster-admin antes de que pueda ser utilizado en un proyecto.

Novedades en Rancher v2.5

La arquitectura general de Istio ha sido simplificada. Se ha creado un único componente, Istiod, combinando Pilot, Citadel, Galley y el inyector de sidecar. La funcionalidad del Agente de Nodo también se ha fusionado en istio-agent.

Los complementos que anteriormente eran instalados por Istio (cert-manager, Grafana, Jaeger, Kiali, Prometheus, Zipkin) ahora necesitarán ser instalados por separado. Istio soportará la instalación de integraciones que provengan del Proyecto Istio y mantendrá la compatibilidad con aquellas que no lo sean.

Una integración de Prometheus seguirá estando disponible a través de una instalación de Rancher Monitoring, o instalando tu propio operador de Prometheus. El gráfico de Istio de Rancher también instalará Kiali por defecto para asegurar que puedas obtener una visión completa de tus microservicios desde el primer momento.

Istio ha migrado de Helm como forma de instalar Istio y ahora proporciona instalación a través del binario istioctl o Istio Operator. Para asegurar la interacción más fácil con Istio, el Istio de Rancher mantendrá un gráfico de Helm que utiliza el binario istioctl para gestionar tu instalación de Istio.

Este gráfico de Helm estará disponible a través de las Aplicaciones y el Mercado en la interfaz de usuario. Un usuario que tenga acceso al catálogo de charts de Rancher necesitará configurar Istio antes de que se pueda utilizar en el proyecto.

Herramientas incluidas con Istio

Nuestro instalador de Istio envuelve los comandos binarios de istioctl en un práctico gráfico de Helm, incluyendo una opción de archivo de superposición para permitir una personalización compleja.

También incluye lo siguiente:

Kiali

Kiali es una herramienta de visualización integral utilizada para graficar el flujo de tráfico a través de la malla de servicios. Permite ver cómo están conectados, incluyendo las tasas de tráfico y las latencias entre ellos.

Puedes comprobar la salud de la malla de servicios, o profundizar para ver las solicitudes entrantes y salientes a un solo componente.

Para las instalaciones de Istio 103.1.0+up1.19.6 y posteriores, Kiali utiliza un valor de token para su estrategia de autenticación. El nombre de la cuenta de servicio de Kiali en Rancher es kiali. Utiliza este nombre si estás escribiendo comandos que requieren que ingreses el nombre de la cuenta de servicio de Kiali (por ejemplo, si estás intentando generar o recuperar un token de sesión). Para más información, consulta la FAQ de autenticación de token de Kiali.

Jaeger

Nuestro instalador de Istio incluye una instalación de inicio rápido y All-in-One de Jaeger,, una herramienta utilizada para rastrear sistemas distribuidos.

Ten en cuenta que este despliegue no está calificado para producción de Jaeger. Este despliegue utiliza un componente de almacenamiento en memoria, mientras que se recomienda un componente de almacenamiento persistente para producción. Para más información sobre qué estrategia de despliegue puedes necesitar, consulta la documentación de Jaeger.

Requisitos previos

Antes de habilitar Istio, te recomendamos que confirmes que tus nodos de trabajo de Rancher tienen suficiente CPU y memoria para ejecutar todos los componentes de Istio.

Si estás instalando Istio en un clúster RKE2, se requieren algunos pasos adicionales. Para más detalles, consulta esta sección.

Guía de configuración

Consulta la guía de configuración para obtener instrucciones sobre cómo configurar Istio y utilizarlo en un proyecto.

Eliminar Istio

Para eliminar componentes de Istio de un clúster, espacio de nombres o carga de trabajo, consulta la sección sobre desinstalación de Istio.

Accediendo a Visualizaciones

Por defecto, solo los administradores del clúster tienen acceso a Kiali. Para instrucciones sobre cómo permitir que los roles de administrador, editor o visualizador accedan a ellos, consulta esta sección.

Para instalaciones de Istio versión 103.1.0+up1.19.6 y posteriores, Kiali utiliza un valor de token para su estrategia de autenticación. El nombre de la cuenta de servicio de Kiali en Rancher es kiali. Utiliza este nombre si estás escribiendo comandos que requieren que ingreses el nombre de la cuenta de servicio de Kiali (por ejemplo, si estás intentando generar o recuperar un token de sesión). Para más información, consulta la FAQ de autenticación de token de Kiali.

Después de que Istio esté configurado en un clúster, Grafana, Prometheus y Kiali están disponibles en la interfaz de usuario de Rancher.

Para acceder a las visualizaciones de Grafana y Prometheus,

  1. En la esquina superior izquierda, haz clic en ☰ > Gestión de Clústeres.

  2. En la página Clústeres, ve al clúster donde deseas ver las visualizaciones y haz clic en Explorar.

  3. En la barra de navegación izquierda, haz clic en Monitorización.

  4. Haz clic en Grafana o en cualquiera de los otros paneles.

Para acceder a la visualización de Kiali,

  1. En la esquina superior izquierda, haz clic en ☰ > Gestión de Clústeres.

  2. En la página Clústeres, ve al clúster donde deseas ver Kiali y haz clic en Explorar.

  3. En la barra de navegación izquierda, haz clic en Istio.

  4. Haz clic en Kiali. Desde aquí puedes acceder a la pestaña Gráfico de Tráfico o a la pestaña Métricas de Tráfico para ver visualizaciones y métricas de red.

Por defecto, todos los espacios de nombres serán detectados por Prometheus y los datos estarán disponibles para los gráficos de Kiali. Consulta configuración de selector/scrape si deseas utilizar una configuración diferente para la recolección de datos de Prometheus.

Tu acceso a las visualizaciones depende de tu rol. Grafana y Prometheus solo están disponibles para roles de cluster-admin. La interfaz de usuario de Kiali está disponible solo para cluster-admin por defecto, pero cluster-admin puede permitir que otros roles accedan a ella editando el archivo values.yaml de Istio.

Arquitectura

Istio instala una malla de servicios que utiliza proxies sidecar Envoy para interceptar el tráfico hacia cada carga de trabajo. Estos sidecars interceptan y gestionan la comunicación de servicio a servicio, permitiendo una observación y control detallados sobre el tráfico dentro del clúster.

Solo las cargas de trabajo que tienen el sidecar de Istio inyectado pueden ser rastreadas y controladas por Istio.

Cuando un espacio de nombres tiene Istio habilitado, las nuevas cargas de trabajo desplegadas en el espacio de nombres tendrán automáticamente el sidecar de Istio. Necesitas habilitar manualmente Istio en las cargas de trabajo preexistentes.

Para más información sobre el sidecar de Istio, consulta la documentación sobre la inyección de sidecar de Istio y para más información sobre la arquitectura de Istio, consulta la documentación sobre la arquitectura de Istio.

Múltiples Ingresses

Por defecto, cada clúster provisionado por Rancher tiene un controlador de ingreso NGINX que permite el tráfico hacia el clúster. Istio también instala un gateway de ingreso por defecto en el espacio de nombres istio-system. El resultado es que tu clúster tendrá dos Ingress en tu clúster.

En un clúster habilitado para Istio

Se pueden habilitar gateways de ingreso adicionales de Istio a través del archivo de superposición.

Soporte de Egress

Por defecto, el gateway de Egress está deshabilitado, pero se puede habilitar en la instalación o actualización a través del values.yaml o mediante el archivo de superposición.

Pasos adicionales para instalar Istio en un clúster SUSE® Rancher Prime: RKE2

Para instalar Istio en un clúster RKE2, sigue los pasos en esta sección.

Actualizando Istio en un entorno aislado

La política de seguridad de pods de Istio ahora está habilitada por defecto. Se ha añadido un nuevo valor, installer.releaseMirror.enabled, al chart rancher-istio para habilitar y deshabilitar el servidor que soporta actualizaciones en entornos aislados. Ten en cuenta que installer.releaseMirror.enabled está configurado en false por defecto. Puedes establecer este valor según sea necesario al instalar o actualizar. Siga los pasos que se indican a continuación:

  1. Provisiona una instancia de Rancher en un entorno aislado y un clúster personalizado en un entorno aislado en la interfaz de usuario de Rancher.

  2. Instala Monitoring en el clúster: Cluster Explorer -> Apps & Marketplace -> Charts -> Monitoring.

  3. Descarga todas las imágenes necesarias para Istio en el registro privado que utilizarás en el entorno aislado.

  4. Instala Istio en el clúster: Cluster Explorer -> Apps & Marketplace -> Charts -> Istio.

Puedes habilitar Jaeger y Kiali en una instalación nueva de Istio. Para asegurar que Jaeger y Kiali funcionen, establece installer.releaseMirror.enabled en true en values.yaml durante la instalación.

  1. Actualiza la instalación de Istio.

Si aún no lo has hecho, establece installer.releaseMirror.enabled=true para actualizar versión de Istio.