IP Address Management API 개요

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