๋ถํํ๋ AppsCode์ ํ๋ฅญํ ์ฌ๋๋ค(kubedb ์ ์์)์ ์ด์ ๊ฐ ์ฌ์ฉ์์๊ฒ ๋ฌด๋ฃ ๋ผ์ด์ ์ค๋ฅผ ์ทจ๋ํ๋๋ก ์๊ตฌํฉ๋๋ค. kuby๋ ๋ผ์ด์ ์ค๋ฅผ ์๋์ผ๋ก ์ป๊ธฐ ์ํด ๋ช ๊ฐ์ง ๊น๋ค๋ก์ด ์์ ์ ์ํํ ์ ์์ง๋ง ํนํ ๋๋์ ์ผ๋ก ๋๊ปด์ง์ง ์์ต๋๋ค(๋๋ ์ด์ฉ๋ฉด ํฉ๋ฒ์ ์ผ๊น์?). ์ ๊ฐ ์๊ฐํ ์ ์๋ ์ ์ผํ ํด๊ฒฐ์ฑ ์ ํด๋ฌ์คํฐ ์ค์ ์ค์ ์ฌ์ฉ์๋ฅผ AppsCode ์น์ฌ์ดํธ๋ก ์๋ดํ ๋ค์ ํ๋กฌํํธ๋ฅผ ํ์ํ๋ ๊ฒ์ ๋๋ค. ๋ผ์ด์ผ์ค ํ์ผ์ ๋ด์ฉ์ ๋ํด. ๋ถ๋ช ํ ๊ทธ๊ฒ์ ์ด์์ ์ด์ง๋ ์์ง๋ง, ์ฐ๋ฆฌ๊ฐ kuby์ ํจ๊ป kubedb๋ฅผ ๊ณ์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง ์ ์๋ ์ ์ผํ ์ต์ ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์, ์ฌ๊ธฐ์ ์ถ๊ฐ ์ปจํ ์คํธ๊ฐ ์์ต๋๋ค. ์ด๋ ค์ด ๋ถ๋ถ์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ๋ผ์ด์ ์ค๋ฅผ ๊ฐ์ ธ์ค์ง ์๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค(๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ฌ๋๋ค์๊ฒ ๋ผ์ด์ ์ค ์๋ฒ ํ ํฐ, ์ด๋ฉ์ผ ์ฃผ์ ๋ฑ์ ๋ฌป๋ ๋ฉ์์ง๋ฅผ ํ์ํด์ผ ํจ). ์ด๋ ค์ด ๋ถ๋ถ์ kubedb ์ด์์์ ๊ฐ๋ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ _์ ๊ทธ๋ ์ด๋_ํ๋ ๊ฒ์ ๋๋ค. ๋ถ๋ช ํ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค๋ฅผ ์ค๋จํ๊ณ ์ถ์ง ์๊ธฐ ๋๋ฌธ์ v0.12๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ ์์ฒด๊ฐ ์ด๋ ต์ง๋ง ๊ฒฐ๊ตญ ์๋ํ๊ฒ ๋์์ต๋๋ค. ๋คํ์ค๋ฝ๊ฒ๋ v0.18(์ด ๊ธ์ ์ฐ๋ ์์ ์์ ์ต์ ๋ฒ์ )์ ์ค์นํ๋ ๊ฒ์ Helm์ ์ฌ์ฉํ๋ฉด ๊ฝค ์ฝ์ต๋๋ค... ํ์ง๋ง _์ด๋ฏธ ์คํ ์ค์ธ(๋ค์ดํ์ ์์ด) ๊ธฐ์กด Postgres ๋๋ MySQL ์ธ์คํด์ค๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ต์ต๋๋ค. Postgres์์ (๊ฑฐ์) ์์ ํ ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Postgres
CRD๋ฅผ ์ญ์ ํ๋ ๊ฒ์ ์๋นํ ๊บผ๋ คํ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ์ฝ๊ฐ ๊น๋ค๋ก์ธ ์ ์์ต๋๋ค. ๋ง์ด๋๋ค. ๋คํ์ค๋ฝ๊ฒ๋ k8์ด ์ํ๋ ๊ฒ์ ํ๋๋ก ์์ผ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.postgres
๊ฐ ์๋ ๊ฒฝ์ฐ postgres
์ฌ์ฉ์์๊ฒ ์ db์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๊ณตํ๋๋ก ์ฃผ์ํ์ญ์์ค. (Kuby๋ ๊ธฐ๋ณธ์ ์ผ๋ก root
๋ฅผ ์ฌ์ฉํฉ๋๋ค) . ์ด๊ฒ์ kubedb์ ์ด๊ธฐํ ์คํฌ๋ฆฝํธ์ ์๋ ๋ฒ๊ทธ๋ผ๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ํ์ํฉ๋๋ค. ์ด ์ db๋ ๋ถ๋ช
ํ ์ด์ ์ด๋ฆ๊ณผ ๋ค๋ฅธ ์ด๋ฆ์ ๊ฐ์ ธ์ผ ํ๋ฏ๋ก ๋ฌธ์ ๊ฐ ๋ฉ๋๋ค. db์ ์ด๋ฆ์ rails๊ฐ ์ฐ๊ฒฐํ๋ DNS ์ด๋ฆ์ ๊ฒฐ์ ํ๋๋ฐ, ์ฐ๋ฆฌ๊ฐ ์ค์ ๋ก ๋ณ๊ฒฝํ ์๋ ์์ต๋๋ค. ํ ...๋๋ ํ์ฌ ์๋ก์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋น์ค์์ rails ์ฑ์ ์ฝ๊ฒ ๊ฐ๋ฆฌํค๋ ๋ฐฉ๋ฒ์ ์์ ๋ด๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ์๋น์ค URL์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ ์ฝ๋ฉ๋์ด ์์ผ๋ฉฐ ๋์ ์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋์ฑ์ด ์๋ก์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋น์ค๋ ๊ธฐ์กด ์๋น์ค์ ๋์ผํ ์ด๋ฆ์ ๊ฐ์ง ์ ์์ผ๋ฏ๋ก "์ฌ๋ฐ๋ฅธ" ์๋น์ค๋ฅผ ์ด๋๊ฐ์ ์ ์ฅํ๊ณ (๋ฐฐํฌ์ ๋ํ ์ฃผ์์ผ ์๋ ์์) ๋ชจ๋ ... docker build cuz์์ ์ฐธ์กฐํด์ผ ํฉ๋๋ค. ๊ทธ ๋ ์ฐ๋ฆฌ๊ฐ database.yml์ ๋ค์ ์์ฑํฉ๋๊น? ์ผ์ฝ.
๋ ๋ค๋ฅธ ์๋ฃจ์ ์ ๋ก๋ ๋ฐธ๋ฐ์์ ๊ฐ์ด ์๋น์ค ์์ ์๋ ํ ์๋น์ค ๋๋ ๋ค๋ฅธ ์๋น์ค์์ ๋์ ์ผ๋ก ํธ๋ํฝ์ ๊ฐ๋ฆฌํฌ ์ ์๋ ์ผ์ข ์ ํ๋ก์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
kuby๋ ๋ผ์ด์ ์ค๋ฅผ ์๋์ผ๋ก ์ป๊ธฐ ์ํด ๋ช ๊ฐ์ง ๊น๋ค๋ก์ด ์์ ์ ์ํํ ์ ์์ง๋ง, ์ด๋ ํน๋ณํ ๋๋์ ์ผ๋ก ๋๊ปด์ง์ง ์์ต๋๋ค(๋๋ ์ด์ฉ๋ฉด ๋ฒ์ ?).
Tamal์ ์ข์ ์น๊ตฌ์ด๋ฉฐ ์ฌ์ฉ์์๊ฒ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์์ธํ ๊ณต๊ฐํ์ฌ ์๋ง์ ์์ ๋ผ์ด์ ์ค๊ฐ ๋ง๋ฃ๋ ๋ ์ฌ์ฉ์๊ฐ ๋๋ผ์ง ์๋ ํ ๊ทธ๊ฐ ์ ํ ์ ๊ฒฝ ์ฐ์ง ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. (? ๋ผ์ด์ผ์ค๊ฐ ๋ง๋ฃ๋๋ฉด ์ด๋ป๊ฒ ๋๋์? ์ง๊ธ์ ๊ถ๊ธํฉ๋๋ค. ๋ฐฑ์ ์ด ์ค์ง๋์๋ค๋ ์๋ฏธ๋ผ๋ฉด ๋์ ์ ์์ต๋๋ค. ๋ค๋ฅธ ์ผ์ด ์คํจํ๊ธฐ ์์ํ๋ฉด ๋ํ ๋์ ์ ์์ต๋๋ค... ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ ์ ์๋ค๋ ์๋ฏธ๋ผ๋ฉด ์ด์ ๋ผ์ด์ ์ค๊ฐ ๊ฐฑ์ ๋ ๋๊น์ง ๋์์ง ์์ ๊ฒ์ ๋๋ค.)
์ธ๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ต์ ์ด ์ด๋ฏธ ์์ผ๋ฏ๋ก ์ฌ์ฉ์๋ KubeDB๋ฅผ ๊ณ์ ์ฌ์ฉํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค.
์ ๊ทธ๋ ์ด๋์ ํ์ํ ์ฌํญ์ ์๋ดํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ์ ๋ ํ๋ก๋์ ํด๋ฌ์คํฐ๋ฅผ ์ํด Team Hephy์ ๊ด๋ํ๊ฒ ๋ถ์ฌ๋ KubeDB์ ๋ํ ๋ผ์ด์ ์ค๊ฐ ์์ผ๋ฉฐ KubeDB์์ ์์๋๊ฑฐ๋ ํธ์คํ ๋ ์ ์ด ์๋ ์ ๊ทธ๋ ์ด๋๊ฐ ํ์ํ ์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ฐฐ์ธ ์ ์๋ ๋ผ์ด์ผ์ค๋ฅผ ์ป์๊ณ PostgresQL๊ณผ MariaDB๋ฅผ ๋ชจ๋ ๊ฐ์ง๊ณ ์์ต๋๋ค. tl;dr ์ด ์์ญ์์๋ ์ ์์ ์ ์๋์ต๋๋ค.
์ ๋ ์ด์ ํ ๋ฉ ํด๋ฌ์คํฐ์์ ์ ์ ํ ์คํ ๋ฆฌ์ง CSI ๋๋ผ์ด๋ฒ๋ฅผ ์๋ํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๊ณ ์์ผ๋ฉฐ ์ด๊ฒ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฒ๋ฆฌํ๊ณ "ํ๋ก๋์ " ํด๋ฌ์คํฐ์ ์ฌํด ๋ณต๊ตฌ ์์ฑ์ ๊ฐ์ ํ๋ ๋ฐฉ๋ฒ์ ํฐ ์ฐจ์ด๋ฅผ ๋ง๋ค ๊ฒ์ผ๋ก ๊ธฐ๋ํฉ๋๋ค. ๐
Kuby๋ ๋ํ ์ฅ๊ธฐ์ ์ผ๋ก KubeDB์ ํ๋ฅญํ ํ๋งค ๋ฒกํฐ๊ฐ ๋ ์ ์์ต๋๋ค. ๋๋ ๋น์ ์ด ๊ทธ๊ฒ์ ๋ํด ์ด๋ป๊ฒ ๋๋์ง ๋ชจ๋ฅด๊ฒ ์ด์!