IP アドレス管理 API の概要

IP アドレス管理(IPAM)API は Kubernetes カスタム リソースを使用し、Kubernetes Resource Model(KRM)に依存します。Google Distributed Cloud(GDC)エアギャップ デプロイ全体で IP アドレスの割り当てを管理します。

IPAM API を使用するには、gdcloud CLI を使用するか、kubectl CLI を使用して API を直接呼び出すことをおすすめします。アプリケーションで独自のライブラリを使用してこの API を呼び出す必要がある場合は、次の例と完全な API 定義を使用してリクエストを作成します。

サービス エンドポイントとディスカバリ ドキュメント

IPAM API は、ゾーン デプロイまたはグローバル デプロイに応じて 2 つのパッケージで提供されます。

ゾーン 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 などのツールでその URL にアクセスして、IPAM API のディスカバリ ドキュメントを取得できます。kubectl proxy コマンドは、ローカルマシンの Kubernetes API サーバーへのプロキシを開きます。このコマンドを実行すると、次の URL でドキュメントにアクセスできます。

  • 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