Descripción general de la API Networking

La API Networking usa recursos personalizados de Kubernetes y se basa en el modelo de recursos de Kubernetes (KRM).

Crea y gestiona redes en Google Distributed Cloud (GDC) aisladas mediante la API Networking con la CLI kubectl.

Esta API se puede usar para gestionar la mayoría de los recursos de redes de Distributed Cloud. Para gestionar el balanceo de carga de los clústeres estándar, usa el objeto Service de Kubernetes de tipo LoadBalancer directamente en el clúster, tal como se describe en los artículos Configurar balanceadores de carga internos y Configurar balanceadores de carga externos.

Endpoint de servicio

Las APIs de redes se proporcionan en dos paquetes en función de la implementación zonal o global.

Los endpoints de las APIs de redes zonales y globales son los siguientes, respectivamente:

  • https://MANAGEMENT_API_SERVER_ENDPOINT/apis/networking.gdc.goog/v1
  • https://MANAGEMENT_API_SERVER_ENDPOINT/apis/networking.global.gdc.goog/v1

Sustituye MANAGEMENT_API_SERVER_ENDPOINT por el endpoint del servidor de la API Management.

Documento de descubrimiento

Usa el comando kubectl proxy --port=8001 para abrir un proxy al servidor de la API en tu máquina local. Desde ahí, puedes acceder al documento de descubrimiento en las siguientes URLs:

  • http://127.0.0.1:8001/apis/networking.gdc.goog/v1
  • http://127.0.0.1:8001/apis/networking.global.gdc.goog/v1

Ejemplo de política de tráfico entre proyectos de entrada

A continuación, se muestra un ejemplo de un objeto ProjectNetworkPolicy que permite que las cargas de trabajo del proyecto project-1 permitan conexiones de cargas de trabajo del proyecto project-2, así como el tráfico de retorno de los mismos flujos:

apiVersion: networking.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: project-1
  name: allow-ingress-traffic-from-project-2
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - projects:
        matchNames:
        - project-2