네트워킹 API 개요

네트워킹 API는 Kubernetes 커스텀 리소스를 사용하고 Kubernetes 리소스 모델 (KRM)을 사용합니다.

kubectl CLI를 사용하여 네트워킹 API를 통해 Google Distributed Cloud (GDC) 에어갭에서 네트워킹을 만들고 관리합니다.

이 API는 Distributed Cloud에서 대부분의 네트워킹 리소스를 관리하는 데 사용할 수 있습니다. 표준 클러스터의 부하 분산을 관리하려면 내부 부하 분산기 구성외부 부하 분산기 구성에 설명된 대로 클러스터에서 직접 LoadBalancer 유형의 Kubernetes Service 객체를 사용합니다.

서비스 엔드포인트

네트워킹 API는 영역 배포 또는 전역 배포에 따라 두 패키지로 제공됩니다.

영역 및 전역 네트워킹 API의 API 엔드포인트는 각각 다음과 같습니다.

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

MANAGEMENT_API_SERVER_ENDPOINT을 관리 API 서버의 엔드포인트로 바꿉니다.

검색 문서

kubectl proxy --port=8001 명령어를 사용하여 로컬 머신에서 API 서버로의 프록시를 엽니다. 여기에서 다음 URL을 통해 검색 문서에 액세스할 수 있습니다.

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

인그레스 교차 프로젝트 트래픽 정책 예시

다음은 project-1 프로젝트의 워크로드가 project-2 프로젝트의 워크로드로부터의 연결과 동일한 흐름의 반환 트래픽을 허용하도록 하는 ProjectNetworkPolicy 객체의 예입니다.

apiVersion: networking.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: project-1
  name: allow-ingress-traffic-from-project-2
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - projects:
        matchNames:
        - project-2