Descripción general de la API de gestión de direcciones IP

La API de gestión de direcciones IP (IPAM) usa recursos personalizados de Kubernetes y se basa en el modelo de recursos de Kubernetes (KRM). Gestiona la asignación de direcciones IP en una implementación con air gap de Google Distributed Cloud (GDC).

Para usar la API IPAM, te recomendamos que utilices la CLI de gdcloud o que llames a la API directamente con la CLI de kubectl. Si tu aplicación necesita usar tus propias bibliotecas para llamar a esta API, utiliza los siguientes ejemplos y las definiciones completas de la API para crear tus solicitudes:

Punto de conexión de servicio y documento de descubrimiento

Las APIs de IPAM se proporcionan en dos paquetes, según la implementación zonal o global.

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

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

La variable MANAGEMENT_API_SERVER_ENDPOINT es el endpoint del servidor de la API Management.

Con el comando kubectl proxy, puedes acceder a esa URL en tu navegador o con una herramienta como curl para obtener el documento de descubrimiento de la API IPAM. El comando kubectl proxy abre un proxy al servidor de la API de Kubernetes en tu máquina local. Una vez que se haya ejecutado ese comando, podrás acceder al documento en las siguientes URLs:

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

Ejemplo de recursos personalizados

A continuación, se muestra un ejemplo de un objeto Subnet zonal:

apiVersion: ipam.gdc.goog/v1
kind: Subnet
metadata:
  labels:
    ipam.gdc.goog/overlay-network-type: External
    ipam.gdc.goog/category-type: ExternalOverlayNetwork
  name: test-subnet
  namespace: root
spec:
  type: Root
  ipv4Request:
    cidr: 10.0.0.0/16
  networkSpec:
    staticVLANID: 100
    enableVLANID: true
    enableGateway: true

A continuación se muestra un ejemplo de un objeto Subnet global para un CIDR raíz de VPC predeterminado:

apiVersion: ipam.global.gdc.goog/v1
kind: Subnet
metadata:
  labels:
    ipam.gdc.goog/vpc: default-vpc
    ipam.gdc.goog/usage: network-root-range
  name: default-vpc-root-cidr
  namespace: platform
spec:
  ipv4Request:
    cidr: 10.200.0.0/23
  type: Root