본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

Calico Ingress Gateway

원문 보기 위키 갱신

Calico Ingress Gateway는 Kubernetes Gateway API 표준을 사용해 클러스터 ingress 트래픽을 관리하는 간소화된 솔루션이에요. 강화된(hardened) Envoy Gateway 배포판으로, Tigera가 보안 기반이미지로 재빌드해 제공해요. Tigera Operator가 컴포넌트 라이프사이클을 전담해서 운영 부담도 적어요.

출처: 문서

본문

Calico Ingress Gateway는 Kubernetes Gateway API 표준을 사용해 클러스터 ingress 트래픽을 관리하는 간소화된 솔루션을 제공해요.

Calico Ingress Gateway란?

Calico Ingress Gateway는 오픈 소스 Envoy Gateway 프로젝트의 강화된(hardened) 배포판이에요. Tigera는 Envoy Gateway 코드를 강화된 베이스 이미지로 재빌드해서 견고한 보안과 안정적인 성능을 제공해요.

Calico Ingress Gateway는 Calico 환경과 매끄럽고 깊은 통합을 제공해요. 이 접근 방식 덕분에 ingress 보안과 네트워킹 설정이 Calico 프레임워크 안에서 통일돼요.

Gateway API란?

Kubernetes Gateway API는 클러스터 안의 서비스 접근을 통제하는 현대적인 표준 인터페이스로, 원래의 Ingress 리소스의 후속 격이에요.

Gateway API의 주요 기능과 이점은 다음과 같아요:

  • 역할 지향(role-oriented) 설계: 네트워크 인프라 관심사(네트워크 팀이 Gateway 리소스로 관리)와 애플리케이션별 라우팅(개발자가 라우팅 리소스로 관리)을 명확히 분리해요.
  • 고급 설정: 이 API는 카나리 배포를 위한 가중 트래픽 분할, 헤더 조작, 상세한 요청 매칭 같은 고급 트래픽 제어 패턴을 네이티브로 지원해요. 과거에는 벤더별 어노테이션이 필요했던 기능들이죠.
  • 이식성: 표준 Kubernetes API이므로 설정이 특정 벤더 구현에 묶이지 않아요. 이식성을 제공하고 벤더 락인을 막아줘요.

Envoy Gateway란?

Gateway API가 명세를 정의하고, Envoy Gateway는 주요 구현 프레임워크예요.

Envoy Gateway는 Gateway API 리소스를 자체 데이터 플레인이 실행 가능한 설정으로 번역하는 컨트롤 플레인 역할을 해요. 데이터 플레인은 Envoy Proxy를 사용하는데, 엣지와 서비스 메시 기능을 위해 클라우드 네이티브 생태계 전반에서 널리 쓰이는 고성능 프록시예요. Envoy를 활용함으로써 Calico Ingress Gateway는 검증된 신뢰성, 높은 처리량, 세밀한 관찰 가능성을 제공해요.

Calico Ingress Gateway로 배포하고 관리하기

기반이 되는 아키텍처는 여러 층(Gateway API 명세, Envoy Gateway 컨트롤 플레인, Envoy Proxy 데이터 플레인)으로 이루어져 있지만, Calico Ingress Gateway는 배포와 관리를 크게 단순화해요.

Calico Ingress Gateway는 Tigera Operator가 전적으로 관리해요. 이 통합은 컴포넌트의 라이프사이클을 자동화해서 수동 설정 부담을 줄여줘요. CVE는 정기적인 Calico 패치 릴리스 주기의 일부로 처리돼요. 관리자는 표준 Gateway 리소스를 정의하는 것만으로 게이트웨이 환경을 프로비저닝해요.

Calico Enterprise와 Calico Cloud 통합

상용 배포에서 Calico Ingress Gateway는 웹 애플리케이션 방화벽(WAF)과 직접 통합해 기능을 확장해요. 이 기능을 통해 운영자는 Calico 관리 플레인에서 간단한 설정만으로 OWASP Top 10과 기타 일반적인 취약점에 대비해 ingress 지점을 보호할 수 있어요.

Calico Ingress Gateway가 실행되는 위치

Calico Ingress Gateway는 네임스페이스 단위 배포 모델을 사용해요. Tigera Operator는 calico-system 네임스페이스에서 단일 Envoy Gateway 컨트롤러를 실행해요. Gateway 리소스를 만들면 그 프록시, Service, 로드 밸런서가 Gateway와 같은 네임스페이스에 생성돼요.

이 모델 덕분에 네임스페이스의 소유자가 게이트웨이의 프록시 파드에 자신만의 네트워크 정책과 RBAC를 적용할 수 있어요. 팀들이 네임스페이스를 공유할 필요가 없고, 클러스터 관리자에게 공유 네임스페이스 변경을 대신 요청할 필요도 없어요. 필요한 네임스페이스마다 게이트웨이를 배포할 수 있어서, 여러 팀이 각자 자기 네임스페이스에서 게이트웨이를 실행하고 소유해요.

오퍼레이터는 Gateway를 갖고 있는 각 네임스페이스에 지원 리소스도 만들어요:

  • tigera-ca-bundle ConfigMap. 프록시가 이걸 마운트해서 클러스터와 퍼블릭 인증 기관을 신뢰하게 돼요. 이 ConfigMap이 존재하지 않으면 프록시가 시작되지 않아요.

각 Gateway는 자체 로드 밸런서를 가져요. Calico Ingress Gateway는 하나의 로드 밸런서 뒤에 두 개 이상의 게이트웨이를 두지 않아요.

지원되는 Gateway API 리소스

Calico Ingress Gateway는 다음 Gateway API 리소스를 지원해요.

Resource Versions
BackendTLSPolicy v1, v1alpha3
GatewayClass v1, v1beta1
Gateway v1, v1beta1
GRPCRoute v1
HTTPRoute v1, v1beta1
ListenerSet v1
ReferenceGrant v1, v1beta1
TCPRoute v1alpha2
TLSRoute v1, v1alpha2, v1alpha3
UDPRoute v1alpha2

SECONDARY: OpenShift 4.19는 설치할 수 있는 Gateway API CRD에 제한을 도입했어요.

  • OpenShift 4.19에서 사용할 수 있는 Gateway API 리소스는: GatewayClass, Gateway, GRPCRoute, HTTPRoute, ReferenceGrant예요.

  • 다른 Gateway API 리소스, 즉 BackendTLSPolicy, ListenerSet, TCPRoute, TLSRoute, UDPRoute는 OpenShift 4.19에서 사용할 수 없어요.

다음 단계

추가 리소스

더 알아보기 (Learn more)

Calico Ingress Gateway는 Envoy Gateway의 강화 배포판이며 Tigera Operator가 전담 관리해요. Gateway API의 역할 지향 설계 덕분에 네트워크 팀과 개발 팀이 각자의 리소스를 나눠 관리할 수 있어요. 네임스페이스 단위 배포 모델이라 팀별로 독립적인 게이트웨이 운영이 가능하다는 점도 핵심이에요.