하이브리드 노드 게이트웨이용 CNI 구성하기

하이브리드 노드 게이트웨이용 CNI 구성하기 (Configure CNI for the Hybrid Nodes gateway)

Amazon EKS Hybrid Nodes 게이트웨이는 VPC와 하이브리드 노드 간에 VXLAN 기반 연결을 활성화하려면 특정 Cilium 구성을 필요로 해요. Cilium VTEP(VXLAN Tunnel Endpoint) 지원을 활성화하고 L7 프록시를 비활성화해야 해요.

출처: 문서

본문

사전 요구 사항 (Prerequisites)

Cilium이 이미 하이브리드 노드에 설치되어 있어야 해요. 설치 지침은 하이브리드 노드용 CNI 구성하기를 참고하세요.

참고

Cilium VTEP는 다음 최소 EKS Cilium 버전에서만 지원돼요:

  • Cilium 1.17.13-1 이상
  • Cilium 1.18.8-1 이상
  • Cilium 1.19.2-1 이상

이전 버전을 실행 중이라면 VTEP를 활성화하기 전에 Cilium을 업그레이드하세요. 업그레이드 지침은 하이브리드 노드용 CNI 구성하기를 참고하세요.

VTEP 활성화 및 L7 프록시 비활성화

Cilium 버전을 설정하고 helm upgrade 명령을 실행해 기존 Cilium 설치에서 VTEP를 활성화하고 L7 프록시를 비활성화하세요. 최신 패치 버전은 Amazon ECR Public: eks/cilium/cilium에서 찾을 수 있어요.

helm upgrade cilium oci://public.ecr.aws/eks/cilium/cilium \
  --version CILIUM_VERSION \
  --namespace kube-system \
  --reuse-values \
  --set vtep.enabled=true \
  --set l7Proxy=false

업그레이드가 완료된 후 Cilium DaemonSet을 재시작해 새 구성이 적용되도록 하세요.

kubectl rollout restart daemonset/cilium -n kube-system
kubectl rollout status daemonset/cilium -n kube-system

필수 설정 (Required settings)

설정 값 설명
vtep.enabled true Cilium의 VXLAN Tunnel Endpoint 지원을 활성화해요. 하이브리드 노드의 Cilium 에이전트가 VPC로 향하는 트래픽을 캡슐화해 게이트웨이로 보낼 수 있게 해줘요.
l7Proxy false Cilium의 L7 프록시를 비활성화해요. VTEP가 올바르게 작동하는 데 필요해요. L7 프록시가 활성화되면 VTEP 트래픽이 가로채어지거나 삭제될 수 있어요.

구성 확인

Cilium 업그레이드 후 VTEP가 활성화되고 L7 프록시가 비활성화되었는지 확인하세요.

kubectl get configmap cilium-config -n kube-system -o yaml | grep -E "enable-vtep|enable-l7-proxy"

다음과 유사한 출력이 보여야 해요.

enable-l7-proxy: "false"
enable-vtep: "true"

하이브리드 Pod 트래픽용 VPC CNI 구성

기본적으로 AWS VPC CNI는 노드를 떠나는 모든 Pod 트래픽에 소스 NAT(SNAT)를 적용해요. 하이브리드 Pod 엔드포인트가 있는 Kubernetes ClusterIP 서비스가 클라우드 노드에서 올바르게 작동하려면 하이브리드 Pod CIDR을 SNAT에서 제외하세요. 이렇게 하면 kube-proxy가 DNAT한 트래픽이 VPC 라우팅을 올바르게 사용할 수 있어요.

aws-node DaemonSet에 AWS_VPC_K8S_CNI_EXCLUDE_SNAT_CIDRS 환경 변수를 하이브리드 Pod CIDR(들)로 설정하세요.

kubectl set env daemonset aws-node -n kube-system \
  AWS_VPC_K8S_CNI_EXCLUDE_SNAT_CIDRS=POD_CIDRS

값을 실제 하이브리드 Pod CIDR로 바꾸세요(여러 개면 쉼표로 구분).

이 설정은 하이브리드 Pod CIDR을 VPC CNI의 ip rules에 추가해, 하이브리드 Pod로 향하는 트래픽이 게이트웨이 ENI로 가는 VPC 경로를 포함하는 기본 라우팅 테이블을 통해 라우팅되도록 해요.

참고

이 단계는 클라우드 Pod에서 하이브리드 Pod 엔드포인트로 가는 ClusterIP 서비스 트래픽에 필요해요. IP 주소로 직접 Pod 간 연결은 이 설정 없이도 작동해요.

다음 단계

Cilium과 VPC CNI를 구성한 후 Hybrid Nodes 게이트웨이를 설치하세요. EKS Hybrid Nodes 게이트웨이 시작하기를 참고하세요.

더 알아보기 (Learn more)