IP 地址管理 (IPAM) API 使用 Kubernetes 自定义资源,并依赖于 Kubernetes 资源模型 (KRM)。它用于管理整个 Google Distributed Cloud (GDC) 经过网闸隔离的部署中的 IP 地址分配。
如需使用 IPAM API,我们建议您使用 gdcloud CLI,或使用 kubectl
CLI 直接调用该 API。如果您的应用需要使用您自己的库来调用此 API,请使用以下示例和完整的 API 定义来构建请求:
服务端点和发现文档
IPAM 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 服务器的代理。运行该命令后,您可以通过以下网址访问文档:
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