A API IP Address Management (IPAM) usa recursos personalizados do Kubernetes e baseia-se no modelo de recursos do Kubernetes (KRM). Gerir a atribuição de endereços IP numa implementação isolada do Google Distributed Cloud (GDC).
Para usar a API IPAM, recomendamos que use a CLI gdcloud ou chame a API diretamente através da CLI kubectl. Se a sua aplicação precisar de usar
as suas próprias bibliotecas para chamar esta API, use os exemplos seguintes e as
definições completas da API para criar os seus pedidos:
Ponto final do serviço e documento de descoberta
As APIs IPAM são fornecidas em dois pacotes, consoante a implementação zonal ou global.
Os pontos finais da API para as APIs IPAM zonais e globais são os seguintes, respetivamente:
https://MANAGEMENT_API_SERVER_ENDPOINT/apis/ipam.gdc.goog/v1https://MANAGEMENT_API_SERVER_ENDPOINT/apis/ipam.global.gdc.goog/v1
A variável MANAGEMENT_API_SERVER_ENDPOINT
é o ponto final do servidor da API Management.
Com o comando kubectl proxy, pode aceder a esse URL no seu navegador ou com uma ferramenta como curl para obter o documento de descoberta da API IPAM.
O comando kubectl proxy abre um proxy para o servidor da API Kubernetes na sua máquina local. Depois de executar esse comando, pode aceder ao documento nos seguintes URLs:
http://127.0.0.1:8001/apis/ipam.gdc.goog/v1http://127.0.0.1:8001/apis/ipam.global.gdc.goog/v1
Exemplos de recursos personalizados
Segue-se um exemplo de um 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
Segue-se um exemplo de um objeto Subnet global para um CIDR raiz de VPC predefinido:
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