View a markdown version of this page

Amazon EKS Hybrid Nodes 게이트웨이 - Amazon EKS

이 페이지 개선에 도움 주기

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.

Amazon EKS Hybrid Nodes 게이트웨이

Amazon EKS Hybrid Nodes 게이트웨이는 Amazon EKS 클러스터 VPC 및 EKS Hybrid Nodes에서 실행되는 Kubernetes 포드 간 네트워킹을 자동화합니다. 게이트웨이를 사용하면 VPC에서 온프레미스 포드 네트워크에 라우팅 가능하게 하거나 네트워크 인프라 변경 내용을 조정할 필요가 없습니다. 이를 통해 VPC의 EC2 기반 게이트웨이 노드와 온프레미스 환경의 Cilium 관리형 하이브리드 노드 사이에서 VXLAN 터널을 생성하고, 트래픽이 올바른 게이트웨이 인스턴스에 도달하도록 VPC 라우팅 테이블 항목을 자동으로 유지 관리합니다.

사용 사례

Hybrid Nodes 게이트웨이는 VPC 및 온프레미스 환경 사이에서 다음과 같은 트래픽 흐름을 활성화합니다.

  • 컨트롤 플레인 및 웹후크 간 통신 - Kubernetes API 서버는 하이브리드 노드에서 실행되는 웹후크 엔드포인트에 도달할 수 있습니다. 게이트웨이가 없으면 온프레미스 환경에서 포드 CIDR을 라우팅 가능하게 하지 않는 한, 컨트롤 플레인에서 하이브리드 노드의 웹후크에 도달할 수 없습니다.

  • 클라우드 및 온프레미스에서 포드 간 트래픽 - VPC의 EC2 노드에서 실행되는 포드는 하이브리드 노드에서 실행되는 포드와 직접 통신할 수 있으며, 그 반대의 경우도 마찬가지입니다.

  • 하이브리드 포드에 대한 AWS 서비스 연결 - Application Load Balancer, Network Load Balancer, Amazon Managed Service for Prometheus와 같은 AWS 서비스는 하이브리드 노드에서 실행되는 포드에 도달할 수 있습니다.

아키텍처

두 개의 게이트웨이 포드가 레이블이 지정된 EC2 노드에서 배포로 실행됩니다. Kubernetes 리스 기반 리더 선정을 통해 활성 포드가 결정됩니다. 두 포드 모두 시작 시 VXLAN 인터페이스를 생성하고 CiliumNode 객체를 감시하는 노드 조정기를 실행하므로, 대기 포드는 장애 조치 시 항상 3~5초 이내에 트래픽을 전달할 준비가 됩니다. 리더십 변경 시 리더별 작업(VPC 라우팅 테이블 업데이트 및 CiliumVTEPConfig 관리)만 이전됩니다.

작동 방식

Hybrid Nodes 게이트웨이는 다음과 같이 네 가지 메커니즘을 사용하여 연결을 활성화합니다.

VXLAN 터널링 - 게이트웨이는 UDP 포트 8472(Cilium 기본값)에서 VNI 2를 사용하여 VXLAN 인터페이스(hybrid_vxlan0)를 생성합니다. 그리고 VXLAN 인터페이스에서 FDB 항목, ARP 항목 및 경로를 프로그래밍하여 각 하이브리드 노드에 대한 터널을 설정합니다. 노드 컨트롤러는 CiliumNode 객체를 감시하고 하이브리드 노드가 클러스터에 조인하거나 클러스터에서 나갈 때 터널을 자동으로 추가하거나 제거합니다.

VPC 라우팅 테이블 관리 - 게이트웨이가 리더가 되면 지정된 VPC 라우팅 테이블에서 경로를 생성하거나 대체합니다. 각 경로는 하이브리드 포드 CIDR을 리더의 프라이머리 ENI로 가리키므로 하이브리드 포드로 향하는 VPC 트래픽은 활성 게이트웨이 인스턴스로 전달됩니다.

