๐Ÿ“ ํ˜„์žฌ ๋ฌธ์ œ ์š”์•ฝ ๋ฐ ์ธํ”„๋ผ ํŒ€ ์ „๋‹ฌ ์‚ฌํ•ญ (Knative Gateway API ํ™œ์„ฑํ™”)

ํ˜„์žฌ Knative ํ™˜๊ฒฝ์—์„œ Gateway API๋ฅผ ํ†ตํ•œ ๊ฒฝ๋กœ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…(Path-Based Routing)์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐ ์‹คํŒจํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

โ†’ Domain


1. ๐Ÿ” ๋ฌธ์ œ ์š”์•ฝ ๋ฐ ๊ทผ๋ณธ ์›์ธ ์ง„๋‹จ

ํ•ญ๋ชฉ ์ƒํƒœ ์ƒ์„ธ ์„ค๋ช…
Gateway API CRD ์„ค์น˜๋จ (OK) v1beta1 ๋ฒ„์ „์˜ CRD๋Š” ํด๋Ÿฌ์Šคํ„ฐ์— ์กด์žฌํ•จ.
GatewayClass/kourier ์ƒ์„ฑ๋˜์—ˆ์œผ๋‚˜ ์Šน์ธ ์‹คํŒจ (โš ๏ธ) kourier GatewayClass๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ƒ์„ฑํ–ˆ์ง€๋งŒ, ์ƒํƒœ๊ฐ€ ๊ณ„์† ACCEPTED: Unknown์ž„.
Gateway ๋ฆฌ์†Œ์Šค ๋ฏธ์ƒ์„ฑ (๐Ÿ›‘) Knative/Kourier ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ GatewayClass๋ฅผ ์Šน์ธํ•˜์ง€ ๋ชปํ•˜์—ฌ Gateway ๋ฆฌ์†Œ์Šค๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜์ง€ ์•Š์Œ.
HTTPRoute ์ฒ˜๋ฆฌ ๋ฌด์‹œ๋จ (๐Ÿ›‘) net-kourier-controller ๋กœ๊ทธ ๋ถ„์„ ๊ฒฐ๊ณผ, ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ Gateway API ๋ฆฌ์†Œ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ , ๋ ˆ๊ฑฐ์‹œ KIngress ๋ฆฌ์†Œ์Šค๋งŒ ์ฒ˜๋ฆฌ ์ค‘์ž„.
config-network ์„ค์ •๋จ (OK) enable-gateway-api: "true" ์„ค์ •์€ ์ถ”๊ฐ€๋˜์—ˆ์œผ๋‚˜, ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ด๋ฅผ ์ธ์‹ํ•˜๊ณ  ์ ์šฉํ•˜์ง€ ๋ชปํ•จ.
๊ทผ๋ณธ ์›์ธ ๋ฒ„์ „/์„ค์น˜ ๋ˆ„๋ฝ ํ˜„์žฌ ๋ฐฐํฌ๋œ net-kourier-controller ์ด๋ฏธ์ง€ ๋˜๋Š” Knative Serving ๋ฒ„์ „์ด config-network์˜ Gateway API ํ™œ์„ฑํ™” ์„ค์ •์„ ์ฝ๊ณ  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋กœ์ง์„ ํฌํ•จํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ.

image.png


2. ๐Ÿ“ข ์ธํ”„๋ผ ํŒ€ ์ „๋‹ฌ ์‚ฌํ•ญ (Gateway API ์‚ฌ์šฉ ๋ชฉํ‘œ)

ํ˜„์žฌ์˜ Knative Serving ๋ฐ Kourier ์„ค์น˜ ์ƒํƒœ๋กœ๋Š” Gateway API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Gateway API๋ฅผ ํ†ตํ•œ ๊ฒฝ๋กœ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…์„ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ์กฐ์น˜๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽฏ ๋ชฉํ‘œ: Knative Serving์—์„œ Gateway API๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์‚ฌ์šฉ

A. Knative Serving ์ปดํฌ๋„ŒํŠธ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฐ ์žฌ์„ค์น˜ (๊ถŒ์žฅ)

ํ˜„์žฌ ์„ค์น˜๋œ Knative Serving (๋ฐ Net-Kourier Controller) ์ด๋ฏธ์ง€๊ฐ€ Gateway API๋ฅผ ํ†ตํ•ฉ์ ์œผ๋กœ ์ง€์›ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

B. (๋Œ€์•ˆ) ๋…๋ฆฝํ˜• Gateway API ์ปจํŠธ๋กค๋Ÿฌ ๋ฐฐํฌ

Knative Serving ์ปดํฌ๋„ŒํŠธ ์ž์ฒด๋ฅผ ๊ฑด๋“œ๋ฆฌ๊ธฐ ์–ด๋ ต๋‹ค๋ฉด, Gateway API์˜ ๊ธฐ๋Šฅ๋งŒ ๋ถ„๋ฆฌํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.