Visão geral da API IP Address Management

A API IP Address Management (IPAM) usa recursos personalizados do Kubernetes e depende do modelo de recursos do Kubernetes (KRM). Ele gerencia a alocação de endereços IP em uma implantação com isolamento físico do Google Distributed Cloud (GDC).

Para usar a API IPAM, recomendamos que você use a CLI gdcloud ou chame a API diretamente usando a CLI kubectl. Se o aplicativo precisar usar suas próprias bibliotecas para chamar essa API, use os exemplos a seguir e as definições completas da API para criar suas solicitações:

Endpoint de serviço e documento de descoberta

As APIs IPAM são fornecidas em dois pacotes, dependendo da implantação zonal ou global.

Os endpoints das APIs IPAM zonal e global são os seguintes, respectivamente:

  • https://MANAGEMENT_API_SERVER_ENDPOINT/apis/ipam.gdc.goog/v1
  • https://MANAGEMENT_API_SERVER_ENDPOINT/apis/ipam.global.gdc.goog/v1

A variável MANAGEMENT_API_SERVER_ENDPOINT é o endpoint do servidor da API Management.

Usando o comando kubectl proxy, acesse esse URL no navegador ou com uma ferramenta como curl para receber o documento de descoberta da API IPAM. O comando kubectl proxy abre um proxy para o servidor da API Kubernetes na máquina local. Depois que esse comando estiver em execução, acesse o documento nos seguintes URLs:

  • http://127.0.0.1:8001/apis/ipam.gdc.goog/v1
  • http://127.0.0.1:8001/apis/ipam.global.gdc.goog/v1

Exemplo de recursos personalizados

Confira um exemplo de objeto Subnet zonal:

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

Confira um exemplo de objeto Subnet global para um CIDR raiz da VPC padrão:

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