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