Dataplane V2
Dataplan V2는 Kubernetes 네트워킹에 최적화된 GKE 및 GKE 클러스터의 데이터 영역입니다. 이 페이지에서는 Dataplane V2의 기능과 작동 방식을 간략히 설명합니다.
소개
Dataplane V2는 다음과 같은 기능을 제공합니다.
- GKE 및 모든 GKE 클러스터 환경에서 네트워킹의 일관된 사용자 환경. Dataplan V2를 지원하는 환경에 대한 자세한 내용은 Dataplan V2의 가용성을 참조하세요.
- 실시간 네트워크 활동 확인
- 클러스터를 더 쉽게 관리하고 문제를 해결할 수 있는 보다 단순한 아키텍처
Dataplane V2는 eBPF 및 Linux 노드를 기반으로 하며 Kubernetes 관련 메타데이터를 사용하여 커널의 네트워크 패킷을 유연하고 효율적으로 처리합니다.
Dataplane V2의 이점
보안
Kubernetes 네트워크 정책은 Dataplane V2가 있는 클러스터에서 항상 켜져 있습니다. 네트워크 정책을 시행하기 위해 Calico와 같은 서드 파티 소프트웨어 부가기능을 설치하고 관리할 필요가 없습니다.
확장성
Dataplane V2는 대형 클러스터에서 라우팅을 개선하도록 설계되었습니다. kube-proxy 또는 iptable은 사용되지 않습니다.
운영
Dataplane V2를 사용하여 클러스터를 만들면 네트워크 정책 로깅이 기본 제공됩니다. 포드 객체에서 연결이 허용 및 거부되는 경우를 확인하려면 클러스터에서 로깅 CRD를 구성합니다.
일관성
Dataplane V2를 사용할 수 있으며 GKE 및 다른 GKE 클러스터 환경에서 동일한 기능을 제공합니다. 자세한 내용은 Dataplane V2의 가용성을 참조하세요.
Dataplane V2 작동 방식
패킷이 노드에 도달하면 커널에 설치된 eBPF 프로그램에서 패킷을 라우팅하고 처리하는 방법을 결정합니다. iptable을 사용한 패킷 처리와 달리 eBPF 프로그램은 패킷에 Kubernetes 관련 메타데이터를 사용할 수 있습니다. 따라서 Dataplan V2는 커널에서 네트워크 패킷을 효율적으로 처리하고 로깅을 위해 주석 처리된 작업을 사용자 공간에 보고합니다. 다음 다이어그램은 Dataplane V2를 사용하는 노드를 통한 패킷 경로를 보여줍니다.
노드의 Dataplan V2 컨트롤러를 anetd
라고 합니다. anetd
는 각 노드에 DaemonSet로 배포되며 Kubernetes 객체를 해석하고 eBPF에서 네트워크 토폴로지를 프로그래밍해야 합니다. anetd
컨트롤러는 서비스 라우팅 kube-proxy 및 kube-system 네임스페이스에서 수행되는 라우팅을 바꿉니다.
GKE 클러스터의 Dataplane V2는 오버레이 네트워크 모드로 실행됩니다. 이 모드에서 모든 클러스터 노드는 Geneve 캡슐화 프로토콜을 사용해서 터널 메시를 형성합니다. 모든 컨테이너 간 네트워크 트래픽은 이러한 터널을 통해 라우팅됩니다. 이 모델의 주요 장점은 클러스터 노드가 기본 Azure 네트워크 구성을 인식할 필요가 없다는 것입니다.
다음 단계
- GKE Multi-cloud에서 네트워크 정책 구성
- 네트워크 정책 로깅을 사용하여 클러스터의 네트워크 정책으로 포드 연결이 허용 또는 거부되는 시간 기록