IP 주소 관리 (IPAM) API는 Kubernetes 커스텀 리소스를 사용하고 Kubernetes 리소스 모델 (KRM)을 기반으로 합니다. Google Distributed Cloud (GDC) 에어 갭 배포 전반에서 IP 주소 할당을 관리합니다.
IPAM API를 사용하려면 gdcloud CLI를 사용하거나 kubectl
CLI를 사용하여 API를 직접 호출하는 것이 좋습니다. 애플리케이션에서 자체 라이브러리를 사용하여 이 API를 호출해야 한다면 다음 예와 전체 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
변수는 관리 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