์๋น์ค
“๋์ผํ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ํ๋ ๊ทธ๋ฃน์ ์ง์์ ์ธ ๋จ์ผ ์ ์ ์ ๋ง๋ค๋ ค๊ณ ํ ๋ ์์ฑํ๋ ๋ฆฌ์์ค”
- ๊ฐ ์๋น์ค๋ ์กด์ฌํ๋ ๋์ ์ ๋ ๋ฐ๋์ง ์๋ IP์ฃผ์์ ํฌํธ๊ฐ ์์
- ํด๋ผ์ด์ธํธ๋ ํด๋น IP์ ํฌํธ๋ก ์ ์ํ์ฌ ํด๋น ์๋น์ค๋ฅผ ์ง์ํ๋ ํ๋ ์ค ํ๋๋ก ์ฐ๊ฒฐ
→ ์ด๋ฐ ๋ฐฉ์์ผ๋ก ์๋น์ค์ ํด๋ผ์ด์ธํธ๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ฐ๋ณ ํ๋ ์์น ์ ํ์ x - ์๋น์ค๊ฐ ์ง์ํ๋ ํ๋๋ ํ ๊ฐ ์ด์์ผ ์ ์์.
→ ์๋น์ค ์ฐ๊ฒฐ์ ๋ท๋จ์ ๋ชจ๋ ํ๋๋ก ๋ก๋๋ฐธ๋ฐ์ฑ ๋จ.
→ ํ๋์ ๋ ์ด๋ธ ์ ๋ ํฐ๋ก ์๋น์ค ์ง์ - ๋์ผํ ์๋น์ค์์ ์ฌ๋ฌ ๊ฐ์ ํฌํธ ๋ ธ์ถ ๊ฐ๋ฅ
- ์ด๋ฆ์ด ์ง์ ๋ ํฌํธ ์ฌ์ฉ ๊ฐ๋ฅ
์๋น์ค ๊ฒ์
- ํ๊ฒฝ๋ณ์๋ฅผ ํตํ ์๋น์ค ๊ฒ์
-ํ๋๊ฐ ์์๋๋ฉด ์ฟ ๋ฒ๋คํฐ์ค๋ ํด๋น ์์ ์ ์กด์ฌํ๋ ๊ฐ ์๋น์ค๋ฅผ ๊ฐ๋ฆฌํค๋ ํ๊ฒฝ๋ณ์ ์ธํธ ์ด๊ธฐํ
-ํด๋ผ์ด์ธํธ ํ๋ ์์ฑ ์ ์๋น์ค๋ฅผ ์์ฑํ๋ฉด ํด๋น ํ๋์ ํ๋ก์ธ์ค๋ ํ๊ฒฝ๋ณ์๋ฅผ ๊ฒ์ฌํด์
์๋น์ค์ IP ์ฃผ์์ ํฌํธ๋ฅผ ์ป์ ์ ์์ - DNS๋ฅผ ํตํ ์๋น์ค ๊ฒ์
-kube-dns ํ๋: DNS์๋ฒ ์คํ, ํด๋ฌ์คํฐ์์ ์คํ ์ค์ธ ๋ค๋ฅธ ๋ชจ๋ ํ๋๋ ์๋์ผ๋ก ์ฌ์ฉ
-๊ฐ ์๋น์ค๋ ๋ด๋ถ DNS ์๋ฒ์์ DNS ํญ๋ชฉ์ ๊ฐ์ ธ์ค๊ณ ์๋น์ค์ด๋ฆ์ ์๊ณ ์๋ ํด๋ผ์ด์ธํธ ํ๋๋
ํ๊ฒฝ๋ณ์ ๋์ FQDN์ผ๋ก ์ก์ธ์คํ ์ ์์ - FQDN(์ ๊ทํ๋ ๋๋ฉ์ธ ์ด๋ฆ)์ ํตํ ์๋น์ค ์ฐ๊ฒฐ
-backend-database.default.svc.cluster.local
backend-database: ์๋น์ค ์ด๋ฆ
default: ์๋น์ค๊ฐ ์ ์๋ ๋ค์์คํ์ด์ค
svc.cluster.local: ๋ชจ๋ ํด๋ฌ์คํฐ์ ๋ก์ปฌ ์๋น์ค ์ด๋ฆ์ ์ฌ์ฉ๋๋ ํด๋ฌ์คํฐ์ ๋๋ฉ์ธ์ ๋ฏธ์ฌ
ํด๋ฌ์คํฐ ์ธ๋ถ์ ์๋ ์๋น์ค ์ฐ๊ฒฐ
“์๋น์ค๊ฐ ์ธ๋ถ IP์ ํฌํธ๋ก ์ฐ๊ฒฐ ์ ๋ฌ”
- ํด๋ฌ์คํฐ์์ ์คํ ์ค์ธ ํด๋ผ์ด์ธํธ ํ๋๋ ๋ด๋ถ ์๋น์ค์ ์ฐ๊ฒฐํ๋ ๊ฒ์ฒ๋ผ ์ธ๋ถ ์๋น์ค์ ์ฐ๊ฒฐ
- ์๋น์ค๋ ํ๋์ ์ง์ ์ฐ๊ฒฐ๋์ง ์๊ณ ์๋ํฌ์ธํธ ๋ฆฌ์์ค๊ฐ ๊ทธ ์ฌ์ด์ ์กด์ฌํจ.
-์๋ํฌ์ธํธ ๋ฆฌ์์ค๋ ์๋น์ค๋ก ๋ ธ์ถ๋๋ ํ๋์ IP์ฃผ์์ ํฌํธ ๋ชฉ๋ก - ์๋น์ค์ ํ๋์
๋ ํฐ๋ ์๋ํฌ์ธํธ ๋ชฉ๋ก์ ๋ง๋๋๋ฐ ์ฌ์ฉ
-IP์ ํฌํธ ๋ชฉ๋ก์ ์์ฑ
-ํด๋ผ์ด์ธํธ๊ฐ ์๋น์ค์ ์ฐ๊ฒฐํ๋ฉด ์๋น์ค ํ๋ก์๋ ์ด๋ค ์ค ํ๋์ IP์ ํฌํธ ์์ ์ ํํ๊ณ ๋ค์ด์จ ์ฐ๊ฒฐ์
๋์ ํ๋์ ์์ ๋๊ธฐ ์๋ฒ๋ก ์ ๋ฌ
์ธ๋ถ ํด๋ผ์ด์ธํธ์ ์๋น์ค ๋ ธ์ถ
NodePort ์๋น์ค ์ ํ ์ค์
“๊ฐ ํด๋ฌ์คํฐ ๋ ธ๋๋ ๋ ธ๋ ์์ฒด์์ ํฌํธ๋ฅผ ์ด๊ณ ํด๋น ํฌํธ๋ก์์ ๋ ํธ๋ํฝ์ ์๋น์ค๋ก ์ ๋ฌ”
- ์ฟ ๋ฒ๋คํฐ์ค๋ ๋ชจ๋ ๋ ธ๋์ ํน์ ํฌํธ๋ฅผ ํ ๋นํ๊ณ ์๋น์ค๋ฅผ ๊ตฌ์ฑํ๋ ํ๋๋ก ๋ค์ด์ค๋ ์ฐ๊ฒฐ ์ ๋ฌ
- ์๋น์ค์ ๋ด๋ถ ํด๋ฌ์คํฐ IP + ๋ชจ๋ ๋ ธ๋์ IP์ ํ ๋น๋ ๋ ธ๋ํฌํธ๋ก ์๋น์ค ์์ธ์ค ๊ฐ๋ฅ
๋ก๋๋ฐธ๋ฐ์๋ก ์๋น์ค ์ ํ ์ค์
“ํธ๋ํฝ์ ๋ชจ๋ ๋ ธ๋์ ๋ ธ๋ํฌํธ๋ก ์ ๋ฌํ์ฌ ํด๋ผ์ด์ธํธ๋ ๋ก๋๋ฐธ๋ฐ์์ IP๋ก ์๋น์ค์ ์์ธ์ค”
- ๊ณต๊ฐ์ ์ผ๋ก ์ก์ธ์ค ๊ฐ๋ฅํ ๊ณ ์ ํ IP ์ฃผ์๋ฅผ ๊ฐ์ง๋ฉฐ ๋ชจ๋ ์ฐ๊ฒฐ์ ์๋น์ค๋ก ์ ๋ฌ.
-๋ก๋๋ฐธ๋ฐ์์ IP ์ฃผ์๋ก ์๋น์ค์ ์ก์ธ์ค ๊ฐ๋ฅ
- ์๋น์ค ์์ฑ ํ ํด๋ผ์ฐ๋ ์ธํ๋ผ๊ฐ ๋ก๋๋ฐธ๋ฐ์๋ฅผ ์์ฑํ๊ณ IP ์ฃผ์๋ฅผ ์๋น์ค ์ค๋ธ์ ํธ์ ์.
→ ์๋ฃ๋๋ฉด ๋ก๋๋ฐธ๋ฐ์ IP ์ฃผ์๊ฐ ์๋น์ค์ external IP ์ฃผ์๋ก ํ์๋จ
์ธ๊ทธ๋ ์ค ๋ฆฌ์์ค
“ํ IP ์ฃผ์๋ก ์์ญ ๊ฐ์ ์๋น์ค์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋๋ก ์ง์”
- ์ธ๊ทธ๋ ์ค๋ ๋คํธ์ํฌ ์คํ์ ์ดํ๋ฆฌ์ผ์ด์
๊ณ์ธต(http)์์ ์๋ํ๋ฉฐ ์๋น์ค๊ฐ ํ ์ ์๋
์ฟ ํค ๊ธฐ๋ฐ ์ธ์ ์ดํผ๋ํฐ ๋ฑ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ ์ ๊ณตํ ์ ์์
- ํด๋ผ์ด์ธํธ๋ kubia.example.com์ DNS ์กฐํ ์ํ
- DNS ๊ฐ ์ธ๊ทธ๋ ์ค ์ปจํธ๋กค๋ฌ IP ๋ฐํ
- ํด๋ผ์ด์ธํธ๋ HTTP ์์ฒญ์ ์ธ๊ทธ๋ ์ค ์ปจํธ๋กค๋ฌ๋ก ์ ์กํ๊ณ host ํค๋์์ kubia.example.com์ ์ง์
- ์ปจํธ๋กค๋ฌ๋ ํด๋น ํค๋์์ ํด๋ผ์ด์ธํธ๊ฐ ์ก์ธ์คํ๋ ค๋ ์๋น์ค๋ฅผ ๊ฒฐ์ ํ๊ณ ์๋น์ค์ ๊ด๋ จ๋ ์๋ํฌ์ธํธ ์ค๋ธ์ ํธ๋ก ํ๋ IP ์กฐํ ํ ํด๋ผ์ด์ธํธ ์์ฒญ ํ๋์ ์ ๋ฌ
ํ๋์ ์ธ๊ทธ๋ ์ค๋ก ์ฌ๋ฌ ์๋น์ค ๋ ธ์ถ
- ingress spec์ ๊ท์น๊ณผ ๊ฒฝ๋ก๊ฐ ๋ชจ๋ ๋ฐฐ์ด์ด๋ฏ๋ก ์ฌ๋ฌ ํญ๋ชฉ์ ๊ฐ์ง ์ ์์
-์ฌ๋ฌ host์ path๋ฅผ ์ฌ๋ฌ ์๋น์ค์ ๋งคํํ ์ ์์
-์์ฒญ์ URL์ ๊ฒฝ๋ก์ ๋ฐ๋ผ ๋ ๊ฐ์ ๋ค๋ฅธ ์๋น์ค๋ก ์ ์ก๋จ → ํด๋ผ์ด์ธํธ๋ ๋จ์ผ IP ์ฃผ์๋ก ๋ ๊ฐ์ ์๋น์ค์ ๋๋ฌ
-HTTP ์์ฒญ์ ํธ์คํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ก ๋ค๋ฅธ ์๋น์ค ๋งคํ