Panoramica dell'API IP Address Management

L'API IP Address Management (IPAM) utilizza risorse personalizzate di Kubernetes e si basa sul modello di risorse Kubernetes (KRM). Gestisce l'allocazione degli indirizzi IP in un deployment con air gap di Google Distributed Cloud (GDC).

Per utilizzare l'API IPAM, ti consigliamo di utilizzare gcloud CLI o chiamare l'API direttamente utilizzando l'interfaccia a riga di comando kubectl. Se la tua applicazione deve utilizzare le tue librerie per chiamare questa API, utilizza gli esempi seguenti e le definizioni complete dell'API per creare le tue richieste:

Endpoint di servizio e documento di rilevamento

Le API IPAM sono fornite in due pacchetti a seconda del deployment zonale o globale.

Gli endpoint API per le API IPAM zonali e globali sono i seguenti, rispettivamente:

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

La variabile MANAGEMENT_API_SERVER_ENDPOINT è l'endpoint del server dell'API Management.

Utilizzando il comando kubectl proxy, puoi accedere a questo URL nel browser o con uno strumento come curl per ottenere il documento di rilevamento per l'API IPAM. Il comando kubectl proxy apre un proxy al server API Kubernetes sulla tua macchina locale. Una volta eseguito il comando, puoi accedere al documento ai seguenti URL:

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

Esempio di risorse personalizzate

Di seguito è riportato un esempio di oggetto Subnet zonale:

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

Di seguito è riportato un esempio di oggetto Subnet globale per un CIDR root VPC predefinito:

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