์ค๋ 3์ ์์ ๋ **Ingress-NGINX์ ์ํด(Retirement)**๋ฅผ ์๋๊ณ , Gateway API ๋ฉ์ธํ ์ด๋์ธ Rob Scott๊ฐ ์ปค๋ฎค๋ํฐ์ ์ฐ๋ ค์ ์คํด๋ฅผ 4๊ฐ์ง ํต์ฌ ํฌ์ธํธ๋ก ์ ๋ฆฌํ ๋ด์ฉ์ ๋ํด์ ํต์ฌ๋ง ์์ฝํ ์ ๋ณด๋ฅผ ๊ณต์ ๋๋ฆฝ๋๋ค.
1.
์ฃผ์ ์์ฝ ์ ๋ณด - Gateway API ๋ฉ์ธํ
์ด๋ ์
์ฅ
-
Gateway API๋ ๋ถ์์ ํ๋ค?!?!
- Fact: Gateway API๋ ์ด๋ฏธ 2๋ ๋๊ฒ GA(General Availability) ์ํ๋ค.
- Detail: ์คํ์ (Experimental) ๊ธฐ๋ฅ์ Feature Gate๋ก ์จ๊ฒจ์ ธ ์์ด ์์ ํ๋ฉฐ, ์คํ๋ ค Ingress ์ปจํธ๋กค๋ฌ๋ค๋ณด๋ค Gateway ๊ตฌํ์ฒด(Envoy Gateway ๋ฑ)์ ๊ฐ๋ฐ์ด ํจ์ฌ ํ๋ฐํ๋ค.
-
๋ค๋ฅธ Ingress Controller๋ก ๊ฐ๋ ๊ฒ ๋ ์ฝ์ง ์๋?!?!
- Fact:
ingress-nginx๋ฅผ ์ฐ๋ ์ฌ๋๋ค์ ์ด๋ฏธ ์๋ง์ **Annotation(์ฃผ์)**์ ๋ฝ์ธ(Lock-in)๋์ด ์๋ค. - Detail: ๋ค๋ฅธ Ingress ์ปจํธ๋กค๋ฌ(Traefik, HAProxy ๋ฑ)๋ก ๊ฐ๋ ค๋ฉด ์ด์ฐจํผ ๊ทธ์ชฝ ์ ์ฉ Annotation์ผ๋ก ๋ค ๋ฐ๊ฟ์ผ ํ๋ค. ๊ทธ๋ด ๋ฐ์ ํ์คํ๋ ํฌํฐ๋น๋ฆฌํฐ๋ฅผ ์ ๊ณตํ๋ Gateway API๋ก ๊ฐ๋ ๊ฒ ๋ซ๋ค.
- Fact:
-
Gateway API์ ์๋ ๊ธฐ๋ฅ์ด ์๋ค?!?!
- Fact: Core API์ ์๋๋ผ๋ ๊ฐ ๊ตฌํ์ฒด(Implementation)์ Extension์ผ๋ก ๋๋ถ๋ถ ํด๊ฒฐ ๊ฐ๋ฅํ๋ค.
- Detail: GKE Gateway, Envoy Gateway ๋ฑ์ ์ด๋ฏธ ๊ฐ๋ ฅํ Custom Policy๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
-
๋ง์ด๊ทธ๋ ์ด์ ์ด ๋๋ฌด ํ๋ค๋ค?!?!
- Solution:
ingress2gateway๋ผ๋ ํด์ ํตํดingress-nginx์ ์ค์ ์ Gateway API ๋ฆฌ์์ค๋ก ์๋ ๋ณํํ๋ ๊ธฐ๋ฅ์ ๊ฐ๋ ฅํ๊ฒ ์ง์ ์ค์ด๋ค.
- Solution:
2.
Community Q&A (์ฃผ์ ์ง๋ฌธ ๋ฐ ๋ต๋ณ)
์ปค๋ฎค๋ํฐ ๋๊ธ์์ ๋์จ ํต์ฌ ์ง๋ฌธ๋ค๊ณผ ๊ทธ์ ๋ํ ๋ต๋ณ์ ์ ๋ฆฌํ๋ค.
- Q: Gateway API๋ ๋๋ฌด ๋ณต์กํด. (IngressClass, Ingress vs GatewayClass, Gateway, HTTPRoute)
- A: ์ธ์ ํ๋ค. ํ์ง๋ง
HTTPRoute๊ฐ ๊ธฐ์กดIngress์ ์ง์ ํ ๋์ฒด์ฌ๋ค.Gateway๋ฆฌ์์ค๊ฐ ์ค๊ฐ์ ์ถ๊ฐ๋จ์ผ๋ก์จ ๋ก๋๋ฐธ๋ฐ์์ ๋ผ์ฐํ ๊ท์น์ ๋ถ๋ฆฌํ ์ ์์ด, ํ๋์ ๋ผ์ฐํ ๊ท์น(HTTPRoute)์ ๋ด๋ถ/์ธ๋ถ ๊ฒ์ดํธ์จ์ด์ ๋์์ ๋ถ์ด๋ ๋ฑ ํจ์ฌ ์ ์ฐํ ๊ตฌ์ฑ์ด ๊ฐ๋ฅํ๋ค.
- A: ์ธ์ ํ๋ค. ํ์ง๋ง
- Q: ๊ทธ๋ผ Ingress API๋ ์ด์ ์ฃฝ์ ๊ฑด๊ฐ?
- A: **โFrozen APIโ**๋ค. ์์ด์ง์ง ์๊ฒ ์ง๋ง(Kubernetes 2.0 ์ ๊น์ง ์ ์ง), ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ๋ ์๋ค. ๋ชจ๋ ํ์ (CORS, Timeouts ๋ฑ)์ Gateway API์์๋ง ์ผ์ด๋๋ค.
- Q: Gateway API๋ก ๊ฐ๋ ค๋ฉด CNI(Calico, Flannel ๋ฑ)๋ ๋ฐ๊ฟ์ผ ํ๋?
- A: ์๋์ค. (Cilium Gateway ๊ฐ์ ํน์ ์ผ์ด์ค ์ ์ธ). Gateway API ๊ตฌํ์ฒด๋ ๋๋ถ๋ถ CNI์ ๋ ๋ฆฝ์ ์ผ๋ก ์๋ํ๋ค. ์๋ฅผ ๋ค์ด Istio๋ Envoy Gateway๋ CNI ๊ต์ฒด ์์ด ๋์ ๊ฐ๋ฅํ๋ค.
- Q: ๋ง์ด๊ทธ๋ ์ด์
์ ๋ต์?
- A: ํ ๋ฒ์ ๋ค ๋ฐ๊ฟ ํ์ ์๋ค. ๊ธฐ์กด Ingress์ ์๋ก์ด Gateway API๋ฅผ ๋์์(Side-by-side) ์ด์ํ๋ฉฐ ์ ์ง์ ์ผ๋ก ํธ๋ํฝ์ ์ฎ๊ฒจ๋ผ.
๊ฒฐ๋ก : Ingress-Nginx๋ ์ ์ค์ด์์ง๋ง, ์ด์ ๋ณด๋ด์ค ๋๊ฐ ๋๋ค. Gateway API is the new standard. ![]()
[์ถ์ฒ] Reddit - The heart of the internet
