Descripción general de la API de IP Address Management

La API de IP Address Management (IPAM) usa recursos personalizados de Kubernetes y se basa en el modelo de recursos de Kubernetes (KRM). Administra la asignación de direcciones IP en una implementación aislada de Google Distributed Cloud (GDC).

Para usar la API de IPAM, te recomendamos que uses 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, usa los siguientes ejemplos y las definiciones completas de la API para compilar tus solicitudes:

Extremo de servicio y documento de descubrimiento

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

Los extremos 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 extremo del servidor de la API de 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 de IPAM. El comando kubectl proxy abre un proxy al servidor de la API de Kubernetes en tu máquina local. Después de ejecutar ese 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