Prepara la configuración de Traffic Director

La configuración de Traffic Director tiene estas fases:

  1. Otorgar permisos y habilitar la API de Traffic Director
  2. Implementar tus aplicaciones con proxies Envoy
  3. Crear servicios y reglas de enrutamiento que determinan cómo viaja el tráfico a través de la malla de servicios.

En este documento, se describe cómo realizar la primera fase. La segunda y tercera fase se proporcionan en las guías específicas de cada plataforma para lo siguiente:

Antes de leer esta guía, familiarízate con la descripción general conceptual de Traffic Director.

Requisitos previos

Si planeas usar Traffic Director para configurar los proxies de Envoy que se ejecutan junto con las aplicaciones en máquinas virtuales, contenedores o una combinación de ambos, primero debes completar las siguientes tareas:

  1. Habilita la facturación.
  2. Decide cómo deseas instalar Envoy.
  3. Otorga los permisos necesarios.
  4. Habilita la API de Traffic Director para tu proyecto.
  5. Asegúrate de que la cuenta de servicio que usan los proxies de Envoy tenga los permisos suficientes para acceder a la API de Traffic Director.

En las siguientes secciones, se proporcionan instrucciones para cada tarea.

Habilitar facturación

Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Para obtener más información, consulta Habilita, inhabilita o cambia la facturación de un proyecto.

Decide cómo instalar Envoy

Traffic Director facilita la instalación de proxies de Envoy y la administración de esta capa de infraestructura.

  • En Compute Engine, puedes agregar Envoy a las aplicaciones que se ejecutan en tus VM de forma automática. Usas una plantilla de VM que instala Envoy, la conecta a Traffic Director y configura las herramientas de red de tu VM.

  • En GKE, puedes agregar de forma automática proxies de sidecar de Envoy a los Pods de tus servicios. Instalarás un inyector de archivo adicional de Envoy en tu clúster, que agrega proxies de sidecar de Envoy, los conecta al Traffic Director y configura las redes de tu contenedor.

Por último, también puedes usar las soluciones de implementación de Envoy de proveedores externos con Traffic Director. Un ejemplo de esta oferta es GetEnvoy, que proporciona un enfoque basado en administrador de paquetes para instalar y actualizar los proxies de Envoy.

Acerca de las versiones de Envoy

Se debe contar con la versión 1.9.1 de Envoy o una posterior para que funcione con Traffic Director. Además, recomendamos usar siempre la versión más reciente de Envoy para garantizar que se mitiguen todas las vulnerabilidades de seguridad conocidas.

Si decides implementar Envoy con uno de nuestros métodos automatizados, nosotros nos encargamos de esta tarea de la siguiente manera:

  • Cuando usas la implementación automatizada de Envoy con las VM de Compute Engine, la versión de Envoy instalada es una que validamos para trabajar con Traffic Director. Cuando se crea una VM nueva con la plantilla de instancias, esta recibe la versión más reciente que validamos. Si tienes una VM de larga duración, puedes usar una actualización progresiva para reemplazar las VM existentes y aplicar la última versión.
  • Cuando usas el inyector de sidecar de Envoy con GKE, el inyector de configuración está configurado para usar una versión reciente de Envoy que hemos validado para trabajar con Traffic Director. Cuando se inserta un sidecar junto con el Pod de carga de trabajo, recibe esta versión de Envoy. Si deseas elegir una versión más reciente de Envoy, actualiza el inyector de sidecar de Envoy.

Para obtener información sobre las versiones específicas de Envoy, consulta Historial de versiones. Para obtener más información sobre las vulnerabilidades de seguridad, consulta Asesores de seguridad.

Otorga los permisos de IAM necesarios

Debes tener permisos suficientes para crear instancias de VM y modificar una red a fin de configurar Traffic Director. Si tienes la función de propietario o editor en el proyecto en el que habilitarás Traffic Director, obtendrás todos los permisos correctos automáticamente.

De lo contrario, debes tener todas las siguientes funciones de IAM de Compute Engine. Si tienes estas funciones, también tienes sus permisos asociados, como se describe en la documentación de IAM de Compute Engine.

