En esta página se proporcionan instrucciones para configurar políticas de red de tráfico entre proyectos en el dispositivo air-gapped de Google Distributed Cloud (GDC).
El tráfico entre proyectos hace referencia a la comunicación entre servicios y cargas de trabajo de diferentes espacios de nombres de proyectos, pero dentro de la misma organización.
Los servicios y las cargas de trabajo de un proyecto están aislados de los servicios y las cargas de trabajo externos de forma predeterminada. Sin embargo, los servicios y las cargas de trabajo de diferentes espacios de nombres de proyectos y de la misma organización pueden comunicarse entre sí aplicando políticas de red de tráfico entre proyectos.
Antes de empezar
Para configurar políticas de red de tráfico dentro de un proyecto, debes tener lo siguiente:
- Los roles de identidad y acceso necesarios. Para obtener más información, consulta Preparar roles y acceso predefinidos.
- Un proyecto que ya tengas. Para obtener más información, consulta Crear un proyecto.
Crear una política de tráfico entre proyectos
Puedes definir políticas de tráfico entre proyectos de entrada o salida para gestionar la comunicación entre proyectos.
Crear una regla de cortafuegos de entrada para el tráfico entre proyectos
Para que las cargas de trabajo o los servicios de un proyecto permitan las conexiones de otras cargas de trabajo de otro proyecto, debes configurar una regla de cortafuegos de entrada que permita el tráfico entrante de otras cargas de trabajo del proyecto.
Sigue estos pasos para crear una regla de cortafuegos y permitir el tráfico entrante de cargas de trabajo de otro proyecto:
Consola
- En la consola de GDC del proyecto que estés configurando, ve a Redes > Firewall en el menú de navegación para abrir la página Firewall.
- Haga clic en Crear en la barra de acciones para empezar a crear una regla de cortafuegos.
En la página Detalles de regla de cortafuegos, rellena la siguiente información:
- En el campo Nombre, introduce un nombre válido para la regla de cortafuegos.
- En la sección Dirección del tráfico, selecciona Entrada para permitir el tráfico entrante de cargas de trabajo de otros proyectos.
- En la sección Objetivo, seleccione una de las siguientes opciones:
- Todas las cargas de trabajo de los usuarios: permite las conexiones a las cargas de trabajo del proyecto que estás configurando.
- Servicio: indica que esta regla de cortafuegos está dirigida a un servicio específico del proyecto que estás configurando.
- Si tu objetivo es un servicio de proyecto, selecciona el nombre del servicio en la lista de servicios disponibles del menú desplegable Servicio.
- En la sección De, seleccione una de las dos opciones siguientes:
- Todos los proyectos: permite las conexiones de las cargas de trabajo de todos los proyectos.
- Otro proyecto y Todas las cargas de trabajo de los usuarios: permiten conexiones de cargas de trabajo de otro proyecto.
- Si solo quieres transferir cargas de trabajo de otro proyecto, selecciona un proyecto al que tengas acceso en la lista del menú desplegable ID de proyecto.
- Si tu objetivo son todas las cargas de trabajo de los usuarios, selecciona una de las siguientes opciones en la sección Protocolos y puertos:
- Permitir todo: permite las conexiones mediante cualquier protocolo o puerto.
- Protocolos y puertos especificados: permite las conexiones que usen solo los protocolos y puertos que especifiques en los campos correspondientes de la regla de cortafuegos de entrada.
En la página Detalles de la regla de cortafuegos, haz clic en Crear.
Ahora has permitido las conexiones de otras cargas de trabajo del proyecto. Una vez creada la regla de cortafuegos, se mostrará en una tabla de la página Cortafuegos.
API
La siguiente política permite que las cargas de trabajo del proyecto PROJECT_1
permitan las conexiones de las cargas de trabajo del proyecto PROJECT_2
, así como el tráfico de retorno de los mismos flujos. Aplica la política:
kubectl --kubeconfig API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
namespace: PROJECT_1
name: allow-inbound-traffic-from-PROJECT_2
spec:
policyType: Ingress
subject:
subjectType: UserWorkload
ingress:
- from:
- projectSelector:
projects:
matchNames:
- PROJECT_2
EOF
Sustituye API_SERVER
por la ruta kubeconfig del servidor de la API.
Si aún no has generado un archivo kubeconfig para el servidor de la API, consulta Iniciar sesión para obtener más información.
El comando anterior permite que PROJECT_2
vaya a PROJECT_1
, pero no permite las conexiones iniciadas desde PROJECT_1
a PROJECT_2
. Para
este último, necesitas una política recíproca en el proyecto PROJECT_2
. Aplica la política recíproca:
kubectl --kubeconfig API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
namespace: PROJECT_2
name: allow-inbound-traffic-from-PROJECT_1
spec:
policyType: Ingress
subject:
subjectType: UserWorkload
ingress:
- from:
- projectSelector:
projects:
matchNames:
- PROJECT_1
EOF
Ahora se permiten las conexiones hacia y desde PROJECT_1
y PROJECT_2
.