SUMMARY
Gateway API๋ ํ์ค์ ์ด๊ณ ์ ์ธ์ ์ธ ๋ฐฉ์์ผ๋ก TCP/UDP ๋ผ์ฐํ ์ ์ง์ํ๋ฉฐ ํ์ฅ์ฑ์ด ๋ฐ์ด๋์ง๋ง, ์์ง ์ํ๊ณ ์ง์์ด ๋ถ์กฑํ๋ค. ๋ฐ๋ฉด Ingress-nginx๋ ์ฑ์ํ๊ณ ์์ ์ ์ด๋ฉฐ ๋๋ถ๋ถ์ Helm ์ฐจํธ์์ ์ง์ํ์ง๋ง, TCP/UDP ์ค์ ์ด ๋ค์ ๋ฒ๊ฑฐ๋กญ๋ค๋ ๋จ์ ์ด ์๋ค.
๐ก ๊ฐ์
๊ธฐ์กด ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ์์๋ ํธ๋ํฝ์ ์ธ๋ถ๋ก ๋ ธ์ถ์ํค๊ธฐ ์ํด ์ฃผ๋ก ์ธ๊ทธ๋ ์ค(Ingress)๋ฅผ ์ฌ์ฉํด์๋ค. ํ์ง๋ง ์๋ก์ด ํ์ค์ผ๋ก ๊ฒ์ดํธ์จ์ด API(Gateway API)๊ฐ ๋ฑ์ฅํ๋ฉด์, ๋ ๊ธฐ์ ์ฌ์ด์ ์ฅ๋จ์ ์ ๋น๊ตํ๊ณ ์ด๋ค ๊ฒ์ ์ ํํ ์ง ๊ณ ๋ฏผํ๊ฒ ๋์๋ค.
์ด ๊ธ์์๋ ingress-nginx
์ Cilium Gateway API
๋ฅผ ์ค์ฌ์ผ๋ก ๋ ๋ฐฉ์์ ํน์ง์ ๋น๊ตํ๊ณ , ์ฌ๋ด ํด๋ฌ์คํฐ์ ๋์
ํ ๊ฒฝํ์ ๊ณต์ ํ๋ค.
๐ ์ ์ ๋ฐฐ๊ฒฝ
๊ณผ๊ฑฐ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ ๋๋ ๋น์ฐํ๊ฒ ingress-nginx
๋ฅผ ํ์ค์ผ๋ก ๋์
ํ๋ค. ์ฌ์ค ingress-nginx
๋ฅผ ์ฌ์ฉํ๋ฉด์ ์์ฃผ ํฐ ๋ถํธํจ์ด ์์๋ ๊ฒ์ ์๋๋ค. ๋ค๋ง, TCP/UDP ๊ฐ์ L4 ํ๋กํ ์ฝ์ ๋
ธ์ถํด์ผ ํ ๋ ์์ฌ์ด ์ ์ด ์์๋ค. ์ค์ ์ ๋ณ๊ฒฝํ๋ ค๋ฉด ConfigMap
์ ์ง์ ์์ ํ๊ณ , ์ปจํธ๋กค๋ฌ๋ฅผ ์ฌ๊ธฐ๋ํด์ผ ํ๋ ๊ณผ์ ์ด ๋ฒ๊ฑฐ๋กญ๋ค๊ณ ๋๊ผ๋ค.
ํ์ง๋ง ์์งํ ๋งํ๋ฉด, ์ด๋ฌํ ๊ธฐ์ ์ ์ธ ์์ฌ์๋ณด๋ค๋ Gateway API๊ฐ ์ฟ ๋ฒ๋คํฐ์ค์ ์๋ก์ด ํ์ค์ด๋ผ๋ ์ ๋๋ฌธ์ ์ฌ์ฉํด๋ณด๊ณ ์ถ์๋ ๋ง์์ด ๊ฐ์ฅ ์ปธ๋ค. ์๋ก์ด ๊ธฐ์ ์ ๋ํ ํธ๊ธฐ์ฌ๊ณผ ํ์ค์ ๋ฐ๋ผ๊ฐ๊ณ ์ถ์ ๋ง์์ด ์ด๋ฒ ๊ธฐ์ ๊ฒํ ์ ์ฃผ๋ ๋๊ธฐ์๋ค๊ณ ํ ์ ์๋ค.
๐ ๋น๊ต
๊ธฐ๋ฅ | Ingress (ingress-nginx) | Gateway API (Cilium) |
---|---|---|
ํ์ค ์ฌ๋ถ | ์ฌ์ค์ ํ์ค | ๊ณต์ ํ์ค (์ฐจ์ธ๋) |
๋ผ์ฐํ | HTTP/HTTPS ์ค์ฌ | HTTP, HTTPS, TCP, UDP, gRPC ๋ฑ |
์ค์ ๋ฐฉ์ | Annotation, ConfigMap | ์ ์ธ์ API (Gateway, HTTPRoute, TCPRoute ๋ฑ) |
TCP/UDP | ConfigMap ์์ ๋ฐ ์ปจํธ๋กค๋ฌ ์ฌ๊ธฐ๋ ํ์ | TCPRoute , UDPRoute ๋ฆฌ์์ค๋ก ์ ์ธ์ ๊ด๋ฆฌ |
์ญํ ๋ถ๋ฆฌ | ์ด๋ ค์ (ํด๋ฌ์คํฐ ๊ด๋ฆฌ์์ ์ฑ ๊ฐ๋ฐ์ ๊ถํ ํผ์ฌ) | ๋ช ํํจ (Gateway, Route ๋ฆฌ์์ค ๋ถ๋ฆฌ) |
์ํ๊ณ ์ง์ | ๋งค์ฐ ๋์ (๋๋ถ๋ถ์ Helm ์ฐจํธ ์ง์) | ์ฑ์ฅ ์ค (์์ง ์ง์ํ์ง ์๋ ๊ฒฝ์ฐ ๋ง์) |
๊ด์ธก์ฑ | ์ ํ์ | Cilium Hubble ์ฐ๋ ์ L4-L7 ๊ฐ์์ฑ ํ๋ณด |
โ ์ ์ ์ฌ์
์ฌ๋ด ํด๋ฌ์คํฐ์๋ Cilium Gateway API๋ฅผ ๋์
ํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค. ๊ฐ์ฅ ํฐ ์ด์ ๋ Gateway API๊ฐ ์ฟ ๋ฒ๋คํฐ์ค์ ์๋ก์ด ํ์ค์ด๋ผ๋ ์ ๊ณผ, TCPRoute
์ UDPRoute
๋ฅผ ํตํด L4 ํธ๋ํฝ์ ์ ์ธ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค๋ ํธ๋ฆฌํจ ๋๋ฌธ์ด์๋ค. ๋ํ, CNI๋ก Cilium์ ์ฌ์ฉํ๊ณ ์์๊ธฐ์, Gateway API๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ฉด Hubble UI์์ L7 ํธ๋ํฝ๊น์ง ๊ด์ธกํ ์ ์๋ค๋ ์ ๋ ํฐ ์ฅ์ ์ผ๋ก ๋ค๊ฐ์๋ค. ํ์ฌ๊น์ง ํน๋ณํ ์ด์ ์์ด ์์ ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์๋ค.
ํ์ง๋ง ๋ง์ฝ ์ค์ ํ๋ก๋์ ํ๊ฒฝ์์ ๊ธฐ์ ์ ์ ํํด์ผ ํ๋ค๋ฉด, ํ์ฌ ์์ ์์๋ Ingress-nginx๋ฅผ ์ ํํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๊ณ ํ๋จํ๋ค. ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ํ๊ณ ์ฑ์๋: ๋๋ถ๋ถ์ Helm ์ฐจํธ๊ฐ Ingress ๋ฆฌ์์ค๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ์ง๋ง, Gateway API๋ ์์ง ์ง์ํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
- ์ด์ ๊ฒฝํ:
ingress-nginx
๋ฅผ ์ค๋ซ๋์ ์ฌ์ฉํด์ค๋ฉด์ ํธ๋ํฝ ์ ํ, ํ์์์ ์ค์ ๋ฑ ๋ค์ํ ์ด์ ๋ ธํ์ฐ์ ๋ฌธ์ ํด๊ฒฐ ๊ฒฝํ์ด ์ถ์ ๋์ด ์๋ค.