포드의 다중 네트워크 지원 정보


이 페이지에서는 사용 사례, 관련 개념, 용어, 이점을 포함하여 포드에 대한 다중 네트워크 지원을 설명합니다.

개요

Google Cloud는 가상 머신(VM) 인스턴스 수준에서 여러 네트워크 인터페이스를 지원합니다. 기본 네트워크에 7개의 추가 네트워크를 더하여 최대 8개의 네트워크에 여러 네트워크 인터페이스로 VM을 연결할 수 있습니다.

Google Kubernetes Engine(GKE) 네트워킹은 노드에서 실행되는 포드로 다중 네트워크 기능을 확장합니다. 포드에 대한 다중 네트워크 지원을 통해 GKE 클러스터의 노드 및 포드에 여러 인터페이스를 사용 설정할 수 있습니다. 포드에 대한 다중 네트워크 지원은 노드 풀의 단일 인터페이스 제한을 제거하여, 노드를 네트워킹을 위한 단일 VPC로 제한했습니다.

GKE에서 사용 가능한 네트워크 서비스인 Network Function Optimizer(NFO)는 다중 네트워크 지원, 영구 IP 주소, 고성능 Kubernetes 네이티브 데이터 영역을 제공합니다. NFO는 GKE에서 컨테이너화된 네트워크 기능을 구현합니다. 다중 네트워크는 NFO의 기본 요소 중 하나입니다.

포드 및 노드에 대한 다중 네트워크 지원을 사용하려면 포드에 대한 다중 네트워크 지원 설정을 참조하세요.

용어 및 개념

이 페이지에서는 다음 개념을 사용합니다.

기본 VPC: 기본 VPC는 기본 설정 및 리소스 집합과 함께 제공되는 사전 구성된 VPC입니다. GKE 클러스터는 이 VPC에 생성됩니다. 사전 구성된 VPC를 삭제하면 기본 VPC에 GKE 클러스터가 생성됩니다.

서브넷: Google Cloud에서 서브넷은 VPC에서 넷마스크를 사용하여 클래스 없는 도메인 간 라우팅(CIDR)을 만드는 방법입니다. 서브넷에는 노드에 할당되는 단일 기본 IP 주소 범위가 있으며 포드 및 서비스에 속할 수 있는 여러 보조 범위가 있을 수 있습니다.

노드 네트워크: 노드 네트워크는 VPC와 서브넷 쌍의 전용 조합을 나타냅니다. 이 노드 네트워크 내에서 노드 풀에 속하는 노드에는 기본 IP 주소 범위의 IP 주소가 할당됩니다.

보조 범위: Google Cloud 보조 범위는 서브넷에 속하는 CIDR 및 넷마스크입니다. GKE는 이를 레이어 3 포드 네트워크로 사용합니다. 포드는 여러 포드 네트워크에 연결할 수 있습니다.

포드 네트워크: 포드의 연결 지점 역할을 하는 네트워크 객체입니다. 연결은 Layer 3 유형 또는 Device 유형일 수 있습니다. netdevice 또는 데이터 영역 개발 키트(DPDK) 모드에서 Device 유형 네트워크를 구성할 수 있습니다.

Layer 3 네트워크는 서브넷의 보조 범위에 해당합니다. Device 네트워크는 VPC의 서브넷에 해당합니다. GKE 다중 네트워크에서 포드 네트워크의 데이터 모델은 다음과 같습니다.

  • Layer 3 네트워크: VPC -> 서브넷 이름 -> 보조 범위 이름

  • Device 네트워크: VPC -> 서브넷 이름

기본 포드 네트워크: Google Cloud는 클러스터 생성 중 기본 포드 네트워크를 만듭니다. 기본 포드 네트워크는 기본 VPC를 노드 네트워크로 사용합니다. 기본 포드 네트워크는 기본적으로 모든 클러스터 노드 및 포드에서 사용할 수 있습니다.

여러 인터페이스가 있는 포드: 포드의 여러 인터페이스는 동일한 포드 네트워크에 연결할 수 없습니다.

다음 다이어그램은 Layer 3 네트워크를 사용하는 일반적인 GKE 클러스터 아키텍처를 보여줍니다.

다중 네트워크 클러스터

netdevice 또는 DPDK 모드로 구성할 수 있는 Device 유형 네트워크의 경우 VM vNIC가 리소스로 관리되고 포드로 전달됩니다. 이 경우 포드 네트워크가 노드 네트워크에 직접 매핑됩니다. Device 유형 네트워크에는 보조 범위가 필요하지 않습니다.

