[๐๋ฌธ์ ํ์ด] Ingress์์ Gateway๋ก ์ ํํ๊ธฐ: gatewayclass ์กฐํ ์๋จ
22
์์ฑํ ์ง๋ฌธ์ 14
์๋ ํ์ธ์,
๋ฌธ์ ํ๊ฒฝ ๊ตฌ์ถ๋๋ก ๋ช ๋ น์ด ์คํํ๊ณ gatewayclass ์กฐํํ๋๋ฐ gatewayclass ์กฐํ๊ฐ ์๋ฉ๋๋ค.

-===์ถ๊ฐ-===-
๋ง์ํ์ ๋๋ก ํ๋ ์ ๋ฉ๋๋ค!
๋ต๋ณ 2
1
์ต์ด ์ค์น์ Nginx Gateway Fabric ์ค์น์ ๋ฌธ์ ๊ฐ ์์์๋ฏ ์ถ๋ค์.
์๋ ๋ช ๋ น์ด๋ก ๋ค์ ์ค์นํด ๋ณด์๊ฒ ์ด์?
helm install ngf oci://ghcr.io/nginx/charts/nginx-gateway-fabric --version 2.2.1 --create-namespace -n nginx-gateway --set nginx.service.type=NodePort
0
์๋ ํ์ธ์, ์ธํ๋ฐ AI ์ธํด์ ๋๋ค. asdf5184๋.
kubectl get gatewayclass์์ No resources found๊ฐ ์ถ๋ ฅ๋๋ ๊ฒฝ์ฐ, Gateway API ๋ฆฌ์์ค๋ง ์์ฑ๋๊ณ ์ด๋ฅผ ์ค์ ๋ก ์ฒ๋ฆฌํ Gateway Controller(NGINX Gateway Fabric)๊ฐ ์ค์น๋์ง ์์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. GatewayClass๋ Gateway API ์ค์น๋ง์ผ๋ก ์๋ ์์ฑ๋์ง ์๊ณ , Gateway Controller๊ฐ ์ค์น๋ ๋ ์์ฑ๋ฉ๋๋ค.
์๋ ๊ธฐ์กด ๋ต๋ณ์ ์ค์น ์คํฌ๋ฆฝํธ๋ฅผ ์ฐธ๊ณ ํด Gateway API์ NGINX Gateway Fabric ์ค์น ์ฌ๋ถ๋ฅผ ํ์ธํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
Ingress์์ Gateway๋ก ์ ํํ๊ธฐ - ์ค์ตํ๊ฒฝ ๊ตฌ์ฑ
ํนํ ๋ค์ ํญ๋ชฉ์ ํ์ธํด ์ฃผ์ธ์.
kubectl get crd | grep gateway
kubectl get ns ingress-nginx
kubectl get ns nginx-gateway
kubectl get pods -n nginx-gateway
kubectl get gatewayclass
nginx-gateway ๋ค์์คํ์ด์ค๋ ๊ด๋ จ Pod๊ฐ ์๋ค๋ฉด ๋ค์ ์ค์น ๊ณผ์ ์ด ํ์ํฉ๋๋ค.
# Gateway API ์ค์น
kubectl create -f https://raw.githubusercontent.com/k8s-1pro/install/main/exam-cka/k8s-cluster-1.34/gateway-api-1.4.0/standard-install.yaml
# NGINX Gateway Fabric ์ค์น
helm install ngf \
oci://ghcr.io/nginx/charts/nginx-gateway-fabric \
--version 2.2.1 \
--create-namespace \
-n nginx-gateway \
--set nginx.service.type=NodePort
์ค์น๊ฐ ์๋ฃ๋ ๋ค ๋ค์ ๋ช
๋ น์ผ๋ก GatewayClass๊ฐ ์์ฑ๋์๋์ง ํ์ธํฉ๋๋ค.
kubectl get gatewayclass
๋ํ ํ๋ฉด์ ๋ณด์ด๋ Ingress ... already exists ๋ฉ์์ง๋ ๊ธฐ์กด์ ๋์ผํ ์ด๋ฆ์ Ingress๊ฐ ๋จ์ ์๋ค๋ ์๋ฏธ์
๋๋ค. ํ๊ฒฝ์ ๋ค์ ๊ตฌ์ฑํ๊ธฐ ์ ์ ๊ธฐ์กด ๋ฆฌ์์ค๋ฅผ ์ญ์ ํ๊ฑฐ๋, ํ์ฌ ๋ฆฌ์์ค๊ฐ ์ ์์ ์ผ๋ก ์กด์ฌํ๋์ง ๋จผ์ ํ์ธํด ๋ณด์ธ์.
kubectl get ingress
kubectl get all
kubectl get gatewayclass
๋ฆฌ์์ค ์ ๋ฆฌ ์์๋ ์ค์ต์์ ์์ฑํ Ingress, Service, Deployment, Secret๋ฟ ์๋๋ผ Gateway ๊ด๋ จ ๋ฆฌ์์ค์ ์ปจํธ๋กค๋ฌ ์ค์น ๋ฆฌ์์ค๊ฐ ๋จ์ ์๋์ง๋ ํจ๊ป ํ์ธํด์ผ ํฉ๋๋ค. ๋จ, GatewayClass๋ ์ปจํธ๋กค๋ฌ๊ฐ ๊ด๋ฆฌํ๋ ๋ฆฌ์์ค์ด๋ฏ๋ก ์ปจํธ๋กค๋ฌ๊ฐ ์ค์น๋์ด ์์ง ์์ผ๋ฉด ์กฐํ๋์ง ์์ต๋๋ค.
์ง๋ฌธ์ ์ฒจ๋ถํ์ ์ด๋ฏธ์ง:

