Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Istio on GKE

Istio on GKE es un módulo adicional para GKE que le permite crear rápidamente un clúster con todos los componentes que necesita para crear y ejecutar una malla de servicios de Istio en un solo paso. Una vez instalado, los componentes del plano de control de Istio se mantienen actualizados automáticamente. Esto significa que no deberá preocuparse por realizar actualizaciones a nuevas versiones. También puede usar el complemento para instalar Istio en un clúster existente.

¿Qué es Istio?

Istio es una malla de servicios abierta que proporciona una manera uniforme de conectar, administrar y proteger los microservicios. Admite la administración de flujos de tráfico entre servicios, la aplicación de políticas de acceso y la agregación de datos de telemetría, sin necesidad de realizar cambios en el código del microservicio.

Istio te brinda los siguientes beneficios:

  • Balanceo de cargas automático para tráfico HTTP, gRPC, WebSocket, MongoDB y TCP
  • Control detallado del comportamiento del tráfico con reglas de enrutamiento enriquecidas, reintentos, inyección de errores y conmutación por error
  • Una capa configurable de política y API que admite controles de acceso, límites de frecuencia y cuotas
  • Métricas, registros y seguimientos automáticos para todo el tráfico de un clúster, incluidos el ingreso y la salida de él
  • Comunicación segura entre servicios en un clúster con autenticación y autorización basadas en identidad sólida

Puedes configurar el control de acceso de Istio y las reglas de enrutamiento, entre otros aspectos, con una API de Kubernetes personalizada, ya sea a través de kubectl o la herramienta de línea de comandos de Istio istioctl, que proporciona validación adicional.

Consulta nuestra descripción general y lee la documentación completa de código abierto en istio.io para encontrar mucha más información sobre Istio.

¿Qué es Istio on GKE?

Istio on GKE es una herramienta que proporciona instalación y actualización automatizadas de Istio en tu clúster de GKE. Cuando actualizas GKE, el complemento se actualiza de forma automática a la versión más reciente de Istio compatible con GKE. Esto te permite administrar con facilidad la instalación y actualización de Istio como parte del ciclo de vida del clúster de GKE.

Es importante tener en cuenta que, cuando usas Istio on GKE, Istio se ejecuta en tu clúster. Los componentes de Istio que se ejecutan en el clúster no están cubiertos por ningún Acuerdo de Nivel de Servicio (ANS).

¿Debo usar Istio on GKE?

Si bien Istio on GKE administra la instalación y las actualizaciones, utiliza las opciones de instalación predeterminadas para el plano de control que limitan las opciones de configuración. Debido a estas limitaciones y al estado beta del producto, no se recomienda que los clientes usen este complemento en entornos de producción. Anthos Service Mesh o la versión de código abierto de Istio son mejores opciones para las cargas de trabajo de producción.

Entre las limitaciones del complemento, se incluyen las siguientes:

  • La versión de Istio instalada depende de la versión de GKE, por lo que no podrás actualizarlas por separado.

  • Existen limitaciones significativas con respecto a la configuración del plano de control. Debes conocerlas antes de usar el complemento Istio on GKE en entornos de producción.

Si necesitas usar una versión de código abierto más reciente de Istio o deseas tener un mayor control sobre la configuración de tu plano de control de Istio (lo que puede suceder en algunos casos de uso de producción), te recomendamos que uses la versión de código abierto de Istio en lugar del complemento Istio on GKE.

Si ya no quieres usar nuestra función de instalación automática por algún motivo, puedes desinstalar el complemento. Descubre cómo hacerlo en Desinstalar Istio on GKE.

¿Qué se instala?

Cuando creas o actualizas un clúster con Istio on GKE, se instalan los siguientes componentes principales de Istio:

  • Piloto , que es responsable del descubrimiento de servicios y la configuración de losEnvoy proxies de sidecar para administrar la malla de serviciostráfico.
  • Los componentes Mixer de Istio-Policy y de Istio-Telemetry que realizan una aplicación forzosa de las políticas de uso y recopilan datos de telemetría a través de la malla de servicios
  • La puerta de enlace de entrada de Istio, que proporciona un punto de entrada para el tráfico desde fuera del clúster.
  • Solo en versiones 1.0 de Istio, la puerta de enlace de salida de la plataforma, que permite que sus funciones, como la supervisión y las reglas de enrutamiento, se apliquen al tráfico que sale de la malla. La puerta de enlace de salida de Istio no se instala de forma predeterminada en la versión 1.1 y las versiones posteriores
  • Istio-Citadel, que automatiza la administración de claves y certificados para Istio
  • Galley, que proporciona servicios de administración de configuración para Istio

La instalación también te permite agregar el proxy de sidecar de Istio a tus cargas de trabajo de servicio, lo que les permite comunicarse con el plano de control y unirse a la malla de Istio.

Puedes obtener más información sobre la instalación y la desinstalación del complemento y las opciones de instalación en Instalar Istio on GKE.

Compatibilidad con Cloud Monitoring

En el caso de los clústeres que tienen habilitado Google Kubernetes Engine Monitoring, el adaptador de Stackdriver para Istio se instala junto con los componentes principales descritos anteriormente. El adaptador puede enviar datos de métricas, registros y seguimientos desde tu malla a Cloud Logging, Cloud Monitoring o Cloud Trace, lo que brinda observabilidad del comportamiento de tus servicios en Google Cloud Console. Una vez que habilites una función específica de Cloud Logging, Cloud Monitoring o Cloud Trace en tu proyecto y clúster, los datos correspondientes se enviarán desde tu malla de forma predeterminada. Ten en cuenta que el complemento Istio on GKE establece de forma automática los permisos de acceso en el grupo de nodos del clúster para Cloud Monitoring, Logging y Trace.