Tarea Función requerida
Configurar la política de administración de identidades y accesos (IAM) para una cuenta de servicio Administrador de cuenta de servicio
Obtener el recurso de regla de reenvío global Visualizador de la red de Compute
Habilitar Traffic Director Administrador de Service Usage
Crear redes, subredes y componentes del balanceador de cargas Administrador de redes
Agregar y quitar reglas de firewall Administrador de seguridad
Crea instancias Administrador de instancias de procesamiento

Además, el grupo de nodos de GKE o las VM de Compute Engine deben tener el permiso https://www.googleapis.com/auth/cloud-platform.

Habilita la API de Traffic Director

Console

  1. En Cloud Console, ve a API y servicios del proyecto.
    Ir a la página Biblioteca de API
  2. Para buscar la API de Traffic Director, usa el campo de búsqueda. Si no ves la API de Traffic Director, significa que no tienes los permisos necesarios para habilitarla.
  3. Haz clic en la API de Traffic Director.
  4. En la página que muestra la información de la API, haz clic en Habilitar.

gcloud

gcloud services enable trafficdirector.googleapis.com

Habilita la cuenta de servicio para acceder a la API de Traffic Director

Cuando configuras el plano de datos y lo conectas a Traffic Director, los clientes xDS (por ejemplo, los proxies de Envoy) se conectan al servidor trafficdirector.googleapis.com de xDS. Estos clientes de xDS presentan una identidad de cuenta de servicio al servidor de xDS a fin de garantizar que la comunicación entre el plano de datos y el plano de control estén autorizadas de manera adecuada:

  • En el caso de una VM de Compute Engine, el cliente xDS usa la cuenta de servicio asignada a la VM.
  • En el caso de GKE, si Workload Identity no está habilitada, el cliente xDS usa la cuenta de servicio asignada al nodo de GKE subyacente.
  • Si Workload Identity está habilitada, el cliente xDS usa la cuenta de servicio de Google vinculada a la cuenta de servicio de Kubernetes asignada al pod.

Necesitas los siguientes permisos, según la versión del cliente xDS que uses para configurar Envoy. Te recomendamos que configures tus nuevas implementaciones de Envoy con xDS v3 o que migres a xDS v3 si tienes una implementación existente que usa xDS v2.

  • Cuando usas xDS v3, la cuenta de servicio que usan tus clientes debe tener los permisos trafficdirector.networks.reportMetrics y trafficdirector.networks.getConfigs. Puedes usar la función de IAM trafficdirector.client, que une ambos permisos.
  • Cuando uses xDS v2, la cuenta de servicio que usan tus clientes debe tener el permiso de IAM a nivel de proyecto compute.globalForwardingRules.get. También puedes asignar la función compute.networkViewer a la cuenta de servicio para otorgar este permiso.

Console

  1. Ve a la página IAM y administración en Cloud Console.

    Ir a la página IAM y administración

  2. Selecciona tu proyecto.

  3. Identifica la cuenta de servicio a la que le quieres agregar una función.

    • Si la cuenta de servicio no se encuentra aún en la lista de miembros, no tiene ninguna función asignada. Haz clic en Agregar y, luego, ingresa la dirección de correo electrónico de la cuenta de servicio.
    • Si la cuenta de servicio ya se encuentra en la lista de miembros es porque tiene funciones existentes. Selecciona la cuenta de servicio y haz clic en la pestaña Funciones.
  4. Haz clic en el botón Editar de la cuenta de servicio que deseas editar.

  5. Selecciona la función Otro > Cliente de Traffic Director.

  6. Haz clic en Guardar para aplicar la función a la cuenta de servicio.

gcloud

Reemplaza la variable ${SERVICE_ACCOUNT_EMAIL} con el valor correcto.

PROJECT=`gcloud config get-value project`
gcloud projects add-iam-policy-binding ${PROJECT} \
--member serviceAccount:${SERVICE_ACCOUNT_EMAIL} \
--role roles/trafficdirector.client

Continúa el proceso de configuración

Ahora que completaste los pasos de requisitos previos, puedes comenzar a configurar tu malla de servicios. En las siguientes guías, se proporcionan instrucciones específicas de la plataforma para Compute Engine y GKE:

Ten en cuenta que, si bien estas guías se enfocan en implementar proxies de sidecar de Envoy en una sola plataforma de Compute (ya sea Compute Engine o GKE), Traffic Director es flexible y admite implementaciones que abarcan Compute Engine y GKE.