์ ๋ ์ง๋ฌธ์๋์ ์ดํด๋ฅผ ๋๊ณ ์ ์ง์๊ณต์ ์๋์ ๊ธฐ์กด ๋ต๋ณ์ ์ฐธ๊ณ ํ์ฌ ์ ์ฌํ ๋ต๋ณ ๋งํฌ๋ฅผ ์ถ์ฒํด๋๋ฆฌ๊ณ ์์ต๋๋ค.
ํ์ฌ ๋ฒ ํ ๊ธฐ๋ฅ์ผ๋ก ๋ต๋ณ์ด ๋ง์กฑ์ค๋ฝ์ง ์์ ์ ์๋ ์ ์ํด ๋ถํ๋๋ฆฝ๋๋ค. ๐
์ถ๊ฐ์ ์ผ๋ก ๊ถ๊ธํ ์ ์ด ์์ผ์๋ฉด, ์ด์ด์ ์ง๋ฌธํด ์ฃผ์ธ์. ๊ณง ์ง์๊ณต์ ์๊ป์ ๋ต๋ณํด ์ฃผ์ค ๊ฒ์
๋๋ค.
ํ๊ฒฝ์ค์ ์คํฌ๋ฆฝํธ์์ storageclass๊ฐ ์์ฑ๋์ง ์์ต๋๋ค.
0
49
2
์ค์ ์ํ์์ ๋งํฌ
1
53
1
์นดํ์ ์ ๋ฐ์ดํธ ํด์ฃผ์ ๋ด์ฉ ๊ด๋ จ ๋ฌธ์
0
82
1
์ฟ ๋ฒ๋คํฐ์ค ์ค์น ํ ๋ ธ๋ ํ์ธ ๋ช ๋ น์ด๊ฐ ์๋ ๋ช ๋ น์ด๋ก ๋์ต๋๋ค.
1
106
8
์ฟ ๋ฒ๋คํฐ์ค์์์ ์คํ ๋ฆฌ์ง ์ฌ์ฉ
1
91
2
26๋ 5์ ํฉ๊ฒฉ ๊ด๋ จ
1
157
2
curl 200 ๋ฐํ ์คํจ์ ๊ฑด
1
130
4
ํ์ต๋ฐฉ๋ฒ ๋ฌธ์
1
100
2
gateway ์์ฑ ํ ์ ์ ํ์ธ ์ง๋ฌธ
0
113
2
Ingress ์์ฑํ๊ธฐ ingressclass ์ง๋ฌธ
1
106
2
cpu&memory ์ฌ์ค์ ํ๊ธฐ์ ์ง๋ฌธ์ด ์์ต๋๋ค.
1
113
2
์ํ ์์ํ๊ธฐ ์ ์ ํ ๊ฐ์ง ์ง๋ฌธ ์์ต๋๋ค.
1
116
2
CNI ๋ฌธ์ ์ง๋ฌธ
1
104
2
๋ฌธ์ ํ๊ฒฝ ๊ตฌ์ถ ์ค๋ฅ
1
101
2
๊ฐ์๋จธ์ ๊ฐ์ ธ์ค๋๋ฒ?
1
103
2
๊ฐ์ ์๊ฐ ๊ถ๊ธํ ์ ์์ต๋๋ค.
1
96
2
ํ๊ฒฝ ๊ตฌ์ถ๊ด๋ จ ์ถ๊ฐ ์ง๋ฌธ์ ๋๋ค.
1
107
2
ํ๊ฒฝ๊ตฌ์ถ๊ด๋ จ ๋ด์ฉ ํ์ธํด์ฃผ์ธ์.
1
96
2
๊ฐ๋ฅ ์ฌ๋ถ
1
134
2
๋ฌธ์ ํ์ ๊ฐ์์ ๋ฌธ์ ํ์ด ์นดํ ์๋ฃ์ค ๊ฒฝ๋ก
1
96
2
์ํ ๋ฌธ์ ์ง๋ฌธ
1
139
2
CKA ์๊ฒฉ์ฆ ์ํ ๋ด ์ปค๋งจ๋ ์ ๋ ฅ ๊ด๋ จ ๋ฌธ์
1
158
3
์ฟ ๋ฒ๋คํฐ์ค ๋ฒ์ ๋ฌธ์
0
86
1
์ํ์ ๋ ธ๋ ์ ๊ทผ ๊ด๋ จํด์ ์ง๋ฌธ์์ต๋๋ค.
1
129
1





