Présentation de l'API IP Address Management

L'API IP Address Management (IPAM) utilise des ressources personnalisées Kubernetes et s'appuie sur le modèle de ressources Kubernetes (KRM). Il gère l'attribution d'adresses IP dans un déploiement Google Distributed Cloud (GDC) sous air gap.

Pour utiliser l'API IPAM, nous vous recommandons d'utiliser la gdcloud CLI ou d'appeler l'API directement à l'aide de la CLI kubectl. Si votre application doit utiliser vos propres bibliothèques pour appeler cette API, utilisez les exemples suivants et les définitions complètes de l'API pour créer vos requêtes :

Point de terminaison du service et document de découverte

Les API IPAM sont fournies dans deux packages en fonction du déploiement zonal ou global.

Les points de terminaison de l'API pour les API IPAM zonales et globales sont les suivants :

  • 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 correspond au point de terminaison du serveur de l'API Management.

À l'aide de la commande kubectl proxy, vous pouvez accéder à cette URL dans votre navigateur ou avec un outil tel que curl pour obtenir le document de découverte de l'API IPAM. La commande kubectl proxy ouvre un proxy vers le serveur d'API Kubernetes sur votre machine locale. Une fois cette commande exécutée, vous pouvez accéder au document aux URL suivantes :

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

Exemples de ressources personnalisées

Voici un exemple d'objet 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

Voici un exemple d'objet Subnet global pour un CIDR racine VPC par défaut :

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