Supervisión

Si está habilitada la API de Cloud Monitoring en tu proyecto de Google Cloud, la malla de Istio enviará automáticamente a Monitoring las métricas relacionadas con tus servicios (como la cantidad de bytes que recibe un servicio en particular), y aparecerán en el Explorador de métricas. Puedes usar estas métricas para crear paneles y alertas personalizados que te permiten supervisar tus servicios con el paso del tiempo y recibir alertas cuando, por ejemplo, un servicio se está acercando a una cantidad específica de solicitudes. También puedes combinar estas métricas con filtros y agregaciones mediante las métricas integradas de Monitoring para obtener estadísticas nuevas sobre el comportamiento de tu servicio.

Para consultar las métricas de un recurso supervisado mediante el Explorador de métricas, haz lo siguiente:

  1. En Google Cloud Console, ve a Monitoring o usa el siguiente botón:
    Ir a Monitoring
  2. En el panel de navegación de Monitoring, haz clic en  Explorador de métricas.
  3. Ingresa el nombre del recurso supervisado en el cuadro de texto Find resource type and metric.

Para obtener una lista completa de las métricas de Istio, consulta la documentación de Cloud Monitoring.

Logging

Si está habilitada la API de Cloud Logging en tu proyecto de Google Cloud, la malla de Istio enviará los registros a Logging automáticamente, y aparecerán en el Visor de registros. Consulta la documentación de Cloud Logging para obtener más información sobre lo que puedes hacer con los datos de registros, como exportarlos a BigQuery.

Seguimiento

Puedes habilitar Cloud Trace para que tu malla de Istio envíe automáticamente los datos de seguimientos a Cloud Trace y aparezcan en el visor de seguimientos. Ten en cuenta que, a fin de aprovechar al máximo el seguimiento distribuido para ayudar a detectar cuellos de botella en el rendimiento, deberás modificar las cargas de trabajo a fin de lograr la instrumentación de los encabezados de seguimiento. Descubre cómo hacerlo en la guía sobre seguimiento distribuido de Istio.

¿Cómo funciona el proceso de actualización?

El ciclo de vida de Istio se administra como parte del proceso de actualización de GKE. En GKE, hay dos procesos de actualización:

  • Actualización de la instancia principal: El proceso de actualización de la instancia principal es automático y actualiza los componentes del plano de control de Kubernetes (servidor de API, programador, administrador del controlador, etc.) en el nodo principal, así como los complementos. La actualización de los componentes del plano de control de Istio se administra como parte de este proceso.
  • Actualización de los nodos: El proceso de actualización de los nodos puede ser automático (se debe habilitar, pero es la opción recomendada) o manual, que actualiza los componentes de Kubernetes en los nodos trabajadores para que se sincronicen con la misma versión del nodo principal. La actualización del proxy de sidecar de Istio se administra como parte de este proceso.

Istio on GKE actualiza de forma automática el plano de control a una versión estable reciente (pero no necesariamente la más nueva). La versión se selecciona según la estabilidad y el rendimiento observados en las implementaciones de código abierto durante un período. Las actualizaciones de versiones se anuncian con anticipación en el grupo istio-gke-announce. En general, las actualizaciones de versiones se lanzan de forma gradual en todas las versiones de GKE durante un período de dos o más semanas, comenzando con la versión más reciente.

Las versiones del plano de control se prueban para garantizar la retrocompatibilidad con las últimas dos versiones anteriores del plano de datos (proxy de sidecar). Una vez que hayas actualizado el clúster de GKE, te recomendamos que actualices los proxies de sidecar a la versión actual del plano de control lo antes posible, ya sea mediante el reinicio de los Pods (con la inyección automática habilitada) o la reinyección manual de la versión adecuada.

Istio on GKE no permite que el usuario controle la versión del plano de control.

Modifica la configuración del plano de control

Debido a que Istio on GKE controla cómo se instala y actualiza tu plano de control, no te permite editar la mayoría de las opciones de configuración del plano de control que se proporcionan en nuestra instalación. Puedes ver las opciones de instalación predeterminadas en los manifiestos de tu versión de Istio on GKE (el manifiesto que se aplica depende del modo mTLS y la configuración de Cloud Logging, Cloud Monitoring o Cloud Trace que hayas elegido). Por ejemplo, puedes encontrar las opciones de instalación de la versión 1.0.3-gke.3 en la consola en storage/browser/gke-release/istio/release/1.0.3-gke.3/manifests/. El administrador del complemento de Kubernetes revertirá cualquier modificación que realices en estas opciones, excepto las especificadas a continuación. Las opciones no editables se revierten cada minuto.

Estas son las opciones que puedes configurar cuando usas el complemento. Además, se recomienda hacerlo en instalaciones de producción.

  • Escalamiento horizontal para componentes del plano de control, ya sea mediante el ajuste de escala automático o configurando de forma manual la cantidad de réplicas
  • Solicitudes de recursos para contenedores del plano de control
  • Presupuestos de interrupción de Pods para las implementaciones que deben mantenerse disponibles durante las actualizaciones, como la puerta de enlace de entrada de Istio proporcionada

Descubre cómo establecer esta configuración en Configurar el plano de control.

En cada caso, la configuración que especifiques se conservará cuando el complemento actualice tu instalación.

Próximos pasos