포드 및 노드 네트워크

사용 사례

포드에 대한 다중 네트워크 지원은 다음 사용 사례를 다룹니다.

  • 컨테이너화된 네트워크 함수 배포: 별도의 데이터 및 관리 영역이 있는 컨테이너에서 네트워크 함수를 실행하는 경우입니다. 포드에 대한 다중 네트워크는 여러 사용자 영역에 대해 네트워크를 격리하고, 특정 인터페이스에서 고성능, 낮은 지연 시간 또는 네트워크 수준 멀티테넌시를 격리합니다. 이는 규정 준수, QoS, 보안을 위해 필요합니다.
  • 동일한 조직 및 프로젝트 내에서 VPC 연결: VPC에 GKE 클러스터를 만들고 다른 VPC의 서비스에 연결해야 하는 경우입니다. 직접 연결에 멀티 NIC 노드 옵션을 사용할 수 있습니다. 이는 허브 VPC 내에서 중앙화된 서비스(로깅, 인증)가 작동하고, 스포크에 액세스하려면 비공개 연결이 필요한 허브 및 스포크 모델 때문일 수 있습니다. 포드에 대한 다중 네트워크 지원을 사용하여 GKE 클러스터에서 실행되는 포드를 허브 VPC에 직접 연결할 수 있습니다.
  • VFIO로 DPDK 애플리케이션 실행: VFIO 드라이버를 통해 노드의 NIC에 액세스해야 하는 DPDK 애플리케이션을 실행하려는 경우입니다. 커널, Kubernetes, GKE Dataplane V2를 완전히 우회하여 최적의 패킷 속도를 얻을 수 있습니다.
  • Kubernetes 및 GKE Dataplane V2를 우회하는 vNIC에 직접 액세스 사용 설정: 노드에서 네트워크 인터페이스 카드(NIC)에 직접 액세스해야 하는 컨테이너에서 네트워크 함수를 실행합니다. 지연 시간을 단축하기 위해 Kubernetes 및 GKE Dataplane V2를 우회하려는 고성능 컴퓨팅(HPC) 애플리케이션이 그 예에 해당합니다. 또한 일부 애플리케이션은 GPU 등의 다른 기기와 공동 배치될 수 있도록 NIC의 PCIe 토폴로지 정보에 액세스해야 합니다.

이점

포드에 대한 다중 네트워크 지원은 다음과 같은 이점을 제공합니다.

  • 트래픽 격리: 포드에 대한 다중 네트워크 지원을 통해 GKE 클러스터에서 트래픽을 격리할 수 있습니다. 다중 네트워크 인터페이스로 포드를 만들어 특정 Cloud Native Functions(CNF)를 실행하는 포드 내에서 관리 및 데이터 영역과 같은 기능에 따라 트래픽을 분리할 수 있습니다.
  • 이중 호밍: 이중 호밍을 사용하면 포드가 다중 인터페이스를 포함하고 트래픽을 다른 VPC로 라우팅할 수 있기 때문에 포드가 기본 및 보조 VPC와 모두 연결을 설정할 수 있습니다. 한 VPC에 문제가 발생하면 애플리케이션을 보조 VPC로 대체할 수 있습니다.
  • 네트워크 세분화: 포드는 워크로드 요구사항에 따라 내부 또는 외부 네트워크에 연결할 수 있습니다. 워크로드의 특정 요구사항에 따라 각 네트워크에 연결할 포드 또는 포드 그룹을 선택할 수 있습니다. 예를 들어 east-west 통신에 내부 네트워크를 사용하고 인터넷에 액세스하기 위해 외부 네트워크를 사용할 수 있습니다. 이를 통해 구체적인 요구사항에 맞게 워크로드의 네트워크 연결을 조정할 수 있습니다.
  • DPDK를 사용한 최적의 성능: GKE의 포드에 대한 다중 네트워크 지원을 통해 DPDK 애플리케이션을 GKE 포드에서 실행할 수 있으므로 최적의 패킷 처리 성능을 제공합니다.
  • 포드에서 직접 사용 가능한 호스트 NIC: 다중 네트워크를 사용하는 netdevice 모드 NIC 지원은 Kubernetes 및 GKE Dataplane V2를 우회하여 VM NIC를 포드에 직접 전달합니다. 이렇게 하면 기기 간 공동작업의 지연 시간을 최소화할 수 있습니다.
  • 성능: 애플리케이션 성능을 높이기 위해 애플리케이션의 요구사항에 가장 적합한 네트워크에 애플리케이션을 연결할 수 있습니다.

다음 단계