Antrea는 클러스터 전체 보안 정책, 관찰 가능성, 풍부한 에코시스템 지원을 통한 실시간 트래픽 추적 등 Kubernetes에 주요 이점을 제공합니다.
1.0 릴리스의 주요 이정표를 달성한 Antrea는 새로운 기능을 계속 추가하여 Kubernetes 고유의 네트워킹과 정책 시행의 세분성 및 일관성을 개선합니다. 최신 기능 릴리즈에는 Egress 정책, 클러스터 전체 보안 정책, Prometheus, ELK 및 Octant의 향상된 에코시스템 지원 및 실시간 트래픽 추적 기능이 포함되어 있습니다.
Antrea와의 통합은 다음을 가능하게 합니다.
- Prometheus 서버는 Antrea Controller 및 Agent 구성 요소에 대한 관찰을 제공할 수 있습니다.
- Octant 플러그인은 UI에서 구성 요소를 모니터링하고 패킷을 추적할 수 있습니다.
- ELK 스택은 클러스터 네트워크에 대한 flow map의 시각화를 제공할 수 있습니다.
2019년 11월에 처음 출시된 Project Antrea는 퍼블릭 및 프라이빗 클라우드를 위해 특별히 제작된 Kubernetes 네트워킹 솔루션입니다. 이 제품은 분산형 멀티 레이어 스위칭 성능에 최적화된 오픈 소스 기술인 Open vSwitch를 기반으로 합니다. 단기간에 Project Antrea는 사용자와 파트너 커뮤니티 모두의 기여와 상호 운용성 지원으로 상당한 관심을 끌면서 기능이 풍부해졌습니다.
Project Antrea 1.0의 주요 기능은 무엇입니까?
클러스터 전체의 보안 정책 및 정책 계층화를 지원
인프라 및 운영 관리자는 IT 관리를 광범위하게 담당하며, 기술, 정보 및 데이터의 균형과 함께 Kubernetes 배치 전반에 걸쳐 통합 제어 기능을 구현하고자 합니다. 그러나 사용하는 클러스터에 대한 정책을 정의하려면 개발자가 직접 제어해야 합니다.
Antrea가 컨테이너 네트워킹 인터페이스 역할을 할 때 IT 및 개발자 목표를 모두 달성할 수 있습니다. Antrea를 사용하면 인프라 운영자가 글로벌 정책을 정의하는 동시에 개발자가 특정 클러스터에 대한 정책을 유연하게 정의할 수 있습니다.
표준 Kubernetes 네트워크 정책과 함께 ACNP(Antrea Cluster Network Policy) 및 ANP(Antrea Network Policy) CRD가 베타로 표시됩니다. 기본적으로 실행되며 강력한 보안 기능을 제공합니다. ACNP를 사용하면 클러스터 관리자가 클러스터 전체의 보안 정책을 정의할 수 있습니다. 관리자는 ANP를 사용하여 네임스페이스 내의 정책을 적용하여 Kubernetes 네트워크 정책을 보완할 수 있습니다. 한편 개발자는 앱에 네트워크 정책을 계속 사용할 수 있습니다.
Antrea를 사용하면 보안 정책을 계층으로 그룹화할 수 있습니다. 우선순위가 다양한 여러 계층을 생성할 수 있습니다. 따라서 관리자가 클러스터 레벨 및 네임스페이스 레벨 보안 정책을 정의하고 개발자는 표준 Kubernetes 네트워크 정책을 사용하여 애플리케이션 레벨 보안을 계속 정의할 수 있는 진정한 운영 등급 보안 입장이 가능합니다. Project Antrea를 통해 얻을 수 있는 다른 고유한 가능성은 다음과 같습니다.
- 규칙을 적용할 다른 엔드포인트 집합을 지정하십시오.
- 여러 정책에서 참조할 수 있는 클러스터 그룹을 정의합니다.
- 트래픽 로깅 및 트래픽 통계를 정책 세분화로 구현합니다.
- 액션을 거부합니다.
- 정책 실현 및 확장된 일치 기준을 진단합니다.
Antrea는 각 계층 내에 여러 계층과 정책이 있기 때문에 클러스터와 상호 작용하는 서로 다른 사용자를 인식하여 통제된 순서에 따라 보다 세분화된 정책을 시행할 수 있습니다.
Egress 정책
Project Antrea를 사용하면 포드 송신 트래픽의 송신 노드 및 SNAT IP를 제어할 수 있습니다. 이를 통해 SNAT IP를 계산할 수 있으며, 외부 서비스에서 트래픽 소스를 식별하는 데 사용할 수 있습니다.
관찰 가능성(Observability) 및 진단
Kubernetes 워크로드의 고유한 규모와 역동성은 네트워크 흐름에 대한 가시성을 요구합니다. Antrea는 Pod-to-Pod, Pod-to-Service 및 Pod-to-External의 풍부한 흐름 데이터와 함께 데이터 처리량, 패킷 처리량 및 패킷 수와 같은 관련 통계를 제공하는 Linux conntrack 모듈의 흐름을 모니터링합니다. 노드 이름, 포드 이름 및 네임스페이스 이름과 같은 정보가 흐름 레코드에 추가됩니다. Flow Aggregator를 사용하면 흐름을 소스 노드와 대상 노드 간에 상호 연관시켜 시각화 데이터를 가져올 수 있습니다. 작동 중인 흐름 시각화에 대한 데모를 참조하십시오.
Flow Aggregator 및 Flow Exporter는 IPFix를 사용하여 모든 IPFix 솔루션에서 흐름을 사용할 수 있습니다. 아래 그림은 Antrea를 통해 수집된 흐름 데이터 중 일부를 보여줍니다.
Antrea는 네트워크 진단에 Traceflow를 사용할 수도 있습니다. 즉, Antrea-agent에서 생성된 OVS 흐름에 의해 데이터 평면의 트래픽에 대한 추적 요청을 생성합니다. 또한, 포드 간의 실시간 트래픽을 추적할 수 있습니다. Traceflow는 문제 해결을 위한 강력한 도구이며 흐름 데이터와 결합하면 네트워크 정책, 라우팅 및 캡슐화가 포드 간의 트래픽 성능에 미치는 영향을 확인할 수 있는 풍부한 정보를 제공합니다. CRD 상태를 통해 Traceflow 데이터를 직접 볼 수 있을 뿐만 아니라 Antrea를 Octant 플러그인과 통합하여 추적 그래프를 통해 Traceflow 결과를 볼 수도 있습니다.
써드-파티 에코시스템을 개선
Antrea는 노드 간에 패킷을 전달하도록 오버레이 네트워크를 설정하여 Windows 작업자 노드에서 실행할 수 있도록 지원하고 네트워크 정책을 구현합니다. Host Networking Service(HNS)의 투명(transparent) 모드를 사용하면 컨테이너가 외부 Hyper-V 스위치를 통해 물리적 네트워크에 직접 연결됩니다. 또한 Antrea는 Traceflow 지원을 윈도우즈 노드까지 확장합니다. Linux 및 Windows 노드용 Traceflow 기능과 Antrea-native 정책을 보여주는 비디오 데모를 시청하십시오.
Project Antrea의 목표 중 하나는 사내 클라우드와 퍼블릭 클라우드를 포함하여 Kubernetes가 실행하는 모든 곳에서 실행할 수 있는 것입니다. Antrea는 AWS EKS 클러스터, Azure AKS 클러스터 및 Google GKE 클러스터에서도 실행할 수 있습니다.
릴리스 1.0부터 arm/v7 및 arm64 아키텍처 모두에 대한 Antrea Docker 이미지를 사용할 수 있습니다.
Encap 모드 및 암호화를 오버레이
Project Antrea는 다양한 오버레이 캡슐화 모드를 지원하며 GRE, GENVE, VXLAN 및 STT 터널 유형을 포함합니다. Encap 모드는 기본적으로 사용하도록 설정됩니다. 노드 간의 포드 트래픽이 캡슐화되어 선택한 터널 유형을 통해 전송됩니다. 캡슐화가 필요하지 않거나 이중 캡슐화가 필요하지 않은 경우 Antrea는 noEncap 모드를 허용합니다. 이 경우 Antrea는 노드 네트워크를 사용하여 트래픽을 라우팅합니다. 또한 Project Antrea에서는 소스 및 대상 노드가 동일한 서브넷에 있을 때 포드 트래픽이 캡슐화되지 않는 하이브리드 모드도 사용할 수 있습니다. 또한 Project Antrea는 훨씬 안전한 노드 트래픽 통신을 위해 터널 트래픽 암호화를 지원합니다.
Project Antrea 릴리스 1.0은 유연하고 확장 가능하며 민첩한 Kubernetes 네트워크 및 보안 인프라에 대한 요구사항을 충족하는 강력한 CNI입니다. Antrea는 대부분의 통신 작업 부하에 필수적인 IPv4 및 IPv6/이중 스택 트래픽을 모두 지원합니다. 기능이 풍부하고 제작이 가능한 CNI로서 Antrea를 사용해 볼 수 있는 최적의 시기입니다.
- 홈페이지 : https://antrea.io/
- GitHub : https://github.com/antrea-io/antrea
출처 : https://blogs.vmware.com/opensource/2021/04/15/its-here-project-antrea-1-0/