ํ์ค ์๋น์ค
์ฐธ๊ณ : ํ์ค ์๋น์ค๋ Cloud Service Mesh ๋ฒ์ 1.6.8 ์ด์์์ ์๋์ผ๋ก ์ง์๋ฉ๋๋ค.
์ด ํ์ด์ง์์๋ Cloud Service Mesh์ ํ์ค ์๋น์ค๊ฐ ๋ฌด์์ธ์ง ์ค๋ช ํฉ๋๋ค.
ํ์ค ์๋น์ค๋ ๋ฌด์์ธ๊ฐ์?
Cloud Service Mesh 1.6.8์ ํ๋ก๋์ ์ํฌ๋ก๋๋ฅผ ๊ด์ฐฐํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ๋จ์ผ ์๋น์ค๋ก ๋ํ๋ด๋ ๊ฐ๋ ์ , ์ํคํ ์ณ ๋ชจ๋ธ์ธ ํ์ค ์๋น์ค๋ฅผ ์ง์ํฉ๋๋ค. ์ด๋ฌํ ์ํฌ๋ก๋๋ ์ฌ๋ฌ ํด๋ฌ์คํฐ, ๋ค์ํ ๋ฐฑ์๋ ํ๋ซํผ, ๋ค์ํ ์คํค๋ง์ ๊ตฌ์ฑ์ ํฌํจํ ์ ์์ต๋๋ค.
Kubernetes ์ฌ์ฉ์: ํ์ค ์๋น์ค๋ Kubernetes '์ฑ' ๊ฐ๋ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ CRD์ ์๋นํ ์ ์ฌํฉ๋๋ค.
์๋ฒ๋ฆฌ์ค ์ฌ์ฉ์: ํ์ค ์๋น์ค๋ App Engine ์๋น์ค ๋ฐ Cloud Run ์๋น์ค ๊ฐ๋ ๊ณผ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. ํ ๊ฐ์ง ์ฐจ์ด์ ์ Google ์๋ฒ๋ฆฌ์ค ์๋น์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฆฌ์ ์๋น์ค์ด์ง๋ง ํ์ค ์๋น์ค๋ ์ ์ญ/๋ฉํฐ ๋ฆฌ์ ์ถ์ํ๋ผ๋ ์ ์ ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์ ์๋๋ฆฌ์ค๋ ๋ชจ๋ ํ์ค ์๋น์ค๋ฅผ ์ฐธ์กฐํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
- ์๋น์ค๊ฐ ์ค๋จ๋์์ต๋๋ค.
- ์จํ๋ ๋ฏธ์ค ๋ฐ ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋์์ ๋ชจ๋ ์๋น์ค๊ฐ ์คํ๋ฉ๋๋ค.
- ์๋น์ค์ ์ ๋ฒ์ ๋ฐฐํฌ
- ์๋น์ค Foo์์ ํธ๋ํฝ์ ๋๋ฌด ๋ง์ด ์ ์กํด์ ์ฉ๋์ ์ด๊ณผ์ํฌ ์ ์์ต๋๋ค.
ํ์ค ์๋น์ค๋ ๋จ์ผ ๋ฉ์ ๋ด์ ์กด์ฌํ๋ฏ๋ก Cloud Service Mesh์ ํ์ค ์๋น์ค๋ Fleet ๋ฐ Google Cloudํ๋ก์ ํธ(๊ฐ๊ฐ ๋ฉ์์ ์ผ๋์ผ๋ก ๋์) ๋ด์์๋ ๊ณ ์ ํฉ๋๋ค.
ํน์ ์ํฌ๋ก๋๋ ํ๋์ ํ์ค ์๋น์ค์ ์ผ๋ถ๋ก๋ง ํ์ฉ๋ ์ ์์ต๋๋ค.
์ํฌ๋ก๋ ๊ทธ๋ฃน์์ ๋ค์์ ํฌํจํ์ฌ ์ ์ํ๋ ํ์ค ์๋น์ค์ ์ ์ฒด ๋ฒ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ํธ์คํธ ์ด๋ฆ ๋ฐ IP ์ฃผ์
- ๋คํธ์ํฌ
- ๋คํธ์ํฌ ๋ฐ ๋ณด์ ์ ์ฑ
- ๋ผ์ฐํ ๋ฐ ๋ถํ ๋ถ์ฐ
- VM ๋ฐ ์ปจํ ์ด๋ ์ด๋ฏธ์ง
- ์ค์ ๋๋ ๊ฐ์ ์ธํ๋ผ
- ์ง๋ฆฌ์ ๋ฆฌ์
- CI/CD ์์คํ
- ์์ค ์ฝ๋
- ์๊ฒฉ ๋ถ์
- ์๋น์ค ์์ค ๋ชฉํ ๋ฐ ์๋ฆผ
Services ํ์ด์ง์์ ๊ฐ ์๋น์ค์ ์ด์ ์ธ๋ถ์ ๋ณด๋ฅผ ํ์ํ๋ ๋์๋ณด๋๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
ํ์ค ์๋น์ค ์๊ตฌ์ฌํญ ๋ฐ ์ ํ์ฌํญ
ํ์ค ์๋น์ค๋ Cloud Service Mesh ๋ฒ์ 1.6.8 ์ด์์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ฐ ํ์ค ์๋น์ค๋ ๋จ์ผ Kubernetes/Istio ๋ค์์คํ์ด์ค ์์ ์์ผ๋ฉฐ ๋ค์์คํ์ด์ค ๊ฒฝ๊ณ๋ฅผ ๋์ ์ ์์ต๋๋ค.
ํ์ค ์๋น์ค์ ์์ ๋ค์์คํ์ด์ค ๋ด์์ ๊ณ ์ ํ ์ด๋ฆ์ ์ง์ ํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํ์ค ์๋น์ค ์ ์๋ฅผ ์ฐธ์กฐํ์ธ์.
ํ์ค ์๋น์ค๋ ์ฌ๋ฌ ํด๋ฌ์คํฐ์ ๋ฆฌ์ ์ ์์ ์ ์์ต๋๋ค. ํด๋ฌ์คํฐ ๋ฐ ๋ฆฌ์ ๋ณ๋ก ๋ฆฌ์์ค ๋ฐ ์๊ฒฉ ๋ถ์์ ๋ถ๋ฅํ ์ ์์ง๋ง ์๋น์ค์ ๋ฒ์๋ ๊ณ ์ ์ฑ์ ๊ฒฐ์ ํ๋ ์์๋ ์๋๋๋ค.
๋ฐ๋ผ์ ํ์ค ์๋น์ค์ ๊ณ ์ ID๋ ๋ค์๊ณผ ๊ฐ์ด ๊ฒฐ์ ๋ฉ๋๋ค.
mesh id + namespace + canonical name.
๋ฒ์
๋ฒ์ ์ด๋ ์๋น์ค์ ์ฌ๋ฌ '๋ฒ์ ' ๋๋ '์ถ์'๋ฅผ ๊ตฌ๋ถํ๊ณ ์๋ณํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์๋น์ค์ ๋จ๊ณ์ ๋ณ๊ฒฝ์ฌํญ์ ์๋ฏธํฉ๋๋ค.
๊ฐ๋ณ ์ํฌ๋ก๋์ 'ํ์ค ๋ฒ์ '์ผ๋ก ๋ผ๋ฒจ์ ์ง์ ํ์ฌ ํ์ค ์๋น์ค ๋ฒ์ ์ ๊ตฌ๋ถํฉ๋๋ค. ์ด ๋ผ๋ฒจ์ ์ ์ํ ์ ์๋ ์์์ ๋ฌธ์์ด์ ๋๋ค. ๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋ผ๋ฒจ์ด ์๋์ผ๋ก ์ค์ ๋ ์ ์์ง๋ง ์ฌ์ฉ์ ๋๋ ์๋น์ค๋ฅผ ๋ฐฐํฌํ๋ CI/CD ์์คํ ์์ ๋ผ๋ฒจ์ ์ ์ฉํด์ผ ํฉ๋๋ค. ์ด ๋ผ๋ฒจ ์ค์ ์ ๋ํ ์๋ด๋ ํ์ค ์๋น์ค ์ ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์ฌ๋ฌ ๋ฒ์ ์ด ๋์์ ํ๋ก๋์ ๋จ๊ณ์ ์์ ์ ์์ต๋๋ค. ๋ค์์ ์ํํ๊ธฐ ์ํด ์ฌ๋ฌ ๋ฒ์ ์ ๋์์ ์คํํ๋ ๊ฒ์ด ๊ฐ์ฅ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
- ์๋น์ค์ ๋ชจ๋ ์ธ์คํด์ค์์ ์ ๋ฐ์ด๋๋ฆฌ, ์ ๊ตฌ์ฑ ๋๋ ๋ ๋ค์ ์ ์ง์ ์ถ์ ์ด ๊ฒฝ์ฐ ์ ํํ๋ ๋์ ์ด์ ๋ฒ์ ๊ณผ ์ ๋ฒ์ ์ด ๋ชจ๋ ํ์ฑํ๋ฉ๋๋ค.
- ์๋น์ค์ ๋ ๊ฐ์ง ๋ฒ์ ์ด ๋ค์ด์คํธ๋ฆผ ํธ์ถ์์ ํ์ ์งํฉ์ ๋ ธ์ถ๋์ด ๋ณ๊ฒฝ์ฌํญ์ด ๋ฏธ์น๋ ์ํฅ์ ํ ์คํธํ๋ 'A/B ํ ์คํธ' ๋๋ '์ค์๊ฐ ์คํ'