(6) Gateway API
(6) Gateway API
Saying Goodbye to Ingress: Embracing the Future of Kubernetes Traffic Management with Gateway API and Cilium
Introduction
- k8s에서 dynamic세계에서는
ingress traffic
효율적이고 안전하게 관리하는 것이 항상 중요한 과제 - 그러나 k8s클러스터 내부에서 트래픽 라우팅을 처리하는 방식을 혁신적으로 변화시키는 솔루션이 등장
- Gateway API는 역할 기반 접그제어, 이동성 및 확장성 등 운영자에게 많은 이점을 제공
목표
Gateway API 혁신적인 기능을 살펴보고 이것이 왜 k8s 트래픽을 효율적으로 관리하는지 살펴보자
Gateway API란
- SIG-Network 커뮤니트에서 관리하는 오픈소스 프로젝트
- k8s에서 서비스 네트워킹을 모델링하는 리소스의 집합
이러한 리소스는 Gateway Clasee, Gateway, HTTP Route, TCP Route, Service 등이 있으며, k8s서비스 네트워킹을 표현력 있고 확장가능하며 role중심적인 인터페이스를 통해 발전시키는 것을 목표 (많은 벤더들이 구현 및 광범위한 산업 지원)
- Ingres API의 후속적으로 고안되었으며, 일반적으로 사용되는 프로토콜(HTTP,TLS,UDP,TCP)에대해 명시적인 지원 함께 TLS에대한 통합 지원 가능
- k8s API를 통해 네트워크 Gateway의 숨여주기를 관리 가능
Realizing Efficiency: Gateway API as the Long-Term Solution:
- 사용자들이 직면하고 있는 문제 도구 분산 : 복잡한 마이크로서비스 아키텍처 배포할때 운영자는 일반적으로 CNI, Network Policy 엔진, built-in observability with Hubble (관찰가능성 및 암호화를 위한 서비스 Mesh, ingress 또는 Gateway API컨트롤러등을 배포)
이는 업그레이드 및 관리에 운영적인 약점
- Cilium은 사용자가 클라우드 네이티브 네트워킹 및 보안 도구의 수를 통합할 수 있도록 도와줌
- 왜냐면 Gateway API뿐만 아니라 sidecar-less 서비스 Mesh, Transparent Encryption, Network Policy, Hubble을 통한 내장된 관찰 가능성등을 native하게 지원
Introduction Cilium
- k8s에서 사용할 수 있는 다양한 container network interface(CNI)중에서는 눈의띄는 제품
- eBDP(확장된 Berkely Packet Filter)를 기반으로 구축되어 k8s네트워킹내에서 네트워크, 관찰 가능성 및 보안에 초점
- Pods에 CIDR를 할당하고 Pods간 통신을 가능하게 하는 등의 표준 네트워크기능을 제공하지만, 핵심적인 차이점은
eBPF Backend
에 있음 - eBPF의 해시 테이블과 같은 기능을 활용하여 kube-proxy 및 IP Table가 필요하지 않으며, k8s클러스터 내에서의 네트워크 운영 관리에대한 향상된 효율성과 성능을 제공
Cilium Gateway API
- Cilium은 Gateway API를 지원하며 중요한 milestone을 마크함
- k8s ingress의 미래 대체품으로, 운영자가 역할 기반의 portable하고 확장 간으한 방식으로 클러스터 내에서 트래픽을 효율적으로 라우팅하도록 제공
- 완전한 Gateway API를 구현을 제공, 사용자가 트래픽 라우팅에 대해 유연하고 강력한 접근방식을 사용 할 수 있도록 함
- 또한 L7 LB를 구성하기 위한 새로운 annotation이 제공. 여기에는 요청별 gRPC 밸런싱 포함
- 또한 mTLS 데이터패스가 병합되어 미래의 프록시 그리고 mTLS구현을 위한 기반을 마련 다양한 identity 관리공급자와 통합
- 네트워크 측면에서 BIG TCP, LB k8s서비스에대한 IPAM, SCTP, NAT46/64 개선이 구현
- 보안측면에서는 이미지 서명과 Software Bill of Materials(SBOMs)생성을 통해 강화
- NetworkPolicy는 이제 TLS SNI서버 이름 매칭을 지원.
- Gateway API는 K8S Ingress의 장기적인 대체품으로 중요성 강조
- 역할 기반의 접근 제어
- portable 및 확장성을 제공
- 운영자가 k8s클러스터내에서 트래픽 라우팅을 재정의하고, 배포의 잠재력을 최대한 발휘 할 수 있도록 지원
참고
This post is licensed under CC BY 4.0 by the author.