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 de Google Distributed Cloud (GDC) con air gap.

Para usar la API IPAM, te recomendamos que uses la CLI 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:

Endpoint de servicio y documento de descubrimiento

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

Los endpoints de la API para las APIs 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 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 el comando, puedes 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

Ejemplos 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