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/v1
https://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/v1
http://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