Cilium VTEP 통합 - 게이트웨이는 하이브리드 노드의 Cilium 에이전트에 VPC 바운드 트래픽을 전송할 위치를 알려주는 CiliumVTEPConfig 사용자 지정 리소스를 생성합니다. 구성에는 리더의 노드 IP가 터널 엔드포인트 및 VXLAN 인터페이스 MAC 주소로 포함됩니다. 하이브리드 포드가 VPC 주소로 트래픽을 전송하면 Cilium은 이를 VXLAN 패킷에 캡슐화하고 게이트웨이로 전송합니다.

리더 선정 - 게이트웨이는 활성-대기 모델을 기반으로 Kubernetes 리스 기반 리더 선정을 사용합니다. 두 개의 게이트웨이 포드는 포드 비선호도에 의해 적용되는 별도의 노드에서 실행됩니다. 두 포드 모두 시작 시 VXLAN 인터페이스를 생성하고 모든 하이브리드 노드에 대해 VTEP 항목을 유지 관리하는 노드 조정기를 실행합니다. 리더는 VPC 라우팅 테이블 업데이트 및 Cilium VTEP 구성을 수행합니다. 리더에서 장애가 발생하면 대기는 리스 만료를 감지하고 리스를 획득하며 리더 설정 시퀀스를 실행합니다. 예상 장애 조치 시간은 약 3~5초입니다.

배포 모델

Hybrid Nodes 게이트웨이는 VPC의 EC2 인스턴스에서 실행되며 헬름 차트를 사용하여 배포됩니다. 게이트웨이는 다음과 같은 배포 대상을 지원합니다.

  • EKS 자율 모드 - 올바른 레이블, 테인트 및 소스/대상 확인 구성으로 게이트웨이 노드를 자동으로 프로비저닝하는 NodePoolNodeClass를 생성합니다. 이는 권장되는 구성입니다.

  • EKS 관리형 노드 그룹 - 게이트웨이 레이블, 테인트 및 소스/대상 확인이 비활성화된 전용 관리형 노드 그룹을 생성한 다음, 헬름 값에서 autoMode.enabled=false를 설정합니다.

모든 배포 대상의 경우 고가용성을 위해 두 개 이상의 노드를 사용하는 것이 좋습니다. 자세한 내용은 EKS Hybrid Nodes 게이트웨이 시작하기 섹션을 참조하세요.

가격 책정

Amazon EKS Hybrid Nodes 게이트웨이에 대한 추가 요금은 없지만 해당하는 경우 EC2 인스턴스 및 EKS 자율 모드 관리 요금을 포함하여 게이트웨이 실행에 대한 인프라 비용 요금이 부과됩니다. 자세한 내용은 Amazon EKS 요금을 참조하세요.

리전 가용성

Amazon EKS Hybrid Nodes 게이트웨이는 중국 리전을 제외한 EKS Hybrid Nodes를 사용할 수 있는 모든 AWS 리전에서 사용할 수 있습니다. 현재 지원되는 리전 목록은 Amazon EKS Hybrid Nodes 개요 섹션을 참조하세요.

오픈 소스

Amazon EKS Hybrid Nodes 게이트웨이 코드베이스는 오픈 소스입니다. GitHub 리포지토리에서 소스 코드를 보고, 문제를 보고하며, 이에 기여할 수 있습니다.

제한 사항 및 고려 사항

Hybrid Nodes 게이트웨이를 배포하기 전에 다음 사항을 고려합니다.

  • 트래픽 암호화 없음 - 게이트웨이에서 생성한 VXLAN 터널은 트래픽을 암호화하지 않습니다. VPC와 온프레미스 환경 사이에서 전송 중 암호화가 필요한 경우 MACsec 또는 VPN 연결을 사용하는 AWS Direct Connect와 같은 암호화된 전송을 사용합니다. 자세한 내용은 Amazon EKS의 데이터 보호를 참조하세요.

  • 단일 클러스터 - 각 게이트웨이 배포는 단일 EKS 클러스터를 지원합니다. 하이브리드 노드가 있는 클러스터가 여러 개 있는 경우 각 클러스터에 대해 별도의 게이트웨이를 배포합니다.

  • Cilium VTEP가 필요함 - 게이트웨이에는 하이브리드 노드에서 VTEP 지원이 활성화된 Cilium CNI의 EKS 버전이 필요합니다. 다른 CNI 플러그인은 지원되지 않습니다.

다음 단계