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/v1https://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/v1http://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