IP 位址管理 API 總覽

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