Stars Policy Demo
Last updated
Was this helpful?
Last updated
Was this helpful?
์ด ์ค์ต์์๋ EKS ํด๋ฌ์คํฐ์ ํ๋ฐํธ์๋, ๋ฐฑ์๋, ํด๋ผ์ด์ธํธ ๋ฐ UI ์๋น์ค๋ฅผ ๋ง๋ค๊ณ ์ด๋ฌํ ์๋น์ค ๊ฐ์ ํต์ ์ ํ์ฉํ๊ฑฐ๋ ์ฐจ๋จํ๋ ๋คํธ์ํฌ ์ ์ฑ ์ ์ ์ํฉ๋๋ค. ์ด ๋ฐ๋ชจ์๋ ๊ฐ ์๋น์ค๊ฐ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์์ ๋ฐ ์ก์ ๊ฒฝ๋ก๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ด๋ฆฌ UI๋ ์์ต๋๋ค.
๋คํธ์ํฌ ์ ์ฑ ์ ๋ง๋ค๊ธฐ ์ ์ ํ์ํ ๋ฆฌ์์ค๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค. ๊ตฌ์ฑ ํ์ผ์ ๋ํ ์ ํด๋๋ฅผ ๋ง๋ญ๋๋ค.
๋ค์ ๋ช ๋ น์ Cloud9 ํฐ๋ฏธ๋์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ ํ์ฌ stars ๋ค์์คํ์ด์ค๋ฅผ ์์ฑํฉ๋๋ค.
cat namespace.yaml
์ ์คํํ์ฌ ํ์ผ์ ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
stars๋ผ๋ ๋ค์์คํ์ด์ค๋ฅผ ๋ง๋ญ๋๋ค.
๋ค์ ๋ช ๋ น์ Cloud9 ํฐ๋ฏธ๋์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ ํฉ๋๋ค.
cat management-ui.yaml
์ ์คํํ์ฌ ํ์ผ์ ์ดํด ๋ด
๋๋ค.
ํด๋น ๋ค์ ์คํ์ด์ค ๋ด์์ ๊ด๋ฆฌ UI ์๋น์ค ๋ฐ ๋ ํ๋ฆฌ์นด ์ปจํธ๋กค๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌ UI ๋ค์ ์คํ์ด์ค๋ฅผ ๋ง๋ญ๋๋ค.
cat backend.yaml
๊ณผ cat frontend.yaml
์ ์คํํ์ฌ ๋ฐฑ์๋ ์๋น์ค์ ํ๋ฐํธ ์๋ ์๋น์ค๊ฐ ์ด๋ป๊ฒ ๊ตฌ์ถ ๋์๋์ง ํ์ธ ํฉ๋๋ค.
stars ๋ค์ ์คํ์ด์ค ๋ด์์ ํ๋ฐํธ ์๋ ๋ฐ ๋ฐฑ์๋ ๋ ํ๋ฆฌ์นด ์ปจํธ๋กค๋ฌ์ ์๋น์ค๋ฅผ ๋ง๋ญ๋๋ค.
๋ง์ง๋ง์ผ๋ก cat client.yaml
์ ์คํํ์ฌ ํด๋ผ์ด์ธํธ ๋ค์ ์คํ์ด์ค์ ๋ ํ๋ฆฌ์นด ์ปจํธ๋กค๋ฌ์ ๋ํ ํด๋ผ์ด์ธํธ ์๋น์ค๋ฅผ ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
ํด๋ผ์ด์ธํธ ๊ตฌ์ฑ์ ์ ์ฉ ํฉ๋๋ค.
์ํ๋ฅผ ํ์ธํ๊ณ ๋ชจ๋ ํ๋๊ฐ ์คํ ์ค ์ํ๊ฐ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค:
์ถ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
ํ์ํ ๋ชจ๋ Docker ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ ํ๋๋ฐ ๋ช ๋ถ ์ ๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
์์ฑํ ๋ฆฌ์์ค๋ฅผ ์์ฝํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
stars๋ผ๋ ๋ค์์คํ์ด์ค
stars ๋ค์ ์คํ์ด์ค ๋ด์ ํ๋ฐํธ์๋ ๋ฐ ๋ฐฑ์๋ replica ๋ฐ service
management-ui๋ผ๋ ๋ค์์คํ์ด์ค
management-ui ๋ค์์คํ์ด์ค์ ๋ธ๋ผ์ฐ์ ์ ํ์๋๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ๋ํ ๋ฐฐํฌ ๋ฐ ์๋น์ค management-ui
client๋ผ๋ ๋ค์์คํ์ด์ค
client ๋ค์์คํ์ด์ค ๋ด์ client deployment ๋ฐ service
์ฟ ๋ฒ๋คํฐ์ค์์ ํ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ค ํธ์คํธ์ ์ฐ๊ฒฐ ๋์๋์ง์ ๊ด๊ณ์์ด ๋ค๋ฅธ ํ๋์ ํต์ ํ ์ ์์ต๋๋ค. ๋ชจ๋ ํ๋์๋ ๊ณ ์ ํ IP ์ฃผ์๊ฐ ์์ผ๋ฏ๋ก ํ๋๊ฐ์ ๋งํฌ๋ฅผ ๋ช ์์ ์ผ๋ก ๋ง๋ค ํ์๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ management-ui์ ์ํด ์์ฐ ๋ฉ๋๋ค.
๊ด๋ฆฌ UI๋ฅผ ์ด๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌ UI์ DNS ์ด๋ฆ์ ๊ฒ์ ํ์ญ์์ค:
๊ฒฐ๊ณผ์์ EXTERNAL-IP๋ฅผ ๋ณต์ฌํ๊ณ ๋ธ๋ผ์ฐ์ ์ ๋ถ์ฌ ๋ฃ์ต๋๋ค. EXTERNAL-IP ์ด์๋ โelb.amazonaws.comโ์ผ๋ก ๋๋๋ ๊ฐ์ด ํฌํจ๋ฉ๋๋ค.
์ฌ๊ธฐ์ UI๋ ์๋ก ์ฐ๊ฒฐํ ์ ์๋ ๋ชจ๋ ์๋น์ค์ ๊ธฐ๋ณธ ๋์์ ๋ณด์ฌ ์ค๋๋ค.
ํ๋ก๋์ ์์ค์ ํด๋ฌ์คํฐ์์ ํ๋ ๊ฐ ํต์ ์ ๊ฐ๋ฐฉํ๋ ๊ฒ์ ์์ ํ์ง ์์ต๋๋ค. ์๋น์ค๋ฅผ ์๋ก ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
๋ค์ ๋ช ๋ น์ Cloud9 ํฐ๋ฏธ๋์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ ํ์ญ์์ค.
cat default-deny.yaml
์ ์คํํ์ฌ ํ์ผ์ ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
๋คํธ์ํฌ ์ ์ฑ ์ ์ดํด ๋ณด๋ฉด, ์ฌ๊ธฐ์์ podSelector์๋ matchLabels๊ฐ ์์ผ๋ฏ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ pod๊ฐ ์ก์ธ์คํ์ง ๋ชปํ๋๋ก ์ฐจ๋จํฉ๋๋ค.
stars ๋ค์์คํ์ด์ค (ํ๋ฐํธ ์๋ ๋ฐ ๋ฐฑ์๋ ์๋น์ค) ๋ฐ client ๋ค์์คํ์ด์ค (ํด๋ผ์ด์ธํธ ์๋น์ค)์ ๋คํธ์ํฌ ์ ์ฑ ์ ์ ์ฉํฉ๋๋ค.
๋ธ๋ผ์ฐ์ ๋ฅผ ์๋ก ๊ณ ์น๋ฉด ๊ด๋ฆฌ UI๊ฐ ๋ ธ๋์ ๋๋ฌ ํ ์ ์์ผ๋ฏ๋ก UI์ ์๋ฌด๊ฒ๋ ํ์๋์ง ์์ต๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค์ ๋คํธ์ํฌ ์ ์ฑ ์ ๋ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ํ๋๋ฅผ ์ ํํ๊ณ ํด๋น ํ๋์ ๋๋ฌ ํ ์ ์๋ ํธ๋ํฝ์ ๋ํ ๊ท์น์ ์ ์ ํฉ๋๋ค. ์์ ๋๋ ์ก์ ๋๋ ๋ ๋ค๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ๊ฐ ๊ท์น์ from ๋ฐ ports ์น์ ๋ชจ๋์ ์ผ์นํ๋ ํธ๋ํฝ์ ํ์ฉํฉ๋๋ค.
๋ ๊ฐ์ ์ ๋คํธ์ํฌ ์ ์ฑ ์ ๋ง๋ญ๋๋ค.
๋ค์ ๋ช ๋ น์ Cloud9 ํฐ๋ฏธ๋์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ ํ์ญ์์ค.
๋ค์ cat allow-ui.yaml
์ ์คํํ์ฌ ํ์ผ ๋ด์ฉ์ ๊ฒ์ฌ ํ ์ ์์ต๋๋ค.
cat allow-ui-client.yaml
์ ์คํํ์ฌ ํ์ผ ๋ด์ฉ์ ๊ฒ์ฌ ํ ์ ์์ต๋๋ค.
ํด๋น ํ์ฉ ์ ์ฑ ์ ์ ์ฉํ๊ณ ๊ด๋ฆฌ UI๋ฅผ ํ์ธํฉ๋๋ค.
๋ธ๋ผ์ฐ์ ๋ฅผ ์๋ก ๊ณ ์น๋ฉด ๊ด๋ฆฌ UI๊ฐ ๋ชจ๋ ์๋น์ค์ ๋๋ฌ ํ ์ ์์ง๋ง ์๋ก ํต์ ํ ์ ์์์ ์ ์ ์์ต๋๋ค.
ํด๋ผ์ด์ธํธ์์ ํ๋ฐํธ ์๋ ๋ฐ ๋ฐฑ์๋๋ก์ ๋ฐฉํฅ์ฑ ํธ๋ํฝ์ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
๋ค์ ๋ช ๋ น์ Cloud9 ํฐ๋ฏธ๋์ ๋ณต์ฌ/๋ถ์ฌ๋ฃ๊ธฐ ํ์ญ์์ค.
์ด ๋ฐฑ์๋ ์ ์ฑ
์ cat backend-policy.yaml
๋ก ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
cat frontend-policy.yaml
๋ก ํ๋ฐํธ ์๋ ์ ์ฑ
์ ์ดํด ๋ณด๊ฒ ์ต๋๋ค. ํ๋ฐํธ ์๋์ ํด๋ผ์ด์ธํธ๊ฐ ํต์ ์ด ๊ฐ๋ฅํ๋๋ก ํธ์งํฉ๋๋ค.
์์ ํ ํ์ฉ ์ ์ฑ ์ ์ ์ฉํ๊ณ ๊ด๋ฆฌ UI๋ฅผ ํ์ธํฉ๋๋ค.
๊ฒฐ๋ก
๋ฐฑ์๋ ์ ์ฑ ์ ์ดํด ๋ณด๋ฉด Spec์๋ ๋ผ๋ฒจ์ด role:backend์ธ ๋ชจ๋ ํ๋๋ฅผ ์ ํํ๊ณ ๋ผ๋ฒจ์ด role:frontend์ด๊ณ TCP ํฌํธ 6379์ ์๋ ๋ชจ๋ ํ๋์์ ์์ ์ ํ์ฉํ๋ podSelector๊ฐ ์์ต๋๋ค. ํน์ ํฌํธ ๋ฒํธ์์ ํ ๋ฐฉํฅ์ผ๋ก ํธ๋ํฝ์ด ํ์ฉ ๋ฉ๋๋ค.
ํ๋ฐํธ ์๋ ์ ์ฑ ์ TCP ํฌํธ 80์์ role:client ๋ผ๋ฒจ์ด ์๋ ๋ค์ ์คํ์ด์ค์์ ์์ ์ ํ์ฉ ํ๋ค๋ ์ ์ ์ ์ธํ๊ณ ์ ์ฌ ํฉ๋๋ค.
์ดํ ๋จ๊ณ์์ ์ด ๋ค์ ์คํ์ด์ค์ ํ๋ฐํธ ์๋ ๋ฐ ๋ฐฑ์๋ ์ ๋ฅผ ๋ง๋ญ๋๋ค.
yaml ํ์ผ์ <EDIT: ~~~>์ ํธ์งํ์ฌ ํ๋ฐํธ ์๋์ ๋ฐฑ์๋ ํต์ ์ด ๊ฐ๋ฅํ๋๋ก ํฉ๋๋ค. ์์ ์ ์ฉํ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.