네트워킹 API 개요

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

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

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

서비스 엔드포인트

Networking API는 영역 배포 또는 전역 배포에 따라 두 가지 패키지로 제공됩니다.

영역 및 전역 Networking 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를 Management 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