IP 位址管理 (IPAM) API 使用 Kubernetes 自訂資源,並依賴 Kubernetes 資源模型 (KRM)。可管理 Google Distributed Cloud (GDC) 實體隔離部署作業的 IP 位址分配。
如要使用 IPAM API,建議使用 gdcloud CLI,或使用 kubectl
CLI 直接呼叫 API。如果您的應用程式需要使用自己的程式庫呼叫這項 API,請使用下列範例和完整的 API 定義來建構要求:
服務端點和探索文件
IPAM API 分為兩個套件,分別適用於區域部署或全域部署。
區域和全域 IPAM API 的 API 端點分別如下:
https://MANAGEMENT_API_SERVER_ENDPOINT/apis/ipam.gdc.goog/v1
https://MANAGEMENT_API_SERVER_ENDPOINT/apis/ipam.global.gdc.goog/v1
MANAGEMENT_API_SERVER_ENDPOINT
變數是 Management API 伺服器的端點。
您可以使用 kubectl proxy
指令,在瀏覽器中存取該網址,或使用 curl
等工具取得 IPAM API 的探索文件。kubectl proxy
指令會在您的本機電腦上開啟 Kubernetes API 伺服器的 Proxy。執行該指令後,您可以在下列網址存取文件:
http://127.0.0.1:8001/apis/ipam.gdc.goog/v1
http://127.0.0.1:8001/apis/ipam.global.gdc.goog/v1
自訂資源範例
以下是區域 Subnet
物件的範例:
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
以下是預設 VPC 根 CIDR 的全域 Subnet
物件範例:
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