IP Address Management API – Übersicht

Die IP Address Management (IPAM) API verwendet benutzerdefinierte Kubernetes-Ressourcen und basiert auf dem Kubernetes-Ressourcenmodell (Kubernetes Resource Model, KRM). Sie verwaltet die IP-Adressenzuweisung in einer Google Distributed Cloud (GDC)-Bereitstellung ohne Internetverbindung.

Wenn Sie die IPAM API verwenden möchten, empfehlen wir Ihnen, die gdcloud CLI zu verwenden oder die API direkt mit der kubectl CLI aufzurufen. Wenn Ihre Anwendung diese API mit Ihren eigenen Bibliotheken aufrufen 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 zonenbasierter oder globaler Bereitstellung in zwei Paketen bereitgestellt.

Die API-Endpunkte für die zonenbasierte und globale IPAM API sind jeweils 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. Der Befehl kubectl proxy öffnet einen Proxy zum Kubernetes API-Server auf Ihrem lokalen Computer. Nachdem der Befehl ausgeführt wurde, können Sie unter den 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

Beispiel für benutzerdefinierte Ressourcen

Im Folgenden finden Sie ein Beispiel für ein zonenbasiertes 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

Im Folgenden finden Sie ein Beispiel für ein globales Subnet-Objekt für eine standardmäßige 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