IP Address Management API – Übersicht

Die IPAM-API (IP Address Management) verwendet benutzerdefinierte Kubernetes-Ressourcen und basiert auf dem Kubernetes-Ressourcenmodell (Kubernetes Resource Model, KRM). Es verwaltet die Zuweisung von IP-Adressen in einer Google Distributed Cloud (GDC)-Bereitstellung mit Air Gap.

Wenn Sie die IPAM API verwenden möchten, empfehlen wir, die gcloud CLI zu verwenden oder die API direkt mit der kubectl CLI aufzurufen. Wenn Ihre Anwendung Ihre eigenen Bibliotheken zum Aufrufen dieser API verwenden muss, verwenden Sie die folgenden Beispiele und die vollständigen API-Definitionen, um Ihre Anfragen zu erstellen:

Dienstendpunkt und Discovery-Dokument

Die IPAM-APIs werden je nach zonaler oder globaler Bereitstellung in zwei Paketen bereitgestellt.

Die API-Endpunkte für die zonalen und globalen IPAM-APIs sind die folgenden:

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

Die Variable MANAGEMENT_API_SERVER_ENDPOINT ist der Endpunkt des Management API-Servers.

Mit dem Befehl kubectl proxy können Sie in Ihrem Browser oder mit einem Tool wie curl auf diese URL zugreifen, um das Discovery-Dokument für die IPAM API abzurufen. Mit dem Befehl kubectl proxy wird ein Proxy zum Kubernetes API-Server auf Ihrem lokalen Computer geöffnet. Nachdem der Befehl ausgeführt wurde, können Sie über die folgenden URLs auf das Dokument zugreifen:

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

Beispiele für benutzerdefinierte Ressourcen

Das folgende Beispiel zeigt ein zonales Subnet-Objekt:

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

Das folgende Beispiel zeigt ein globales Subnet-Objekt für einen Standard-VPC-Root-CIDR:

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