์ด ๋ณด๊ณ ์๋ Kubernetes์์ ์ฐ์ฐ์๋ฅผ ๊ฐ๋ฐํ๊ณ ์ํคํ ์ฒ์ ๊ธฐ๋ณธ ์ด์ ์์น์ ์ค๊ณํ๋ ์ค์ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๊ณ ์์ต๋๋ค.
๋ณด๊ณ ์์ ์ฒซ ๋ฒ์งธ ๋ถ๋ถ์์๋ ๋ค์์ ๊ณ ๋ คํ ๊ฒ์ ๋๋ค.
- Kubernetes์ ์ด์์๋ ๋ฌด์์ด๋ฉฐ ์ ํ์ํ๊ฐ์?
- ์ด์์๊ฐ ๋ณต์กํ ์์คํ ์ ๊ด๋ฆฌ๋ฅผ ์ผ๋ง๋ ๋จ์ํํ๋์ง;
- ์ด์์๊ฐ ํ ์ ์๋ ๊ฒ๊ณผ ํ ์ ์๋ ๊ฒ.
๋ค์์ผ๋ก ์ฐ์ฐ์์ ๋ด๋ถ ๊ตฌ์กฐ์ ๋ํด ๋ ผ์ํด ๋ณด๊ฒ ์ต๋๋ค. ์ฐ์ฐ์์ ์ํคํ ์ฒ์ ์๋์ ๋จ๊ณ๋ณ๋ก ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์์ธํ ์ดํด ๋ณด๊ฒ ์ต๋๋ค.
- ์ด์์์ Kubernetes ๊ฐ์ ์ํธ ์์ฉ
- ์ด์์๊ฐ ์ํํ๋ ๊ธฐ๋ฅ๊ณผ Kubernetes์ ์์ํ๋ ๊ธฐ๋ฅ์ ๋ฌด์์ ๋๊น?
Kubernetes์์ ์ค๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณต์ ๋ณธ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋ค์์ผ๋ก ๋ฐ์ดํฐ ์ ์ฅ ๋ฌธ์ ์ ๋ํด ๋
ผ์ํ๊ฒ ์ต๋๋ค.
- ์ด์์์ ๊ด์ ์์ ์๊ตฌ ์ ์ฅ์๋ก ์์ ํ๋ ๋ฐฉ๋ฒ
- ๋ก์ปฌ ์ ์ฅ์ ์ฌ์ฉ์ ํจ์ .
๋ณด๊ณ ์์ ๋ง์ง๋ง ๋ถ๋ถ์์๋ ์ค์ ์ ์ฉ ์ฌ๋ก๋ฅผ ๊ณ ๋ คํ ๊ฒ์
๋๋ค.
๋น๋์ค :
๋ด ์ด๋ฆ์ ๋ธ๋ผ๋์ฌ๋ผํ ํด๋ฆฌ๋ฉ์ฝ(Vladislav Klimenko)์
๋๋ค. ์ค๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํ๋ ์ ๋ฌธ ์ด์์์ธ ์ด์์๋ฅผ ๊ฐ๋ฐํ๊ณ ์ด์ํ ๊ฒฝํ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์ถ์์ต๋๋ค. ์๋ฅผ ๋ค์ด
์ด์์์ ํด๋ฆญํ์ฐ์ค์ ๋ํด ์ด์ผ๊ธฐํ ๊ธฐํ๊ฐ ์๋ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
- ClickHouse๋ฅผ ์ง์ํ๊ณ ๊ฐ๋ฐํฉ๋๋ค.
- ํ์ฌ ์ฐ๋ฆฌ๋ ClickHouse์ ๋ฐ์ ์ ์ฒ์ฒํ ๊ธฐ์ฌํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ClickHouse์ ๋ณ๊ฒฝ๋ ์ธก๋ฉด์์ Yandex์ ์ด์ด XNUMX์๋ฅผ ์ฐจ์งํ์ต๋๋ค.
- ClickHouse ์ํ๊ณ๋ฅผ ์ํ ์ถ๊ฐ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ค๊ณ ํฉ๋๋ค.
์ ๋ ์ด๋ฌํ ํ๋ก์ ํธ ์ค ํ๋์ ๋ํด ๋ง์๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. Kubernetes์ฉ ClickHouse-operator์ ๊ดํ ๋ด์ฉ์ ๋๋ค.
๋ด ๋ณด๊ณ ์์์๋ ๋ค์ ๋ ๊ฐ์ง ์ฃผ์ ๋ฅผ ๋ค๋ฃจ๊ณ ์ถ์ต๋๋ค.
- ์ฒซ ๋ฒ์งธ ์ฃผ์ ๋ ClickHouse ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์ฐ์ฐ์๊ฐ Kubernetes์์ ์๋ํ๋ ๋ฐฉ์์ ๋๋ค.
- ๋ ๋ฒ์งธ ์ฃผ์ ๋ ์ด์์๊ฐ ์๋ํ๋ ๋ฐฉ์, ์ฆ Kubernetes์ ์ํธ์์ฉํ๋ ๋ฐฉ์์ ๋๋ค.
ํ์ง๋ง ์ด ๋ ์ง๋ฌธ์ ๋ด ๋ณด๊ณ ์ ์ ๋ฐ์ ๊ฑธ์ณ ๊ต์ฐจํ ๊ฒ์ ๋๋ค.
๋ด๊ฐ ๋งํ๋ ค๋ ๊ฒ์ ๋๊ฐ ๋ฃ๊ณ ์ถ์ดํ ๊น์?
- ์ด์์๋ฅผ ์ด์ํ๋ ์ฌ๋๋ค์ด ๊ฐ์ฅ ๊ด์ฌ์ ๊ฐ์ง ๊ฒ์ ๋๋ค.
- ๋๋ ๋ด๋ถ์ ์ผ๋ก ์๋ํ๋ ๋ฐฉ์, ์ด์์๊ฐ Kubernetes์ ์ํธ ์์ฉํ๋ ๋ฐฉ์, ๋ํ๋ ์ ์๋ ํจ์ ์ ์ดํดํ๊ธฐ ์ํด ์ง์ ๋ง๋ค๊ณ ์ถ์ ์ฌ๋๋ค์ ์ํ ๊ฒ์ ๋๋ค.
์ค๋ ๋ ผ์ํ ๋ด์ฉ์ ๊ฐ์ฅ ์ ์ดํดํ๋ ค๋ฉด Kubernetes์ ์๋ ๋ฐฉ์์ ์๊ณ ๊ธฐ๋ณธ์ ์ธ ํด๋ผ์ฐ๋ ๊ต์ก์ ๋ฐ๋ ๊ฒ์ด ์ข์ต๋๋ค.
ํด๋ฆญํ์ฐ์ค๋ ๋ฌด์์ธ๊ฐ์? ์ด๋ ๋ถ์ ์ฟผ๋ฆฌ์ ์จ๋ผ์ธ ์ฒ๋ฆฌ๋ฅผ ์ํ ํน์ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์ปฌ๋ผํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์์ ํ ์คํ ์์ค์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๊ฐ ๋ ๊ฐ์ง๋ง ์๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ด๊ฒ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๋ ๊ฒ์ ์์์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ ๊ฐ ๋ง์๋๋ฆด ๋ด์ฉ์ ๊ฑฐ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ClickHouse DBMS์ ํ์ฅ์ฑ์ด ๋งค์ฐ ๋ฐ์ด๋๋ค๋ ์ฌ์ค์ ๊ฑฐ์ ์ ํ์ ์ธ ํ์ฅ์ฑ์ ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ผ์ ํด๋ฌ์คํฐ ์ํ๋ ClickHouse์ ์์ฐ์ค๋ฌ์ด ์ํ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ Kubernetes์์ ClickHouse ํด๋ฌ์คํฐ๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ ผ์ํ๋ ๋ฐ ๊ฐ์ฅ ๊ด์ฌ์ด ์์ต๋๋ค.
์ ๊ฑฐ๊ธฐ์ ๊ทธ๊ฐ ํ์ํ๊ฐ์? ์ ์ฐ๋ฆฌ๋ ๊ณ์ํด์ ์ค์ค๋ก ์ด์ํ ์ ์๋์? ๊ทธ๋ฆฌ๊ณ ๋๋ต์ ๋ถ๋ถ์ ์ผ๋ก๋ ๊ธฐ์ ์ ์ด๊ณ ๋ถ๋ถ์ ์ผ๋ก๋ ์กฐ์ง์ ์ ๋๋ค.
- ์ค์ ๋ก ๋๊ธฐ์ ์์๋ ๊ฑฐ์ ๋ชจ๋ ๊ตฌ์ฑ ์์๊ฐ ์ด๋ฏธ Kubernetes์ ์๋ ์ํฉ์ด ์ ์ ๋ ๋ง์ด ๋ฐ์ํ๊ณ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ธ๋ถ์ ๋จ์ ์์ต๋๋ค.
- ๊ทธ๋ฆฌ๊ณ โ์ด๊ฒ์ ์์ ๋ฃ์ ์ ์๋์?โ๋ผ๋ ์ง๋ฌธ์ด ์ ์ ๋ ๋ง์์ง๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋๊ธฐ์ ์์๋ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค๋ฅผ ์ ์ํ๊ฒ ๊ด๋ฆฌํ ์ ์๋๋ก ์ต๋ํ์ ๊ด๋ฆฌ ํต์ผ์ฑ์ ๋ฌ์ฑํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค.
- ์ด๋ ํนํ ์๋ก์ด ์ฅ์์์ ๋์ผํ ์์ ์ ๋ฐ๋ณตํ ์ ์๋ ์ต๋ํ์ ๊ธฐํ, ์ฆ ์ต๋์ ์ด์์ฑ์ด ํ์ํ ๊ฒฝ์ฐ์ ๋์์ด ๋ฉ๋๋ค.
์ผ๋ง๋ ์ฝ๋์, ์๋๋ฉด ์ด๋ ต๋์? ๋ฌผ๋ก ์ด๊ฒ์ ์์ผ๋ก ํ ์ ์์ต๋๋ค. ํ์ง๋ง Kubernetes ์์ฒด๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ๋ณต์ก์ฑ์ด ์ถ๊ฐ๋๋ฉด์ ๋์์ ClickHouse์ ์ธ๋ถ ์ฌํญ์ด ๊ฒน์ณ์ง๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๊ฒ ๊ฐ๋จํ์ง๋ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ฌํ ์ง๊ณ ๊ฒฐ๊ณผ๊ฐ ๋ํ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ๋ชจ๋ ๊ฒ์ด ํฉ์ณ์ ธ ๊ฝค ํฐ ๊ธฐ์ ์ธํธ๋ฅผ ์ ๊ณตํ๋๋ฐ, Kubernetes๋ ์ด์์ ์์ฒด์ ์ธ ์ผ์์ ์ธ ๋ฌธ์ ๋ฅผ ๊ฐ์ ธ์ค๊ณ ClickHouse๋ ์ผ์์ ์ธ ์์ ์ ์์ฒด์ ์ธ ๋ฌธ์ ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ๋๋ฌธ์ ๊ด๋ฆฌํ๊ธฐ๊ฐ ์๋นํ ์ด๋ ค์์ง๋๋ค. ํนํ ClickHouse๊ฐ ์ฌ๋ฌ ๊ฐ ์๊ณ ์ด๋ฅผ ํตํด ์ง์์ ์ผ๋ก ์์ ์ ์ํํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค.
๋์ ๊ตฌ์ฑ์ ์ฌ์ฉํ๋ ClickHouse์๋ DevOps์ ์ง์์ ์ธ ๋ก๋๋ฅผ ์์ฑํ๋ ์๋นํ ๋ง์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
- ์๋ฅผ ๋ค์ด ๋ณต์ ๋ณธ์ด๋ ์ค๋๋ฅผ ์ถ๊ฐํ๋ ๋ฑ ClickHouse์์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด ๊ตฌ์ฑ์ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค.
- ๊ทธ๋ฐ ๋ค์ ClickHouse์๋ ํน์ ์ค๋ฉ ๋ฐฉ๋ฒ์ด ์์ผ๋ฏ๋ก ๋ฐ์ดํฐ ์คํค๋ง๋ฅผ ๋ณ๊ฒฝํ์ธ์. ๊ฑฐ๊ธฐ์์ ๋ฐ์ดํฐ ๋ค์ด์ด๊ทธ๋จ์ ๋ฐฐ์นํ๊ณ ๊ตฌ์ฑ์ ๋ฐฐ์นํด์ผ ํฉ๋๋ค.
- ๋ชจ๋ํฐ๋ง์ ์ค์ ํด์ผ ํฉ๋๋ค.
- ์ ์ค๋, ์ ๋ณต์ ๋ณธ์ ๋ํ ๋ก๊ทธ๋ฅผ ์์งํฉ๋๋ค.
- ๋ณต์์ ์ ๊ฒฝ์ฐ์ธ์.
- ๊ทธ๋ฆฌ๊ณ ๋ค์ ์์ํ์ธ์.
์ด๋ ์ ๊ฐ ์ ๋ง๋ก ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค๊ณ ์ถ์ ์ผ์์ ์ธ ์์ ์ ๋๋ค.
Kubernetes ์์ฒด๋ ์ด์์ ๋์์ด ๋์ง๋ง ๊ธฐ๋ณธ์ ์ธ ์์คํ ๋ฌธ์ ์๋ ๋์์ด ๋ฉ๋๋ค.
Kubernetes๋ ๋ค์๊ณผ ๊ฐ์ ์์ ์ ์ด์งํ๊ณ ์๋ํํ๋ ๋ฐ ๋ฅ์ํฉ๋๋ค.
- ํ๋ณต.
- ์ฌ์์.
- ์คํ ๋ฆฌ์ง ์์คํ ๊ด๋ฆฌ.
์ข์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ด์ง๋ง ๊ทธ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ๋ฅผ ์ด์ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ ํ ๋ชจ๋ฆ ๋๋ค.
์ฐ๋ฆฌ๋ ๋ ๋ง์ ๊ฒ์ ์ํ๋ฉฐ ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ Kubernetes์์ ์๋ํ๊ธฐ๋ฅผ ์ํฉ๋๋ค.
๋๋ ํฐ ๋ง๋ฒ์ ๋นจ๊ฐ ๋ฒํผ์ ๋๋ฅด๋ฉด ํด๊ฒฐํด์ผ ํ ์ผ์์ ์ธ ์์ ์ด ํฌํจ๋ ํด๋ฌ์คํฐ๊ฐ ์ ์ฒด ์๋ช ์ฃผ๊ธฐ ๋์ ๋ฐฐํฌ ๋ฐ ์ ์ง ๊ด๋ฆฌ๋๋ ๊ฒ์ ์ํฉ๋๋ค. Kubernetes์ ClickHouse ํด๋ฌ์คํฐ.
๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ์์ ์ ๋ ์ฝ๊ฒ ๋ง๋๋ ๋ฐ ๋์์ด ๋๋ ์๋ฃจ์ ์ ๋ง๋ค๋ ค๊ณ ๋ ธ๋ ฅํ์ต๋๋ค. Altinity์ Kubernetes์ฉ ClickHouse ์ด์์์ ๋๋ค.
์ด์์๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ฃผ์ ์๋ฌด์ธ ํ๋ก๊ทธ๋จ, ์ฆ ๊ด๋ฆฌ์์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์๋ ํ๋ ํจํด์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ด๋ฅผ ์ฃผ์ ์์ญ์ ๋ํ ์ฑ๋ฌธํ๋ ์ง์์ด๋ผ๊ณ ๋ถ๋ฅผ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ์ ์ฃผ์ ์๋ฌด๋ DevOps์ ์ถ์ ๋ ์ฝ๊ฒ ๋ง๋ค๊ณ ๋ง์ดํฌ๋ก ๊ด๋ฆฌ๋ฅผ ์ค์ฌ ๊ทธ(DevOps)๊ฐ ์ด๋ฏธ ๋์ ์์ค์ ์ฉ์ด๋ก ์๊ฐํ๋๋ก ํ๋ ๊ฒ์ ๋๋ค. ์ฆ, ๊ทธ(DevOps)๊ฐ ๋ง์ดํฌ๋ก ๊ด๋ฆฌ์ ๊ด์ฌํ์ง ์๋๋ก ๊ตฌ์ฑํ์ง ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค. ๋ชจ๋ ์ธ๋ถ ์ฌํญ์ ์๋์ผ๋ก ์ํํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด์์๋ ๋ฏธ์ธ ์์ ์ ์ฒ๋ฆฌํ๊ณ DevOps๋ฅผ ๋๋ ๋ก๋ด ๋ณด์กฐ์์ ๋๋ค.
์ ์ด์์๊ฐ ํ์ํฉ๋๊น? ๊ทธ๋ ํนํ ๋ ๊ฐ์ง ์์ญ์์ ์ข์ ์ฑ๊ณผ๋ฅผ ๋์ต๋๋ค.
- ClickHouse๋ฅผ ๋ค๋ฃจ๋ ์ ๋ฌธ๊ฐ๊ฐ ๊ฒฝํ์ด ๋ถ์กฑํ์ง๋ง ์ด๋ฏธ ClickHouse๋ฅผ ์๋ํด์ผ ํ๋ ๊ฒฝ์ฐ, ์ด์์๋ ์๋ ๋ฐฉ์์ ๋๋ฌด ์์ธํ ์ค๋ช ํ์ง ์๊ณ ๋ ์๋์ ์ฉ์ดํ๊ฒ ํ๊ณ ๋ค์ ๋ณต์กํ ๊ตฌ์ฑ์ผ๋ก ClickHouse ํด๋ฌ์คํฐ๋ฅผ ์๋ํ ์ ์๋๋ก ํด์ค๋๋ค. ๋ด๋ถ์. ๊ทธ์๊ฒ ๋์ ์์ค์ ์์ ์ ์ฃผ๊ธฐ๋ง ํ๋ฉด ์๋ํฉ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ ์ํ๋๋ ๋ ๋ฒ์งธ ์์ ์ ๋ง์ ์์ ์ผ๋ฐ์ ์ธ ์์ ์ ์๋ํํด์ผ ํ ๋์ ๋๋ค. ์์คํ ๊ด๋ฆฌ์๋ก๋ถํฐ ๋ง์ดํฌ๋กํ์คํฌ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
์ด๋ ์ด์ ๋ง ์ฌํ์ ์์ํ๋ ์ฌ๋์ด๋ ๋ง์ ์๋ํ๊ฐ ํ์ํ ์ฌ๋์๊ฒ ๊ฐ์ฅ ํ์ํฉ๋๋ค.
์ด์์ ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ ๋ค๋ฅธ ์์คํ ๊ณผ ์ด๋ป๊ฒ ๋ค๋ฆ ๋๊น? ํฌ๋ฆ์ด ์์ต๋๋ค. ๋ํ ClickHouse๋ฅผ ์ค์นํ๋ ๋ฐ ๋์์ด ๋๋ฉฐ ์ ์ฒด ClickHouse ํด๋ฌ์คํฐ๋ฅผ ์ค์นํ๋ ์กฐํ ์ฐจํธ๋ฅผ ๊ทธ๋ฆด ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์ฐ์ฐ์์ Helm๊ณผ ๊ฐ์ ์ฐ์ฐ์์ ์ฐจ์ด์ ์ ๋ฌด์์ ๋๊น?
์ฃผ์ ๊ทผ๋ณธ์ ์ธ ์ฐจ์ด์ ์ Helm์ด ํจํค์ง ๊ด๋ฆฌ์ด๊ณ Operator๊ฐ ํ ๋จ๊ณ ๋ ๋์๊ฐ๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋ ์ ์ฒด ์๋ช ์ฃผ๊ธฐ์ ๋ํ ์ง์์ ๋๋ค. ์ด๋ ์ค์น๋ฟ๋ง ์๋๋ผ ํ์ฅ, ์ค๋ฉ, ์ฆ ์๋ช ์ฃผ๊ธฐ ๋์ ์ํํด์ผ ํ๋ ๋ชจ๋ ์์ (ํ์ํ ๊ฒฝ์ฐ ์ญ์ ๋ ํฌํจ)์ ํฌํจํ๋ ์ผ์์ ์ธ ์์ ์ ๋๋ค. ์ด๋ ๋ชจ๋ ์ด์์๊ฐ ๊ฒฐ์ ํฉ๋๋ค. ์ ์ฒด ์ํํธ์จ์ด ์๋ช ์ฃผ๊ธฐ๋ฅผ ์๋ํํ๊ณ ์ ์งํ๋ ค๊ณ ์๋ํฉ๋๋ค. ์ด๊ฒ์ด ์ ์๋ ๋ค๋ฅธ ์๋ฃจ์ ๊ณผ์ ๊ทผ๋ณธ์ ์ธ ์ฐจ์ด์ ์ ๋๋ค.
์ด์์ผ๋ก ์๊ฐ ๋ถ๋ถ์ด์์ต๋๋ค. ๊ณ์ ์งํํ๊ฒ ์ต๋๋ค.
์ฐ์ฐ์๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ถํฉ๋๊น? ClickHouse ํด๋ฌ์คํฐ๋ฅผ ๋จ์ผ ๋ฆฌ์์ค๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ๋ฌธ์ ์ ์ ๊ทผํ๋ ค๊ณ ํฉ๋๋ค.
๊ทธ๋ฆผ์ ์ผ์ชฝ์๋ ์ ๋ ฅ ๋ฐ์ดํฐ๊ฐ ์์ต๋๋ค. ์ด๋ kubectl์ ํตํด ์ ํต์ ์ธ ๋ฐฉ์์ผ๋ก Kubernetes์ ์ ๋ฌ๋๋ ํด๋ฌ์คํฐ ์ฌ์์ด ํฌํจ๋ YAML์ ๋๋ค. ๊ทธ๊ณณ์์ ์ฐ๋ฆฌ ๊ตํ์์ด ๊ทธ๊ฒ์ ์ง์ด ๋ค๊ณ ๋ง๋ฒ์ ๋ถ๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ถ๋ ฅ์์ โโ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์ฑํ๋ฅผ ์ป์ต๋๋ค. ์ด๋ Kubernetes์์ ClickHouse๋ฅผ ๊ตฌํํ ๊ฒ์ ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์ด์์๊ฐ ์ ํํ ์ด๋ป๊ฒ ์๋ํ๋์ง, ์ด๋ค ์ผ๋ฐ์ ์ธ ์์ ์ ํด๊ฒฐํ ์ ์๋์ง ์ฒ์ฒํ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์๊ฐ์ด ์ ํ๋์ด ์์ผ๋ฏ๋ก ์ผ๋ฐ์ ์ธ ์์ ๋ง ๊ณ ๋ คํ๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์์๊ฐ ๊ฒฐ์ ํ ์ ์๋ ๋ชจ๋ ์ฌํญ์ด ๋ ผ์๋๋ ๊ฒ์ ์๋๋๋ค.
์ฐ์ต๋ถํฐ ์์ํด๋ณด์. ์ฐ๋ฆฌ ํ๋ก์ ํธ๋ ์์ ํ ์คํ ์์ค์ด๋ฏ๋ก GitHub์์ ์ด๋ป๊ฒ ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ฅ ์์ํ๊ณ ์ถ๋ค๋ฉด ๋น ๋ฅธ ์์ ๊ฐ์ด๋๋ก ์์ํ ์ ์๋ค๋ ๊ณ ๋ ค ์ฌํญ์ ๋ฐํ์ผ๋ก ์งํํ ์ ์์ต๋๋ค.
์์ธํ ์ดํดํ๊ณ ์ถ๋ค๋ฉด ๋ฌธ์๋ฅผ ์ด๋ ์ ๋ ๊ด์ฐฎ์ ํํ๋ก ์ ์งํ๋ ค๊ณ ๋ ธ๋ ฅํฉ๋๋ค.
์ค์ฉ์ ์ธ ๋ฌธ์ ๋ถํฐ ์์ํด ๋ณด๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ ๋ชจ๋๊ฐ ์์ํ๊ณ ์ถ์ ์ฒซ ๋ฒ์งธ ์์ ์ ์ฒซ ๋ฒ์งธ ์์ ๋ฅผ ์ด๋ป๊ฒ๋ ์คํํ๋ ๊ฒ์ ๋๋ค. ์ด๋ป๊ฒ ์๋ํ๋์ง ์ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ์๋ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ClickHouse๋ฅผ ์ด๋ป๊ฒ ์์ํ ์ ์๋์? ์ฐ๋ฆฌ๋ ์ ์ธ๋ฌธ์ ์์ฑํ๊ณ ์์ต๋๋ค. ์๋๋ฉด... k8s์์ ๋ชจ๋ ํต์ ์ ๋งค๋ํ์คํธ๋ฅผ ํตํ ํต์ ์ ๋๋ค.
์ด๊ฒ์ ๋งค์ฐ ๋ณต์กํ ์ ์ธ๋ฌธ์ ๋๋ค. ๋นจ๊ฐ์์ผ๋ก ๊ฐ์กฐํ ๋ถ๋ถ์ด ์ฐ๋ฆฌ๊ฐ ์ง์คํด์ผ ํ ๋ถ๋ถ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ด์์์๊ฒ ๋ฐ๋ชจ๋ผ๋ ์ด๋ฆ์ ํด๋ฌ์คํฐ๋ฅผ ์์ฑํด ๋ฌ๋ผ๊ณ ์์ฒญํฉ๋๋ค.
์ด๋ ํ์ฌ๋ก์๋ ๊ธฐ๋ณธ์ ์ธ ์์ ๋๋ค. ์คํ ๋ฆฌ์ง์ ๋ํด์๋ ์์ง ์ค๋ช ํ์ง ์์์ง๋ง ์กฐ๊ธ ํ์ ์คํ ๋ฆฌ์ง์ ๋ํด ๋ค์ ์ค๋ช ํ๊ฒ ์ต๋๋ค. ์ง๊ธ์ ํด๋ฌ์คํฐ ๊ฐ๋ฐ์ ์ญํ์ ๊ด์ฐฐํ๊ฒ ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด ์ ์ธ๋ฌธ์ ๋ง๋ค์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ์ด์์์๊ฒ ๊ณต๊ธํฉ๋๋ค. ๊ทธ๋ ์ผํ๊ณ ๋ง์ ์ ๋ง๋ค์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ฝ์์ ๋ด ๋๋ค. ๊ด์ฌ ์๋ ์ธ ๊ฐ์ง ๊ตฌ์ฑ ์์๋ Pod, ๋ ๊ฐ์ ์๋น์ค, StatefulSet์ ๋๋ค.
์ด์์๊ฐ ์์ ํ์ผ๋ฉฐ ๊ทธ๊ฐ ์ ํํ ๋ฌด์์ ์์ฑํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
๊ทธ๋ ์ด๋ฐ ๊ฒ์ ๋ง๋ญ๋๋ค. ๊ฐ ๋ณต์ ๋ณธ์๋ StatefulSet, Pod, ConfigMap์ด ์๊ณ ์ ์ฒด ํด๋ฌ์คํฐ์๋ ConfigMap์ด ์์ต๋๋ค. ํด๋ฌ์คํฐ์ ๋ํ ์ง์ ์ ์ผ๋ก ์๋น์ค๊ฐ ํ์ํฉ๋๋ค.
์๋น์ค๋ ์ค์ ๋ก๋ ๋ฐธ๋ฐ์ ์๋น์ค์ด๋ฉฐ ๊ฐ ๋ณต์ ๋ณธ, ๊ฐ ์ค๋์ ์ฌ์ฉ๋ ์๋ ์์ต๋๋ค.
๊ธฐ๋ณธ ํด๋ฌ์คํฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ํ๋์ ๋จ์ผ ๋ ธ๋์์ ๋ฐ์ํฉ๋๋ค.
๋ ๋์๊ฐ์ ์ผ์ ๋ณต์กํ๊ฒ ๋ง๋ค์ด ๋ด ์๋ค. ํด๋ฌ์คํฐ๋ฅผ ์ค๋ฉํด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ์ ์๋ฌด๊ฐ ์ฑ์ฅํ๊ณ ์์ผ๋ฉฐ ์ญํ์ด ์์๋๊ณ ์์ต๋๋ค. ์ค๋๋ฅผ ์ถ๊ฐํ๊ณ ์ถ์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ฐ๋ฐ์ ๋ฐ๋ฆ ๋๋ค. ์ฌ์์ ๋ณ๊ฒฝํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ ๊ฐ์ ์ค๋๋ฅผ ์ํ๋ค๊ณ ๋ํ๋ ๋๋ค.
์ด๋ ์์คํ ์ ์ฑ์ฅ์ ๋ฐ๋ผ ๋์ ์ผ๋ก ๊ฐ๋ฐ๋๋ ๋์ผํ ํ์ผ์ ๋๋ค. ์ ์ฅ์ ์๋์, ์ ์ฅ์์ ๋ํด์๋ ์ถ๊ฐ๋ก ๋ ผ์ํ๊ฒ ์ต๋๋ค. ์ด๋ ๋ณ๋์ ์ฃผ์ ์ ๋๋ค.
YAML ์ฐ์ฐ์์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋์ง ํ์ธํฉ๋๋ค.
์ด์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์๊ฐํ๊ณ ๋ง๋ค์์ต๋๋ค. ์ด๋ฏธ Pod 2๊ฐ, ์๋น์ค 2๊ฐ, ๊ทธ๋ฆฌ๊ณ ๊ฐ์๊ธฐ StatefulSet XNUMX๊ฐ๊ฐ ์๊ฒผ์ต๋๋ค. ์ StatefulSet์ด XNUMX๊ฐ์ธ๊ฐ?
๋ค์ด์ด๊ทธ๋จ์์๋ ๋ค์๊ณผ ๊ฐ์์ต๋๋ค. ์ด๋ ํฌ๋๊ฐ ํ๋ ์์ ๋์ ์ด๊ธฐ ์ํ์ ๋๋ค.
์ด๋ ๊ฒ ๋์์ต๋๋ค. ์ง๊ธ๊น์ง ๋ชจ๋ ๊ฒ์ด ๊ฐ๋จํ๊ณ ๋ณต์ ๋์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ๋ ๊ฐ์ StatefulSet์ด ์๊ฒผ๋์? ์ฌ๊ธฐ์๋ Kubernetes์์ ํฌ๋๊ฐ ์ด๋ป๊ฒ ๊ด๋ฆฌ๋๋์ง์ ๋ํ ์ง๋ฌธ์ ๋ ผํ๊ณ ๋ ผ์ํด์ผ ํฉ๋๋ค.
ํ ํ๋ฆฟ์์ ํฌ๋ ์ธํธ๋ฅผ ์์ฑํ ์ ์๋ StatefulSet์ด๋ผ๋ ๊ฐ์ฒด๊ฐ ์์ต๋๋ค. ์ฌ๊ธฐ์ ํต์ฌ ์์๋ ํ ํ๋ฆฟ์ ๋๋ค. ๋ํ ํ๋์ StatefulSet์์ ํ๋์ ํ ํ๋ฆฟ์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ Pod๋ฅผ ์์ํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ํต์ฌ ๋ฌธ๊ตฌ๋ 'ํ๋์ ํ ํ๋ฆฟ์ ์ฌ๋ฌ ํฌ๋'์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ฒด ํด๋ฌ์คํฐ๋ฅผ ํ๋์ StatefulSet์ผ๋ก ๋ฌถ๊ณ ์ถ์ ํฐ ์ ํน์ด ์์์ต๋๋ค. ์๋ํ ๊ฒ๋๋ค. ์๋ฌด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ ๊ฐ์ง์ฃผ์ ์ฌํญ์ด ์์ต๋๋ค. ์ฆ, ์ฌ๋ฌ ๋ฒ์ ์ ClickHouse์์ ์ด๊ธฐ์ข ํด๋ฌ์คํฐ๋ฅผ ์กฐ๋ฆฝํ๋ ค๋ ๊ฒฝ์ฐ ์ง๋ฌธ์ด ์์๋ฉ๋๋ค. ์, StatefulSet์ ๋กค๋ง ์ ๋ฐ์ดํธ๋ฅผ ์ํํ ์ ์์ผ๋ฉฐ ์ ๋ฒ์ ์ ์ถ์ํ ์ ์์ผ๋ฉฐ ๋์์ ๋๋ฌด ๋ง์ ๋ ธ๋๋ฅผ ์๋ํ๋ฉด ์ ๋๋ค๋ ์ ์ ์ค๋ช ํฉ๋๋ค.
๊ทธ๋ฌ๋ ์์ ์ ์ถ์ ํ์ฌ ์์ ํ ์ด์ข ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค๊ณ ์ถ๊ณ ๋กค๋ง ์ ๋ฐ์ดํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ด์ ๋ฒ์ ์์ ์ ๋ฒ์ ์ผ๋ก ๋ณ๊ฒฝํ๊ณ ์ถ์ง ์๊ณ ๋จ์ํ ์ด์ข ํด๋ฌ์คํฐ๋ฅผ ๋ง๋ค๊ณ ์ถ๋ค๊ณ ๋งํ๋ฉด ๋ ์ธก๋ฉด ๋ชจ๋์์ ๋ค์ํ ๋ฒ์ ์ ClickHouse์ ๋ค์ํ ์ ์ฅ ๊ณต๊ฐ์ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ผ๋ฐ์ ์ผ๋ก ์ด๊ธฐ์ข ํด๋ฌ์คํฐ๋ฅผ ์์ ํ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ณ๋์ ๋์คํฌ, ๋๋ฆฐ ๋์คํฌ์ ์ผ๋ถ ๋ณต์ ๋ณธ์ ๋ง๋ค๊ณ ์ถ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ StatefulSet์ ํ๋์ ํ ํ๋ฆฟ์ผ๋ก ํ์คํ๋ ์๋ฃจ์ ์ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ์ํํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๊ณ ๋ฏผ ๋์ ์ด๋ ๊ฒ ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์์ฒด StatefulSet์ ๊ฐ ๋ณต์ ๋ณธ์ด ์์ต๋๋ค. ์ด ์๋ฃจ์ ์๋ ๋ช ๊ฐ์ง ๋จ์ ์ด ์์ง๋ง ์ค์ ๋ก๋ ์ด์์๊ฐ ๋ชจ๋ ๊ฒ์ ์์ ํ ์บก์ํํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ ์ฅ์ ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์์ ํ ์ด์ง์ ์ธ ํด๋ฌ์คํฐ์ ๊ฐ์ด ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์ ํํ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ํ๋์ ๋ณต์ ๋ณธ๊ณผ ๋ ๊ฐ์ ์ค๋๊ฐ ์๋ ํด๋ฌ์คํฐ์์๋ ์ด๊ธฐ์ข ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ ์ ์๋๋ก ์์์ ์ธ๊ธํ ์ด์ ๋ก ์ด ์ ๊ทผ ๋ฐฉ์์ ์ ํํ๊ธฐ ๋๋ฌธ์ ์ ํํ๊ฒ 2๊ฐ์ StatefulSet๊ณผ 2๊ฐ์ ํฌ๋๋ฅผ ๊ฐ๊ฒ ๋ฉ๋๋ค.
์ค์ ๋ฌธ์ ๋ก ๋์๊ฐ ๋ณด๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ ํด๋ฌ์คํฐ์์๋ ์ฌ์ฉ์๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. Kubernetes์์ ClickHouse๋ฅผ ์ผ๋ถ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ์ด์์๋ ์ด์ ๋ํ ๋ชจ๋ ๊ฐ๋ฅ์ฑ์ ์ ๊ณตํฉ๋๋ค.
์ํ๋ ๊ฒ์ YAML์ ์ง์ ์์ฑํ ์ ์์ต๋๋ค. ๋ชจ๋ ๊ตฌ์ฑ ์ต์ ์ ์ด YAML์์ ClickHouse ๊ตฌ์ฑ์ผ๋ก ์ง์ ๋งคํ๋ ๋ค์ ํด๋ฌ์คํฐ ์ ์ฒด์ ๋ฐฐํฌ๋ฉ๋๋ค.
์ด๋ ๊ฒ ์ฐ์๋ฉด ๋ฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋น๋ฐ๋ฒํธ๋ ์ํธํ๋ ์ ์์ต๋๋ค. ๋ชจ๋ ClickHouse ๊ตฌ์ฑ ์ต์ ์ด ์ง์๋ฉ๋๋ค. ์ฌ๊ธฐ์ ๋จ์ง ์๊ฐ ์์ต๋๋ค.
ํด๋ฌ์คํฐ ๊ตฌ์ฑ์ ConfigMap์ผ๋ก ๋ฐฐํฌ๋ฉ๋๋ค. ์ค์ ๋ก ConfigMap ์ ๋ฐ์ดํธ๋ ์ฆ์ ๋ฐ์ํ์ง ์์ผ๋ฏ๋ก ํด๋ฌ์คํฐ๊ฐ ํฐ ๊ฒฝ์ฐ ๊ตฌ์ฑ์ ํธ์ํ๋ ํ๋ก์ธ์ค์ ๋ค์ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค. ํ์ง๋ง ์ด ๋ชจ๋ ๊ฒ์ ์ฌ์ฉํ๊ธฐ ๋งค์ฐ ํธ๋ฆฌํฉ๋๋ค.
์์ ์ ๋ณต์กํ๊ฒ ๋ง๋ค์ด ๋ด ์๋ค. ํด๋ฌ์คํฐ๊ฐ ๋ฐ์ ํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํ๊ณ ์ถ์ต๋๋ค. ์ฆ, ์ด๋ฏธ ๋ ๊ฐ์ ์ค๋(๊ฐ๊ฐ ํ๋์ ๋ณต์ ๋ณธ)๊ฐ ์๊ณ ์ฌ์ฉ์๊ฐ ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฑ์ฅํ๊ณ ์์ผ๋ฉฐ ๋ณต์ ๋ฅผ ์ํฉ๋๋ค.
๋ณต์ ๋ฅผ ์ํด์๋ ๋ฌด์์ด ํ์ํฉ๋๊น?
ZooKeeper๊ฐ ํ์ํฉ๋๋ค. ClickHouse์์๋ ZooKeeper๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์ ๊ฐ ๊ตฌ์ถ๋ฉ๋๋ค. ์๋ก ๋ค๋ฅธ ClickHouse ๋ณต์ ๋ณธ์ด ์ด๋ค ClickHouse์ ์ด๋ค ๋ฐ์ดํฐ ๋ธ๋ก์ด ์๋์ง์ ๋ํ ํฉ์๋ฅผ ๊ฐ์ง๋ ค๋ฉด ZooKeeper๊ฐ ํ์ํฉ๋๋ค.
ZooKeeper๋ ๋๊ตฌ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐ์ ์ ์ธ๋ถ ZooKeeper๊ฐ ์๋ ๊ฒฝ์ฐ ์ด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ ์ฅ์์์ ์ค์นํ ์ ์์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ ๋ ์ฝ๊ฒ ๋ง๋ค์ด์ฃผ๋ ์ค์น ํ๋ก๊ทธ๋จ์ด ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ฒด ์์คํ ์ ์ํธ์์ฉ ๋ค์ด์ด๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. Kubernetes๋ฅผ ํ๋ซํผ์ผ๋ก ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ClickHouse ์ฐ์ฐ์๋ฅผ ์คํํฉ๋๋ค. ๋๋ ZooKeeper๋ฅผ ์ฌ๊ธฐ์์ ๋ฌ์ฌํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์์๋ ClickHouse ๋ฐ ZooKeeper์ ์ํธ ์์ฉํฉ๋๋ค. ์ฆ ์ํธ์์ฉ ๊ฒฐ๊ณผ์ด๋ค.
ClickHouse๊ฐ k8s์์ ๋ฐ์ดํฐ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋ณต์ ํ๋ ค๋ฉด ์ด ๋ชจ๋ ๊ฒ์ด ํ์ํฉ๋๋ค.
์ด์ ์์ ์์ฒด๋ฅผ ์ดํด๋ณด๊ณ ๋ณต์ ๋งค๋ํ์คํธ์ ๋ชจ์์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋งค๋ํ์คํธ์ ๋ ๊ฐ์ ์น์ ์ ์ถ๊ฐํ๊ณ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ Kubernetes ๋ด๋ถ ๋๋ ์ธ๋ถ์ ์์ ์ ์๋ ZooKeeper๋ฅผ ์ป์ ์ ์๋ ์์น์ ๋๋ค. ์ด๊ฒ์ ๋จ์ง ์ค๋ช ์ผ ๋ฟ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ๋ณต์ ํ์ ์ฃผ๋ฌธํฉ๋๋ค. ์ ๊ฒ๋ค. ์ฐ๋ฆฌ๋ ๋ ๊ฐ์ ๋ณต์ ๋ณธ์ ์ํฉ๋๋ค. ์ ์ฒด์ ์ผ๋ก ์ถ๋ ฅ์๋ 4๊ฐ์ ํฌ๋๊ฐ ์์ด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์คํ ๋ฆฌ์ง์ ๋ํด ๊ธฐ์ตํ๊ณ ์์ผ๋ฉฐ ์กฐ๊ธ ํ์ ๋ค์ ์ฌ ๊ฒ์ ๋๋ค. ์ ์ฅ์ ๋ณ๋์ ์ด์ผ๊ธฐ์ ๋๋ค.
์ด๋ฌ์ต๋๋ค.
์ด๋ ๊ฒ ๋ฉ๋๋ค. ๋ณต์ ๋ณธ์ด ์ถ๊ฐ๋ฉ๋๋ค. ๋ค ๋ฒ์งธ ๊ฒ์ ๋ง์ง ์์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ฑฐ๊ธฐ์ ๋ง์ ๊ฒ์ด ์์ ์ ์๋ค๊ณ ๋ฏฟ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ZooKeeper๊ฐ ์ธก๋ฉด์ ์ถ๊ฐ๋์์ต๋๋ค. ๊ณํ์ ๋์ฑ ๋ณต์กํด์ง๊ณ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด์ ๋ค์ ์์ ์ ์ถ๊ฐํ ์๊ฐ์ ๋๋ค. ์๊ตฌ ์ ์ฅ์๋ฅผ ์ถ๊ฐํ๊ฒ ์ต๋๋ค.
์๊ตฌ ์คํ ๋ฆฌ์ง์ ๊ฒฝ์ฐ ๋ค์ํ ์ต์ ์ด ์์ต๋๋ค.
์๋ฅผ ๋ค์ด Amazon, Google์ ์ฌ์ฉํ๋ ํด๋ผ์ฐ๋ ๊ณต๊ธ์์์ ์คํ ์ค์ธ ๊ฒฝ์ฐ ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ๋ ค๋ ํฐ ์ ํน์ด ์์ต๋๋ค. ๋งค์ฐ ํธ๋ฆฌํ๊ณ ์ข์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ ๋ฒ์งธ ์ต์ ์ด ์์ต๋๋ค. ์ด๋ ๊ฐ ๋ ธ๋์ ๋ก์ปฌ ๋์คํฌ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ฉ์ ๋๋ค. ์ด ์ต์ ์ ๊ตฌํํ๊ธฐ๊ฐ ํจ์ฌ ์ด๋ ต์ง๋ง ๋์์ ์์ฐ์ฑ๋ ๋ ๋์ต๋๋ค.
ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง์ ๊ดํด ๋ฌด์์ ๊ฐ์ง๊ณ ์๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ฅ์ ์ด ์์ต๋๋ค. ๊ตฌ์ฑํ๋ ๊ฒ์ ๋งค์ฐ ์ฝ์ต๋๋ค. ์ฐ๋ฆฌ๋ ํด๋ผ์ฐ๋ ์ ๊ณต์์๊ฒ ๊ทธ๋ฌํ ์ฉ๋, ๊ทธ๋ฌํ ํด๋์ค์ ์คํ ๋ฆฌ์ง๋ฅผ ์ ๊ณตํ๋๋ก ์ฃผ๋ฌธํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์์ ์ ์ ๊ณต์๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์ผ์ ์ ์ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋จ์ ์ด ์์ต๋๋ค. ์ผ๋ถ์ ๊ฒฝ์ฐ ์ด๋ ์ค์ํ์ง ์์ ๋จ์ ์ ๋๋ค. ๋ฌผ๋ก ์ฑ๋ฅ์์ ๋ฌธ์ ๊ฐ ์์ ์ ์์ต๋๋ค. ์ฌ์ฉํ๊ธฐ ๋งค์ฐ ํธ๋ฆฌํ๊ณ ์์ ์ ์ด์ง๋ง ๋ช ๊ฐ์ง ์ ์ฌ์ ์ธ ์ฑ๋ฅ ๋จ์ ์ด ์์ต๋๋ค.
๋๋ฌธ์ ClickHouse๋ ํนํ ์์ฐ์ฑ์ ์ค์ ์ ๋๊ณ ์์ผ๋ฉฐ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒ์ ์ง๋ธ๋ค๊ณ ๋งํ ์๋ ์์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ๋ง์ ๊ณ ๊ฐ์ด ์ต๋ ์์ฐ์ฑ์ ์ง๋ด๋ ค๊ณ ๋ ธ๋ ฅํ๋ ์ด์ ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ์ต๋ํ ํ์ฉํ๋ ค๋ฉด ๋ก์ปฌ ์คํ ๋ฆฌ์ง๊ฐ ํ์ํฉ๋๋ค.
Kubernetes๋ Kubernetes์์ ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ธ ๊ฐ์ง ์ถ์ํ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๊ฒ:
- ๋น์ด์๋ ๋๋ ํฐ๋ฆฌ
- ํธ์คํธ ๊ฒฝ๋ก.
- ์ง๋ฐฉ์
์ด๋ป๊ฒ ๋ค๋ฅธ์ง, ์ด๋ป๊ฒ ๋น์ทํ์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ฒซ์งธ, ์ธ ๊ฐ์ง ์ ๊ทผ ๋ฐฉ์ ๋ชจ๋ ์คํ ๋ฆฌ์ง๊ฐ ์์ต๋๋ค. ์ด๋ ๋์ผํ ๋ฌผ๋ฆฌ์ k8s ๋ ธ๋์ ์์นํ ๋ก์ปฌ ๋์คํฌ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ค์ ์ฝ๊ฐ์ ์ฐจ์ด์ ์ด ์์ต๋๋ค.
๊ฐ์ฅ ๊ฐ๋จํ ๊ฒ, ์ฆ emptyDir๋ถํฐ ์์ํด ๋ณด๊ฒ ์ต๋๋ค. ์ค์ ๋ก ์ด๊ฒ์ ๋ฌด์์ ๋๊น? ์ฐ๋ฆฌ ์ฌ์์์๋ ์ปจํ ์ด๋ํ ์์คํ (์ฃผ๋ก Docker)์ ๋ก์ปฌ ๋์คํฌ์ ํด๋์ ๋ํ ์ก์ธ์ค ๊ถํ์ ์ ๊ณตํ๋๋ก ์์ฒญํฉ๋๋ค.
์ค์ ๋ก Docker๋ ์์ฒด ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ์์ ํด๋๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ๊ธด ํด์๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ ์ ๊ทผํ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ด๊ฒ์ด ์ฑ๋ฅ ์ธก๋ฉด์์ ์ด๋ป๊ฒ ์๋ํ ๊น์? ์ด๋ ๋ก์ปฌ ๋์คํฌ ์๋์์ ์๋ํฉ๋๋ค. ์ด๋ ๋์ฌ์ ๋ํ ์ ์ฒด ์ก์ธ์ค ๊ถํ์ ๋๋ค.
ํ์ง๋ง ์ด ๊ฒฝ์ฐ์๋ ๋จ์ ์ด ์์ต๋๋ค. ์ด ๋ฌธ์ ์ ์์ด์ ์ง์์ฑ์ ๋งค์ฐ ๋ชจํธํฉ๋๋ค. Docker๊ฐ ์ปจํ ์ด๋์ ํจ๊ป ์ฒ์์ผ๋ก ์ด๋ํ๋ฉด ์ง์์ฑ์ด ์์ค๋ฉ๋๋ค. Kubernetes๊ฐ ์ด๋ค ์ด์ ๋ก๋ ์ด Pod๋ฅผ ๋ค๋ฅธ ๋์คํฌ๋ก ์ด๋ํ๋ ค๊ณ ํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์์ค๋ฉ๋๋ค.
์ด ์ ๊ทผ ๋ฐฉ์์ ์ด๋ฏธ ์ ์์ ์ธ ์๋๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ๋๋ฌธ์ ํ ์คํธ์๋ ์ ํฉํ์ง๋ง ์ฌ๊ฐํ ์์ ์๋ ์ด ์ต์ ์ด ์ ํฉํ์ง ์์ต๋๋ค.
๋ฐ๋ผ์ ๋ ๋ฒ์งธ ์ ๊ทผ ๋ฐฉ์์ด ์์ต๋๋ค. ์ด๊ฒ์ ํธ์คํธํจ์ค์ ๋๋ค. ์ด์ ์ฌ๋ผ์ด๋์ ์ด๋ฒ ์ฌ๋ผ์ด๋๋ฅผ ๋ณด๋ฉด ์ฐจ์ด์ ์ด ํ ๊ฐ์ง๋ฐ์ ์์ต๋๋ค. ํด๋๊ฐ Docker์์ Kubernetes ๋ ธ๋๋ก ์ง์ ์ด๋๋์์ต๋๋ค. ์ฌ๊ธฐ์๋ ์กฐ๊ธ ๋ ๊ฐ๋จํฉ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ค๋ ๋ก์ปฌ ํ์ผ ์์คํ ์ ๊ฒฝ๋ก๋ฅผ ์ง์ ์ง์ ํฉ๋๋ค.
์ด ๋ฐฉ๋ฒ์๋ ์ฅ์ ์ด ์์ต๋๋ค. ์ด๊ฒ์ ์ด๋ฏธ ์ง์ ํ ์ง์์ฑ์ด๋ฉฐ ๊ณ ์ ์ ์ธ ๊ฒ์ ๋๋ค. ๋์คํฌ์ ์ผ๋ถ ์ฃผ์์ ๋ฐ์ดํฐ๊ฐ ๊ธฐ๋ก๋ฉ๋๋ค.
๋จ์ ๋ ์์ต๋๋ค. ์ด๊ฒ์ด ๊ด๋ฆฌ์ ๋ณต์ก์ฑ์ ๋๋ค. Kubernetes๋ Pod๋ฅผ ๋ค๋ฅธ ๋ฌผ๋ฆฌ์ ๋ ธ๋๋ก ์ด๋ํ๋ ค๊ณ ํ ์ ์์ต๋๋ค. DevOps๊ฐ ํ์ฉ๋๋ ๊ณณ์ด ๋ฐ๋ก ์ฌ๊ธฐ์ ๋๋ค. ๊ทธ๋ ์ด๋ฌํ ํฌ๋๊ฐ ์ด๋ฌํ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ๋ง์ดํธ๋ ๋ ธ๋๋ก๋ง ์ด๋ํ ์ ์์ผ๋ฉฐ ํ ๋ฒ์ ํ๋์ ๋ ธ๋ ์ด์์ผ๋ก ์ด๋ํ ์ ์๋ค๋ ๊ฒ์ ์ ์ฒด ์์คํ ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ค๋ช ํด์ผ ํฉ๋๋ค. ๊ฝค ์ด๋ ต์ต๋๋ค.
ํนํ ์ด๋ฌํ ๋ชฉ์ ์ ์ํด ์ฐ๋ฆฌ๋ ์ด๋ฌํ ๋ชจ๋ ๋ณต์ก์ฑ์ ์จ๊ธฐ๊ธฐ ์ํด ์ฐ์ฐ์์์ ํ ํ๋ฆฟ์ ๋ง๋ค์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๋จํ ์ด๋ ๊ฒ ๋งํ ์ ์์ต๋๋ค. "๊ฐ ๋ฌผ๋ฆฌ์ ๋ ธ๋์ ์ด๋ฌํ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ํ๋์ ClickHouse ์ธ์คํด์ค๋ฅผ ๊ฐ๊ณ ์ถ์ต๋๋ค."
๊ทธ๋ฌ๋ ์ด๋ฌํ ์๊ตฌ๊ฐ ํ์ํ ์ฌ๋์ ์ฐ๋ฆฌ๋ฟ๋ง์ด ์๋๋ฏ๋ก Kubernetes์ ์ ์ฌ๋ค๋ ์ฌ๋๋ค์ด ๋ฌผ๋ฆฌ์ ๋์คํฌ์ ์ก์ธ์คํ๊ธฐ๋ฅผ ์ํ๋ค๋ ๊ฒ์ ์ดํดํ๊ณ ์ธ ๋ฒ์งธ ๊ณ์ธต์ ์ ๊ณตํฉ๋๋ค.
ํ์ง๋ผ๊ณ ํฉ๋๋ค. ์ด์ ์ฌ๋ผ์ด๋์ ๊ฑฐ์ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ์ด์ ์๋ ์ด๋ฌํ Pod๋ฅผ ๋ก์ปฌ ๋ฌผ๋ฆฌ์ ๋์คํฌ์ ์ผ๋ถ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ์ฐ๊ฒฐํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ Pod๋ฅผ ๋ ธ๋์์ ๋ ธ๋๋ก ์ ์กํ ์ ์๋ค๋ ๊ฒ์ ์๋์ผ๋ก ํ์ธํด์ผ ํ์ง๋ง ์ด์ ๋ ์ด ๋ชจ๋ ์ง์์ด Kubernetes ์์ฒด์ ์บก์ํ๋์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ตฌ์ฑํ๊ธฐ๊ฐ ํจ์ฌ ๋ ์ฌ์ด ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
์ค์ ๋ฌธ์ ๋ก ๋์๊ฐ ๋ณด๊ฒ ์ต๋๋ค. YAML ํ ํ๋ฆฟ์ผ๋ก ๋์๊ฐ๊ฒ ์ต๋๋ค. ์ฌ๊ธฐ์ ์ค์ ์ ์ฅ ๊ณต๊ฐ์ด ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ค์ ๋์ ์์ต๋๋ค. k8s์์์ ๊ฐ์ด ํด๋์ VolumeClaim ํ ํ๋ฆฟ์ ์ค์ ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ์ด๋ค ์ข ๋ฅ์ ์คํ ๋ฆฌ์ง๋ฅผ ์ํ๋์ง ์ค๋ช ํฉ๋๋ค.
๊ทธ ํ k8s๋ ์คํ ๋ฆฌ์ง๋ฅผ ์์ฒญํฉ๋๋ค. StatefulSet์์ ์ฐ๋ฆฌ์๊ฒ ํ ๋นํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ตญ ๊ทธ๊ฒ์ ClickHouse์ ์ฒ๋ถ์ด ๋ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ๋ ์ด๋ฐ ๊ณํ์ ๊ฐ์ง๊ณ ์์์ต๋๋ค. ์ฐ๋ฆฌ์ ์๊ตฌ ์ ์ฅ์๋ ๋นจ๊ฐ์์ผ๋ก ํ์๋์ด ์์ด ์๋ฃํด์ผ ํ๋ค๋ ๊ฒ์ ์์ํ๋ ๊ฒ ๊ฐ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ น์์ผ๋ก ๋ณํฉ๋๋ค. ์ด์ k8s ํด๋ฌ์คํฐ ๊ตฌ์ฑ์ ClickHouse๊ฐ ์์ ํ ์์ฑ๋์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ค๋, ๋ณต์ ๋ณธ, ZooKeeper๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ๊ตฌํ๋๋ ์ค์ ์ง์์ฑ์ ๊ฐ๊ณ ์์ต๋๋ค. ์ด ๊ณํ์ ์ด๋ฏธ ์์ ํ ์ด์๋๊ณ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ๊ณ์ํด์ ์ด์๊ฐ๋๋ค. ์ฐ๋ฆฌ ํด๋ฌ์คํฐ๋ ๋ฐ์ ํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ Alexey๋ ClickHouse์ ์ ๋ฒ์ ์ ์๋ํ๊ณ ์ถ์ํฉ๋๋ค.
ํด๋ฌ์คํฐ์์ ClickHouse์ ์ ๋ฒ์ ์ ํ ์คํธํ๋ ์ค์ฉ์ ์ธ ์์ ์ด ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋น์ฐํ ๋ชจ๋ ๊ฒ์ ์ถ์ํ๊ณ ์ถ์ง ์๊ณ ๋จผ ๊ตฌ์ ์ด๋๊ฐ์ ํ๋์ ๋ณต์ ๋ณธ์ ์ ๋ฒ์ ์ ๋ฃ๊ณ ์ถ์ ์๋ ์๊ณ , ์ ๋ฒ์ ์ด ์์ฃผ ๋์ค๊ธฐ ๋๋ฌธ์ ํ ๋ฒ์ ๋ ๊ฐ๊ฐ ๋์ฌ ์๋ ์์ต๋๋ค.
์ด๊ฒ์ ๋ํด ๋ฌด์์ ๋งํ ์ ์์ต๋๊น?
์ฌ๊ธฐ์ ์ฐ๋ฆฌ์๊ฒ๋ ๊ทธ๋ฌํ ๊ธฐํ๊ฐ ์์ต๋๋ค. ์ด๋ ํฌ๋ ํ ํ๋ฆฟ์ ๋๋ค. ์ฐ๋ฆฌ ์ด์์๊ฐ ์ด๊ธฐ์ข ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ ์๋ฒฝํ๊ฒ ํ์ฉํ๋ค๊ณ ์ธ ์ ์์ต๋๋ค. ์ ๊ฒ๋ค. ํ ๋ฌถ์์ ๋ชจ๋ ๋ณต์ ๋ณธ์์ ์์ํ์ฌ ๊ฐ ๊ฐ์ธ ๋ณต์ ๋ณธ์ผ๋ก ๋๋๋ ClickHouse๋ฅผ ์ํ๋ ๋ฒ์ , ์ ์ฅํ๋ ค๋ ๋ฒ์ ์ ๊ตฌ์ฑํฉ๋๋ค. ํ์ํ ๊ตฌ์ฑ์ผ๋ก ํด๋ฌ์คํฐ๋ฅผ ์์ ํ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์ข ๋ ์์ชฝ์ผ๋ก ๋ค์ด๊ฐ ๋ณด๊ฒ ์ต๋๋ค. ์ด์ ์ ClickHouse์ ์ธ๋ถ ์ฌํญ๊ณผ ๊ด๋ จํ์ฌ ClickHouse-operator๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค.
์ด์ ์ ๋ ์คํผ๋ ์ดํฐ๊ฐ ์ผ๋ฐ์ ์ผ๋ก ์๋ํ๋ ๋ฐฉ์๊ณผ K8๊ณผ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ๋ํด ๋ช ๋ง๋ ๋ง์๋๋ฆฌ๊ณ ์ถ์ต๋๋ค.
๋จผ์ K8s์์ ์ํธ์์ฉ๋ถํฐ ์ดํด๋ณด๊ฒ ์ต๋๋ค. kubectl์ ์ ์ฉํ๋ฉด ์ด๋ป๊ฒ ๋๋์? ์ฐ๋ฆฌ ๊ฐ์ฒด๋ API๋ฅผ ํตํด etcd์ ๋ํ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด ๊ธฐ๋ณธ Kubernetes ๊ฐ์ฒด(Pod, StatefulSet, ์๋น์ค ๋ฑ)๊ฐ ๋ชฉ๋ก์ ์์ต๋๋ค.
๋์์ ์์ง ๋ฌผ๋ฆฌ์ ์ธ ์ผ์ ์ผ์ด๋์ง ์์ต๋๋ค. ์ด๋ฌํ ๊ฐ์ฒด๋ ํด๋ฌ์คํฐ์์ ๊ตฌ์ฒดํ๋์ด์ผ ํฉ๋๋ค.
์ด๋ฅผ ์ํด ์ปจํธ๋กค๋ฌ๊ฐ ๋ํ๋ฉ๋๋ค. ์ปจํธ๋กค๋ฌ๋ ์ด๋ฌํ ์ค๋ช ์ ๊ตฌ์ฒดํํ ์ ์๋ ํน์ k8s ๊ตฌ์ฑ ์์์ ๋๋ค. ๊ทธ๋ ์ก์ฒด์ ์ผ๋ก ๋ฌด์์ ์ด๋ป๊ฒ ํด์ผ ํ๋์ง ์๊ณ ์์ต๋๋ค. ๊ทธ๋ ์ปจํ ์ด๋๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ๊ณผ ์๋ฒ๊ฐ ์๋ํ๋ ค๋ฉด ์ปจํ ์ด๋์์ ๊ตฌ์ฑํด์ผ ํ ์ฌํญ์ ์๊ณ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ K8s์์ ์ฐ๋ฆฌ์ ๋ฌผ์ฒด๋ฅผ ๊ตฌ์ฒดํํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ Pod ๋ฐ StatefulSet์ผ๋ก๋ง ์๋ํ๋ ๊ฒ์ด ์๋๋ผ ๋จ์ผ ์ ์ฒด๋ก ์๋ํ๊ธฐ ์ํด ClickHouseInstallation, ์ฆ ClickHouse ์ ํ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ค๊ณ ํฉ๋๋ค. ์ง๊ธ๊น์ง๋ ๊ทธ๋ฌํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ K8s์๋ ๋ค์๊ณผ ๊ฐ์ ์ข์ ์ ์ด ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ํด๋ฌ์คํฐ๊ฐ ํฌ๋์ StatefulSet์์ ์กฐ๋ฆฝ๋ ์ด ๋ณต์กํ ์ํฐํฐ์ ๊ฐ์ ์ด๋๊ฐ๋ฅผ ๊ฐ๊ธฐ๋ฅผ ์ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ์ํด ๋ฌด์์ ํด์ผ ํฉ๋๊น? ๋จผ์ , ์ฌ์ฉ์ ์ ์ ๋ฆฌ์์ค ์ ์๊ฐ ๋ฑ์ฅํฉ๋๋ค. ๊ทธ๊ฒ์ ๋ฌด์์ ๋๊น? ์ด๋ ๋ด๋ถ๊ฐ ๋ณต์กํด์ง StatefulSet ํฌ๋์ ์ฌ์ฉ์ ์ง์ ๋ฆฌ์์ค๋ฅผ ์ถ๊ฐํ๋ ค๋ ๋ฐ์ดํฐ ์ ํ์ด ํ๋ ๋ ์๋ค๋ K8s์ ๋ํ ์ค๋ช ์ ๋๋ค. ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํ ์ค๋ช ์ ๋๋ค.
๋ํ kubectl apply๋ฅผ ํตํด ๊ทธ๊ณณ์ผ๋ก ๋ณด๋ ๋๋ค. Kubernetes๋ ์ด๋ฅผ ๊ธฐ๊บผ์ด ๋ฐ์๋ค์์ต๋๋ค.
์ด์ ์คํ ๋ฆฌ์ง์์ etcd์ ๊ฐ์ฒด๋ ClickHouseInstallation์ด๋ผ๋ ์ฌ์ฉ์ ์ง์ ๋ฆฌ์์ค๋ฅผ ๊ธฐ๋กํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ง๊ธ์ ๋ ์ด์ ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์์ ๊ฒ์ ๋๋ค. ์ฆ, ์ด์ ์ค๋์ ๋ณต์ ๋ณธ์ ์ค๋ช ํ๋ YAML ํ์ผ์ ์์ฑํ๊ณ "kubectl Apply"๋ผ๊ณ ๋งํ๋ฉด Kubernetes๋ ์ด๋ฅผ ์๋ฝํ๊ณ etcd์ ๋ฃ์ ๋ค์ "์ข์ต๋๋ค. ํ์ง๋ง ์ด๋ป๊ฒ ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค"๋ผ๊ณ ๋งํฉ๋๋ค. ๊ทธ๊ฒ์ผ๋ก. ClickHouseInstallation์ ์ ์ง ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.โ
๋ฐ๋ผ์ Kubernetes๊ฐ ์๋ก์ด ๋ฐ์ดํฐ ์ ํ์ ์ ๊ณตํ๋๋ก ๋์์ค ์ฌ๋์ด ํ์ํฉ๋๋ค. ์ผ์ชฝ์๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ํ๊ณผ ์๋ํ๋ ๊ธฐ๋ณธ Kubernetes ์ปจํธ๋กค๋ฌ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๋ฅธ์ชฝ์๋ ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ์ ํ์ผ๋ก ์์ ํ ์ ์๋ ์ฌ์ฉ์ ์ ์ ์ปจํธ๋กค๋ฌ๊ฐ ์์ด์ผ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๋ง๋ก๋ ์ฐ์ฐ์๋ผ๊ณ ํฉ๋๋ค. K8s ์ธ๋ถ์์๋ ์คํ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์ Kubernetes๋ก ํน๋ณํ ํฌํจํ์ต๋๋ค. ๋ฌผ๋ก ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ชจ๋ ์ฐ์ฐ์๋ Kubernetes์์ ์คํ๋์ง๋ง ์ธ๋ถ์ ์ ์๋ ๊ฒ์ ๋ฐฉํดํ๋ ๊ฒ์ ์์ผ๋ฏ๋ก ์ฌ๊ธฐ์๋ ํน๋ณํ ์ธ๋ถ๋ก ์ด๋ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฐ์ฐ์๋ผ๊ณ ๋ ์๋ ค์ง ์ฌ์ฉ์ ์ง์ ์ปจํธ๋กค๋ฌ๋ API๋ฅผ ํตํด Kubernetes์ ์ํธ ์์ฉํฉ๋๋ค. API์ ์ํธ์์ฉํ๋ ๋ฐฉ๋ฒ์ ์ด๋ฏธ ์๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ ์ฐ๋ฆฌ๊ฐ ๋ง๋ค๊ณ ์ถ์ ๋ณต์กํ ํ๋ก๋ฅผ ๋ง์ถคํ ๋ฆฌ์์ค๋ก ๊ตฌ์ฒดํํ๋ ๋ฐฉ๋ฒ์ ์ด๋ฏธ ์๊ณ ์์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ด์์๊ฐ ํ๋ ์ผ์ ๋๋ค.
์ด์์๋ ์ด๋ป๊ฒ ์ผํ๋์? ๊ทธ๊ฐ ์ด๋ป๊ฒ ํ๋์ง ์ค๋ฅธ์ชฝ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด์์๊ฐ ์ด ๋ชจ๋ ๊ฒ์ ์ด๋ป๊ฒ ๊ตฌ์ฒดํํ๊ณ K8๊ณผ์ ์ถ๊ฐ ์ํธ ์์ฉ์ด ์ด๋ป๊ฒ ๋ฐ์ํ๋์ง ์์ ๋ณด๊ฒ ์ต๋๋ค.
์ฐ์ฐ์๋ ํ๋ก๊ทธ๋จ์ ๋๋ค. ๊ทธ๋ ๋ ์ด๋ฒคํธ ์งํฅ์ ์ ๋๋ค. ์ด์์๋ Kubernetes API๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฒคํธ๋ฅผ ๊ตฌ๋ ํฉ๋๋ค. Kubernetes API์๋ ์ด๋ฒคํธ๋ฅผ ๊ตฌ๋ ํ ์ ์๋ ์ง์ ์ ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ K8s์์ ๋ฌด์ธ๊ฐ ๋ณ๊ฒฝ๋๋ฉด Kubernetes๋ ๋ชจ๋ ์ฌ๋์๊ฒ ์ด๋ฒคํธ๋ฅผ ๋ณด๋ ๋๋ค. ์ด API ํฌ์ธํธ๋ฅผ ๊ตฌ๋ ํ ์ฌ๋์ ๋๊ตฌ๋ ์๋ฆผ์ ๋ฐ๊ฒ ๋ฉ๋๋ค.
์ด์์๋ ์ด๋ฒคํธ๋ฅผ ๊ตฌ๋ ํ๊ณ ์ผ์ข ์ ๋ฐ์์ ์ทจํด์ผ ํฉ๋๋ค. ๊ทธ ์๋ฌด๋ ์๋ก์ด ์ด๋ฒคํธ์ ๋์ํ๋ ๊ฒ์ ๋๋ค.
ํน์ ์ ๋ฐ์ดํธ์ ์ํด ์ด๋ฒคํธ๊ฐ ์์ฑ๋ฉ๋๋ค. ClickHouseInstallation์ ๋ํ ์ค๋ช ์ด ํฌํจ๋ YAML ํ์ผ์ด ๋์ฐฉํฉ๋๋ค. ๊ทธ๋ kubectl Apply๋ฅผ ํตํด etcd๋ก ์ด๋ํ์ต๋๋ค. ๊ฑฐ๊ธฐ์์ ์ด๋ฒคํธ๊ฐ ํธ๋ฆฌ๊ฑฐ๋์๊ณ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด ์ด๋ฒคํธ๊ฐ ClickHouse ์ด์์์๊ฒ ์ ๋ฌ๋์์ต๋๋ค. ๊ตํ์์ ์ด ์ค๋ช ์ ๋ฐ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ ๋ญ๊ฐ๋ฅผ ํด์ผ ํฉ๋๋ค. ClickHouseInstallation ๊ฐ์ฒด์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ๋์ฐฉํ๋ฉด ํด๋ฌ์คํฐ๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์์์ ์๋ฌด๋ ํด๋ฌ์คํฐ๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ ๋ฌด์์ ํ๊ณ ์๋์? ๋จผ์ , ์ด๋ฒ ์ ๋ฐ์ดํธ๋ฅผ ํตํด ๋ฌด์์ ํ ๊ฒ์ธ์ง์ ๋ํ ์คํ ๊ณํ์ ์๋ฆฝํด์ผ ํฉ๋๋ค. ์ ๋ฐ์ดํธ๋ ๋งค์ฐ ์์ ์ ์์ต๋๋ค. YAML ์คํ์์๋ ์์ง๋ง ํด๋ฌ์คํฐ์ ๋งค์ฐ ํฐ ๋ณ๊ฒฝ์ด ์๋ฐ๋ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด์์๋ ๊ณํ์ ์ธ์ฐ๊ณ ์ด๋ฅผ ๊ณ ์ํฉ๋๋ค.
์ด ๊ณํ์ ๋ฐ๋ฅด๋ฉด ๊ทธ๋ ํฌ๋, ์๋น์ค๋ฅผ ๊ตฌ์ฒดํํ๊ธฐ ์ํด ๋ด๋ถ์์ ์ด ๊ตฌ์กฐ๋ฅผ ์๋ฆฌํ๊ธฐ ์์ํฉ๋๋ค. ๊ทธ์ ์ฃผ์ ์๋ฌด๋ฅผ ์ํํ์ญ์์ค. Kubernetes์์ ClickHouse ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์ด์ ํฅ๋ฏธ๋ก์ด ์ ์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค. ์ด๋ Kubernetes์ ์ด์์ ๊ฐ์ ์ฑ ์ ๋ถํ ์ ๋๋ค. Kubernetes๊ฐ ์ํํ๋ ์์ , ์ด์์๊ฐ ์ํํ๋ ์์ ๋ฐ ์๋ก ์ํธ ์์ฉํ๋ ๋ฐฉ๋ฒ.
Kubernetes๋ ์์คํ ๊ด๋ จ ์์ ์ ๋ด๋นํฉ๋๋ค. ์์คํ ๋ฒ์๋ก ํด์๋ ์ ์๋ ๊ธฐ๋ณธ ๊ฐ์ฒด ์งํฉ์ ๋๋ค. Kubernetes๋ ํฌ๋๋ฅผ ์์ํ๋ ๋ฐฉ๋ฒ, ์ปจํ ์ด๋๋ฅผ ๋ค์ ์์ํ๋ ๋ฐฉ๋ฒ, ๋ณผ๋ฅจ์ ๋ง์ดํธํ๋ ๋ฐฉ๋ฒ, ConfigMap์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ๋ฑ์ ์๊ณ ์์ต๋๋ค. ์์คํ ์ด๋ผ๊ณ ๋ถ๋ฅผ ์ ์๋ ๋ชจ๋ ๊ฒ.
์ด์์๋ ๋๋ฉ์ธ์์ ์ด์๋ฉ๋๋ค. ๊ฐ ์ฐ์ฐ์๋ ์์ฒด ์ฃผ์ ์์ญ์ ๋ง๊ฒ ๋ง๋ค์ด์ก์ต๋๋ค. ClickHouse๋ฅผ ์ํด ํด๋์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด์์๋ ๋ณต์ ๋ณธ ์ถ๊ฐ, ๋ค์ด์ด๊ทธ๋จ ์์ฑ, ๋ชจ๋ํฐ๋ง ์ค์ ๋ฑ ์ฃผ์ ์์ญ ์ธก๋ฉด์์ ์ ๋ฐํ๊ฒ ์ํธ ์์ฉํฉ๋๋ค. ์ด๋ก ์ธํด ๋ถ์ด์ด ๋ฐ์ํฉ๋๋ค.
๋ณต์ ๋ณธ ์ถ๊ฐ ์์ ์ ์ํํ ๋ ์ด๋ฌํ ์ฑ ์ ๋ถํ ์ด ์ด๋ป๊ฒ ๋ฐ์ํ๋์ง์ ๋ํ ์ค์ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ด์์๋ ๋ณต์ ๋ณธ์ ์ถ๊ฐํ๋ ์์ ์ ๋ฐ์ต๋๋ค. ์ด์์๋ ๋ฌด์์ ํ๋์? ์ด์์๋ ์ด๋ฌํ ํ ํ๋ฆฟ, ๋ณผ๋ฅจ ์ฒญ๊ตฌ๊ฐ ์ค๋ช ๋์ด์ผ ํ๋ ์๋ก์ด StatefulSet์ ์์ฑํด์ผ ํ๋ค๊ณ ๊ณ์ฐํฉ๋๋ค.
๋ค ์ค๋นํด์ K8s์ ๋๊ฒจ์คฌ์ด์. ๊ทธ๋ ConfigMap, StatefulSet, Volume์ด ํ์ํ๋ค๊ณ ๋งํฉ๋๋ค. ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ์๋ ์ค์ ๋๋ค. ๊ทธ๋ ์์ ์ด ์ด์ํ๋ ๊ธฐ๋ณธ ๋จ์๋ฅผ ๊ตฌ์ฒดํํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ClickHouse ์ด์์๊ฐ ๋ค์ ์๋ํฉ๋๋ค. ๊ทธ๋ ์ด๋ฏธ ๋ฌด์ธ๊ฐ๋ฅผ ํ ์ ์๋ ๋ฌผ๋ฆฌ์ ํฌ๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ClickHouse-operator๋ ๋ค์ ๋๋ฉ์ธ ์ฉ์ด๋ก ์๋ํฉ๋๋ค. ์ ๊ฒ๋ค. ํนํ ClickHouse์ ๊ฒฝ์ฐ ํด๋ฌ์คํฐ์ ๋ณต์ ๋ณธ์ ํฌํจํ๋ ค๋ฉด ๋จผ์ ์ด ํด๋ฌ์คํฐ์ ์กด์ฌํ๋ ๋ฐ์ดํฐ ์คํค๋ง๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์งธ, ์ด ๋ณต์ ๋ณธ์ ๋ชจ๋ํฐ๋ง์ ํฌํจ์์ผ ๋ช ํํ๊ฒ ์ถ์ ํ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค. ์ด์์๊ฐ ์ด๋ฏธ ์ด๋ฅผ ๊ตฌ์ฑํ์ต๋๋ค.
๊ทธ ํ์์ผ ClickHouse ์์ฒด๊ฐ ์๋ํ๊ฒ ๋ฉ๋๋ค. ๋ ๋ค๋ฅธ ์์ ๋ ๋ฒจ ์ํฐํฐ. ์ด๊ฒ์ ์ด๋ฏธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. ์ฌ๊ธฐ์๋ ํด๋ฌ์คํฐ์ ์ฐธ์ฌํ ์ค๋น๊ฐ ๋ ๋ ๋ค๋ฅธ ๊ตฌ์ฑ๋ ๋ณต์ ๋ณธ์ธ ์์ฒด ์ธ์คํด์ค๊ฐ ์์ต๋๋ค.
๋ณต์ ๋ณธ์ ์ถ๊ฐํ ๋ ์คํ ์ฒด์ธ๊ณผ ์ฑ ์ ๋ถํ ์ด ์๋นํ ๊ธด ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ค์ง์ ์ธ ์ ๋ฌด๋ฅผ ๊ณ์ํฉ๋๋ค. ํด๋ฌ์คํฐ๊ฐ ์ด๋ฏธ ์๋ ๊ฒฝ์ฐ ๊ตฌ์ฑ์ ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์์ต๋๋ค.
ํด๋ฆญํ์ฐ์ค๊ฐ ์ดํดํ๋ ๊ธฐ์กด xml์ ํตํด ๋ถ์ฌ๋ฃ์ ์ ์๋๋ก ๋ง๋ค์์ต๋๋ค.
ClickHouse๋ฅผ ๋ฏธ์ธ ์กฐ์ ํ ์ ์์ต๋๋ค. Just Zoned Deployment๋ ์ ๊ฐ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ธ ํธ์คํธํจ์ค(hostPath)๋ฅผ ์ค๋ช ํ ๋ ๋ง์๋๋ ธ๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ด ๊ตฌ์ญํ๋ ๋ฐฐํฌ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๋ค์ ์ค์ ์์ ์ ๋ชจ๋ํฐ๋ง์ ๋๋ค.
ํด๋ฌ์คํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์ ๊ธฐ์ ์ผ๋ก ๋ชจ๋ํฐ๋ง์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
๋ค์ด์ด๊ทธ๋จ์ ์ดํด ๋ณด๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฏธ ์ฌ๊ธฐ์ ๋ น์ ํ์ดํ๋ฅผ ์ดํด๋ณด์์ต๋๋ค. ์ด์ ๋นจ๊ฐ์ ํ์ดํ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ํด๋ฌ์คํฐ๋ฅผ ๋ชจ๋ํฐ๋งํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ClickHouse ํด๋ฌ์คํฐ์ ์ธก์ ํญ๋ชฉ์ด Prometheus๋ก ์ ์ ๋ ๋ค์ Grafana๋ก ์ ์ ๋๋ ๋ฐฉ์์ ๋๋ค.
๋ชจ๋ํฐ๋ง์ ์์ด์ ์ด๋ ค์ด ์ ์ ๋ฌด์์ธ๊ฐ์? ์ด๊ฒ์ด ์ผ์ข ์ ์ฑ๊ณผ๋ก ์ ์๋๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์ด๋ ค์์ ์ญํ์ ์์ต๋๋ค. ํ๋์ ํด๋ฌ์คํฐ๊ฐ ์๊ณ ์ ์ ์ด๋ฉด ๋ชจ๋ํฐ๋ง์ ํ ๋ฒ๋ง ์ค์ ํ๋ฉด ๋ ์ด์ ๊ท์ฐฎ๊ฒ ํ์ง ์์๋ ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ํด๋ฌ์คํฐ๊ฐ ๋ง๊ฑฐ๋ ๋ฌด์ธ๊ฐ๊ฐ ์ง์์ ์ผ๋ก ๋ณํํ๋ ๊ฒฝ์ฐ ํ๋ก์ธ์ค๋ ๋์ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋ง์ ์ฌ๊ตฌ์ฑํ๋ ๊ฒ์ ์์๊ณผ ์๊ฐ ๋ญ๋น์ ๋๋ค. ๊ทธ๋ฅ ๊ฒ์ผ๋ฆ์ด๋ผ๋์. ์ด๋ ์๋ํ๋์ด์ผ ํฉ๋๋ค. ์ด๋ ค์์ ํ๋ก์ธ์ค์ ์ญํ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์์๋ ์ด๋ฅผ ์์ฃผ ์ ์๋ํํฉ๋๋ค.
์ฐ๋ฆฌ ํด๋ฌ์คํฐ๋ ์ด๋ป๊ฒ ๋ฐ์ ํ๋์? ์ฒ์์ ๊ทธ๋ ๊ทธ๋ฌ๋ค.
๊ทธ๋ฌ๋๋ ๊ทธ ์ฌ๋์ด ์ด๋ฌ๋๊ตฐ์.
๊ฒฐ๊ตญ ๊ทธ๋ ์ด๋ ๊ฒ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ชจ๋ํฐ๋ง์ ์ด์์๊ฐ ์๋์ผ๋ก ์ํ๋ฉ๋๋ค. ๋จ์ผ ์ง์ ์ .
๊ทธ๋ฆฌ๊ณ ์ถ๊ตฌ์์ Grafana ๋์๋ณด๋๋ฅผ ๋ณด๊ณ ํด๋ฌ์คํฐ์ ์๋ช ์ด ๋ด๋ถ์์ ์ด๋ป๊ฒ ๋๊ณ ์๋์ง ํ์ธํฉ๋๋ค.
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , Grafana ๋์๋ณด๋๋ ์์ค ์ฝ๋์์ ์ง์ ์ด์์์ ํจ๊ป ๋ฐฐํฌ๋ฉ๋๋ค. ์ฐ๊ฒฐํ์ฌ ์ฌ์ฉํ์ค ์ ์์ต๋๋ค. ์ฐ๋ฆฌ DevOps ํ์์ ์ด ์คํฌ๋ฆฐ์ท์ ์ ๊ณตํ์ต๋๋ค.
๋ค์์๋ ์ด๋๋ก ๊ฐ๊ณ ์ถ๋์? ์ด๊ฒ:
- ํ ์คํธ ์๋ํ๋ฅผ ๊ฐ๋ฐํ์ธ์. ์ฃผ์ ์์ ์ ์ ๋ฒ์ ์ ์๋ํ๋ ํ ์คํธ์ ๋๋ค.
- ์ฐ๋ฆฌ๋ ๋ํ ZooKeeper์์ ํตํฉ์ ์๋ํํ๊ณ ์ถ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ZooKeeper-operator์ ํตํฉํ ๊ณํ๋ ์์ต๋๋ค. ์ ๊ฒ๋ค. ZooKeeper๋ฅผ ์ํ ์ฐ์ฐ์๊ฐ ์์ฑ๋์์ผ๋ฉฐ ๋ณด๋ค ํธ๋ฆฌํ ์๋ฃจ์ ์ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ ์ฐ์ฐ์๊ฐ ํตํฉ๋๊ธฐ ์์ํ๋ ๊ฒ์ด ๋ ผ๋ฆฌ์ ์ ๋๋ค.
- ์ฐ๋ฆฌ๋ ๋ ๋ณต์กํ ํ๋ ฅ์งํ๋ฅผ ๋ง๋ค๊ณ ์ถ์ต๋๋ค.
- ํ ํ๋ฆฟ ์์์ ๊ฐ๊น์์ง๊ณ ์์์ ๋ น์์ผ๋ก ๊ฐ์กฐํ์ต๋๋ค. ์๋ฃ(DONE), ์ฆ ๋ค์ ์ฐ์ฐ์ ๋ฆด๋ฆฌ์ค์์๋ ์ด๋ฏธ ํ ํ๋ฆฟ ์์์ ๊ฐ๊ฒ ๋ฉ๋๋ค. ์ด๋ ์ฌ๋ฌ ์กฐ๊ฐ์ผ๋ก ๋ณต์กํ ๊ตฌ์ฑ์ ๊ตฌ์ถํ ์ ์๋ ๊ฐ๋ ฅํ ๋๊ตฌ์ ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ๋ณต์กํ ์์ ์ ์๋ํ๋ฅผ ์ํฉ๋๋ค. ๊ฐ์ฅ ์ค์ํ ๊ฒ์ Re-sharding์ ๋๋ค.
๋ช ๊ฐ์ง ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์ฐ๋ฆฌ๋ ๋ฌด์์ ์ป์ต๋๊น? ๊ทธ๋ฆฌ๊ณ ํ ๊ฐ์น๊ฐ ์์ต๋๊น, ์์ต๋๊น? ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ Kubernetes๋ก ๋์ด์ ์ผ๋ฐ์ ์ผ๋ก ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๊ณ ํนํ Alitnity ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๊น?
์ถ๋ ฅ์์ ์ฐ๋ฆฌ๋ ๋ค์์ ์ป์ต๋๋ค:
- ๊ตฌ์ฑ, ๋ฐฐํฌ, ์ ์ง ๊ด๋ฆฌ๊ฐ ํฌ๊ฒ ๋จ์ํ๋๊ณ ์๋ํ๋ฉ๋๋ค.
- ์ฆ์ ๋ด์ฅ๋ ๋ชจ๋ํฐ๋ง.
- ๋ณต์กํ ์ํฉ์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ ์ฝ๋ํ๋ ํ ํ๋ฆฟ๋ ์ ๊ณต๋ฉ๋๋ค. ๋ณต์ ๋ณธ ์ถ๊ฐ์ ๊ฐ์ ์์ ์ ์๋์ผ๋ก ์ํํ ํ์๊ฐ ์์ต๋๋ค. ์ด์์๊ฐ ์ด๋ฐ ์ผ์ ํฉ๋๋ค.
๋ง์ง๋ง ์ง๋ฌธ๋ง ๋จ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฏธ Kubernetes, ๊ฐ์ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณด์ ํ๊ณ ์์ต๋๋ค. ํนํ ClickHouse๊ฐ ์ฑ๋ฅ์ ์ต์ ํ๋์ด ์์ผ๋ฏ๋ก ์ด๋ฌํ ์๋ฃจ์ ์ ์ฑ๋ฅ์ ์ด๋ป์ต๋๊น?
๋๋ต์ ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ๋ค๋ ๊ฒ์ ๋๋ค! ์์ธํ ๋ด์ฉ์ ๋ค๋ฃจ์ง ์๊ฒ ์ผ๋ฉฐ ์ด๋ ๋ณ๋ ๋ณด๊ณ ์์ ์ฃผ์ ์ ๋๋ค.
ํ์ง๋ง TSBS์ ๊ฐ์ ํ๋ก์ ํธ๊ฐ ์์ต๋๋ค. ์ฃผ์ ์๋ฌด๋ ๋ฌด์์ ๋๊น? ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ํ ์คํธ์ ๋๋ค. ์ด๋ ๋ฐ๋ปํจ๊ณผ ๋ฐ๋ปํจ, ๋ถ๋๋ฌ์๊ณผ ๋ถ๋๋ฌ์์ ๋น๊ตํ๋ ค๋ ์๋์ ๋๋ค.
๊ทธ๋ ์ด๋ป๊ฒ ์ผํฉ๋๊น? ํ๋์ ๋ฐ์ดํฐ ์ธํธ๊ฐ ์์ฑ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด ๋ฐ์ดํฐ ์ธํธ๋ ๋์ผํ ํ ์คํธ ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์คํ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์์ ์ด ์๊ณ ์๋ ๋ฐฉ์์ผ๋ก ํ๋์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ ์ ์์ต๋๋ค.
์ด๋ฏธ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ํฉ๋๋ค. ์ ๋ ํฌ๊ฒ ์ธ ๊ฐ์ง๋ฅผ ์์๋์ต๋๋ค. ์ด๊ฒ:
- TimescaleDB.
- ์ธํ๋ญ์คDB.
- ํด๋ฆญํ์ฐ์ค.
๋ค๋ฅธ ์ ์ฌํ ์๋ฃจ์ ๊ณผ๋ ๋น๊ตํ์ต๋๋ค. RedShift์ ๋น๊ต. ๋น๊ต๋ ์๋ง์กด์์ ํ์ต๋๋ค. ClickHouse๋ ์ด ๋ฌธ์ ์ ์์ด์๋ ๋ชจ๋ ์ฌ๋๋ณด๋ค ํจ์ฌ ์์ ์์ต๋๋ค.
๋ด๊ฐ ๋งํ ๋ด์ฉ์์ ์ด๋ค ๊ฒฐ๋ก ์ ๋ด๋ฆด ์ ์์ต๋๊น?
- Kubernetes์ DB๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ์๋ง๋ ๋ฌด์์ด๋ ๊ฐ๋ฅํ ๊ฒ ๊ฐ์ง๋ง ์ ๋ฐ์ ์ผ๋ก ๊ฐ๋ฅํด ๋ณด์ ๋๋ค. Kubernetes์ ClickHouse๋ ์ด์์์ ๋์์ผ๋ก ํ์คํ ๊ฐ๋ฅํฉ๋๋ค.
- ์ด์์๋ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ๊ณ ์ค์ ๋ก ์ถ์ ๋ ์ฝ๊ฒ ๋ง๋ญ๋๋ค.
- ์ฑ๋ฅ์ ์ ์์ ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ด ์ฌ์ฉ๋ ์ ์๊ณ ์ฌ์ฉํด์ผ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์คํ ์์ค - ์ฐ๋ฆฌ์ ํจ๊ปํ์ธ์!
์๊น ๋งํ๋ฏ์ด ์คํผ๋ ์ดํฐ๋ ์์ ์คํ์์ค ์ ํ์ด๋ผ ์ต๋ํ ๋ง์ ์ธ์์ด ์ด์ฉํ๋ฉด ์ฐธ ์ข์ ๊ฒ ๊ฐ์์. ์ฐ๋ฆฌ์ ํจ๊ปํ์ธ์! ์ฐ๋ฆฌ๋ ์ฌ๋ฌ๋ถ ๋ชจ๋๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค!
ะัะตะผ ัะฟะฐัะธะฑะพ!
์ง๋ฌธ
์ ๊ณ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๋ด ์ด๋ฆ์ ์ํค์ด์์. ์ ๋ SEMrush ์ถ์ ์ ๋๋ค. ๋ก๊น ์ด ์ด๋ป๊ฒ ๋๋์ง ๊ถ๊ธํฉ๋๋ค. ๋ชจ๋ํฐ๋ง์ ๋ํด์๋ ๋ฃ์ง๋ง ์ ์ฒด ํด๋ฌ์คํฐ์ ๋ํด ์ด์ผ๊ธฐํ๋ฉด ๋ก๊น ์ ๋ํด์๋ ์ ํ ๋ฃ์ง ๋ชปํฉ๋๋ค. ์๋ฅผ ๋ค์ด ํ๋์จ์ด์์ ํด๋ฌ์คํฐ๋ฅผ ํค์ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ์ค์ ์ง์ค์ ๋ก๊น ์ ์ฌ์ฉํ์ฌ ํ์ค ์๋จ์ ์ฌ์ฉํ์ฌ ๊ณตํต ํ์ ์์งํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฑฐ๊ธฐ์์ ์ฐ๋ฆฌ๋ ๊ด์ฌ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ป์ต๋๋ค.
์ข์ ์ง๋ฌธ์ ๋๋ค. ์๋ฅผ ๋ค์ด ํ ์ผ ๋ชฉ๋ก์ ๋ก๊ทธ์ธํ๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ ์ด์์๋ ์์ง ์ด๊ฒ์ ์๋ํํ์ง ์์ต๋๋ค. ์์ง ๊ฐ๋ฐ ์ค์ด๊ณ ํ๋ก์ ํธ๊ฐ ์์ง ์ด๊ธฐ ๋จ๊ณ์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋ก๊น ์ ํ์์ฑ์ ์ดํดํฉ๋๋ค. ์ด๊ฒ์ ๋ํ ๋งค์ฐ ์ค์ํ ์ฃผ์ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ง๋ ๋ชจ๋ํฐ๋ง๋ณด๋ค ๋ ์ค์ํ์ง ์์ ๊ฒ์ ๋๋ค. ํ์ง๋ง ๊ตฌํ ๋ชฉ๋ก์ ์ฒซ ๋ฒ์งธ๋ ๋ชจ๋ํฐ๋ง์ด์์ต๋๋ค. ๋ก๊น ์ด ์์ ๊ฒ์ ๋๋ค. ๋น์ฐํ ์ฐ๋ฆฌ๋ ํด๋ฌ์คํฐ ์ํ์ ๋ชจ๋ ์ธก๋ฉด์ ์๋ํํ๋ ค๊ณ ๋ ธ๋ ฅํฉ๋๋ค. ๋ฐ๋ผ์ ๋๋ต์ ๋ถํํ๋ ํ์ฌ ์ด์์๋ ์ด ์์ ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด์ง๋ง ๊ณํ์ ์์ผ๋ฏ๋ก ์ํํ ๊ฒ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ๊ฐ์ ์ ์ํ์๋ฉด Pull Request๋ฅผ ๋๋ฌ์ฃผ์ธ์.
์๋ ํ์ธ์! ์ ๊ณ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ์๊ตฌ ๋ณผ๋ฅจ๊ณผ ๊ด๋ จ๋ ํ์ค ์ง๋ฌธ์ด ์์ต๋๋ค. ์ด ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ์ ์์ฑํ ๋ ์ฐ์ฐ์๋ ํน์ ๋์คํฌ๋ ํด๋๊ฐ ์ฐ๊ฒฐ๋ ๋ ธ๋๋ฅผ ์ด๋ป๊ฒ ๊ฒฐ์ ํฉ๋๊น? ๋จผ์ ๋์คํฌ๊ฐ ์๋ ๋ ธ๋์ ClickHouse๋ฅผ ๋ฐฐ์นํด ๋ฌ๋ผ๊ณ ์ค๋ช ํด์ผ ํฉ๋๋ค.
๋ด๊ฐ ์ดํดํ๋ ํ, ์ด ์ง๋ฌธ์ ๋ก์ปฌ ์ ์ฅ์, ํนํ ๊ทธ๊ฒ์ ํธ์คํธ ๊ฒฝ๋ก ๋ถ๋ถ์ ์ฐ์์ ๋๋ค. ์ด๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๋์คํฌ๊ฐ ์๊ณ ์ด๋ฌํ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ๋ง์ดํธ๋๋ ์ด๋ฌํ ๋ ธ๋์์ ํฌ๋๋ฅผ ์์ํด์ผ ํ๋ค๋ ๊ฒ์ ์ ์ฒด ์์คํ ์ ์ค๋ช ํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ์ด๊ฒ์ ๋ต๋ณ์ด ์๋นํ ํฌ๊ธฐ ๋๋ฌธ์ ์ ๊ฐ ๋งค์ฐ ํผ์์ ์ผ๋ก ๋ค๋ฃจ์๋ ์ ์ฒด ์น์ ์ ๋๋ค.
๊ฐ๋ตํ ๋ณด๋ฉด ์ด๋ ์ต๋๋ค. ๋น์ฐํ ์ด๋ฌํ ๋ณผ๋ฅจ์ ํ๋ก๋น์ ๋ํด์ผ ํฉ๋๋ค. ํ์ฌ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์๋ ๋์ ํ๋ก๋น์ ๋์ด ์์ผ๋ฏ๋ก DevOps๋ ๋์คํฌ ์์ฒด, ์ฆ ์ด๋ฌํ ๋ณผ๋ฅจ์ ์๋ผ์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ฌํ ๋ ธ๋์ ์์นํ๋ ๊ทธ๋ฌํ ํด๋์ค์ ์๊ตฌ ๋ณผ๋ฅจ์ ๊ฐ๊ฒ ๋ ๊ฒ์ด๋ผ๋ Kubernetes ํ๋ก๋น์ ๋์ ์ค๋ช ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด๋ฌํ ๋ก์ปฌ ์คํ ๋ฆฌ์ง ํด๋์ค๊ฐ ํ์ํ ํฌ๋๋ ๋ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ํด๋น ๋ ธ๋๋ก๋ง ์ฐ๊ฒฐ๋์ด์ผ ํ๋ค๋ ์ ์ Kubernetes์ ์ค๋ช ํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ๋ชฉ์ ์ ์ํด ์ด์์๋ ์ผ์ข ์ ๋ ์ด๋ธ๊ณผ ํธ์คํธ ์ธ์คํด์ค๋น ํ๋๋ฅผ ํ ๋นํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ Pod๋ ๊ฐ๋จํ ๋งํด์ ์๊ตฌ ์ฌํญ, ๋ ์ด๋ธ์ ์ถฉ์กฑํ๋ ๋ ธ๋์์๋ง ์คํ๋๋๋ก Kubernetes์ ์ํด ๋ผ์ฐํ ๋๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ๊ด๋ฆฌ์๋ ์๋์ผ๋ก ๋ ์ด๋ธ์ ํ ๋นํ๊ณ ๋์คํฌ๋ฅผ ํ๋ก๋น์ ๋ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํ์ฅ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ์ข ๋ ์ฝ๊ฒ ๋ง๋๋ ๋ฐ ๋์์ด ๋๋ ๊ฒ์ด ์ธ ๋ฒ์งธ ์ต์ ์ธ ๋ก์ปฌ์ ๋๋ค. ์ด๋ฏธ ๊ฐ์กฐํ๋ฏ์ด ์ด๋ ํ๋์ ๋ํ ํ๋ ์์ ์ด๋ฉฐ ๊ถ๊ทน์ ์ผ๋ก ์ต๋ ์ฑ๋ฅ์ ์ป๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ด์ ๊ด๋ จ๋ ๋ ๋ฒ์งธ ์ง๋ฌธ์ด ์์ต๋๋ค. Kubernetes๋ ๋ ธ๋ ์์ค ์ฌ๋ถ๊ฐ ์ค์ํ์ง ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์ค๋๊ฐ ์ ์ง๋ ๋ ธ๋๋ฅผ ์์ด๋ฒ๋ฆฐ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
์, Kubernetes๋ ์ฒ์์๋ Pod์์ ๊ด๊ณ๊ฐ ์์ ๊ฐ๋ค๋ ์ ์ฅ์ ์ทจํ์ง๋ง ์ฌ๊ธฐ์๋ ๊ฐ ๋์คํฌ๊ฐ ์ ์๋๋ฌผ๊ณผ ๊ฐ์ต๋๋ค. ๊ทธ๋ฅ ๋ฒ๋ฆด ์ ์๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฟ ๋ฒ๋คํฐ์ค์ ๋ฐ์ ์ ์์ ํ ๋ฒ๋ ค์ง ์์์ฒ๋ผ ์ฒ ํ์ ์ผ๋ก ์์ ํ ๋ค๋ฃจ๊ธฐ๊ฐ ๋ถ๊ฐ๋ฅํ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๊ณ ์๋ค.
์ด์ ์ค์ฉ์ ์ธ ์ง๋ฌธ์ด ์์ต๋๋ค. ๋์คํฌ๊ฐ ์๋ ๋ ธ๋๋ฅผ ๋ถ์คํ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น? ์ฌ๊ธฐ์ ๋ฌธ์ ๋ ๋ ๋์ ์์ค์์ ํด๊ฒฐ๋ฉ๋๋ค. ClickHouse์ ๊ฒฝ์ฐ ๋ ๋์ ์์ค์์ ์๋ํ๋ ๋ณต์ ๋ณธ์ด ์์ต๋๋ค. ClickHouse ์์ค์์.
๊ทธ ๊ฒฐ๊ณผ ์ฒ๋ถ์ ๋ฌด์์ ๋๊น? DevOps๋ ๋ฐ์ดํฐ๊ฐ ์์ค๋์ง ์๋๋ก ํ ์ฑ ์์ด ์์ต๋๋ค. ๊ทธ๋ ๋ณต์ ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ํด์ผ ํ๋ฉฐ ๋ณต์ ๊ฐ ์คํ ์ค์ธ์ง ํ์ธํด์ผ ํฉ๋๋ค. ClickHouse ์์ค์ ๋ณต์ ๋ณธ์๋ ์ค๋ณต๋ ๋ฐ์ดํฐ๊ฐ ์์ด์ผ ํฉ๋๋ค. ์ด๋ ์ด์์๊ฐ ํด๊ฒฐํ๋ ๋ฌธ์ ๊ฐ ์๋๋๋ค. Kubernetes ์์ฒด๊ฐ ํด๊ฒฐํ๋ ๋ฌธ์ ๋ ์๋๋๋ค. ์ด๊ฒ์ ClickHouse ์์ค์ ์์ต๋๋ค.
์ฒ ๋ ธ๋๊ฐ ๋จ์ด์ง๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น? ๊ทธ๋ฆฌ๊ณ ๋ ๋ฒ์งธ ๋์คํฌ๋ฅผ ์ค์นํ๊ณ ๋์คํฌ๋ฅผ ์ ์ ํ๊ฒ ํ๋ก๋น์ ๋ํ๊ณ ๋ ์ด๋ธ์ ์ ์ฉํด์ผ ํ๋ค๋ ๊ฒ์ด ๋ฐํ์ก์ต๋๋ค. ๊ทธ ํ์๋ Kubernetes๊ฐ ์ธ์คํด์ค ํฌ๋๋ฅผ ์์ํ ์ ์๋ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๊ฒ ๋ฉ๋๋ค. Kubernetes๊ฐ ์ด๋ฅผ ์์ํฉ๋๋ค. ํฌ๋ ์๊ฐ ์ง์ ๋ ์๋ฅผ ์ถฉ์กฑํ๊ธฐ์ ์ถฉ๋ถํ์ง ์์ต๋๋ค. ์ ๊ฐ ๋ณด์ฌ๋๋ฆฐ ์ฌ์ดํด์ ๊ฑฐ์น๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ๋์ ์์ค์์ ClickHouse๋ ์ฐ๋ฆฌ๊ฐ ๋ณต์ ๋ณธ์ ์ ๋ ฅํ์ง๋ง ์ฌ์ ํ ๋น์ด ์์ผ๋ฏ๋ก ๋ฐ์ดํฐ ์ ์ก์ ์์ํด์ผ ํ๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค. ์ ๊ฒ๋ค. ์ด ํ๋ก์ธ์ค๋ ์์ง ์ ๋๋ก ์๋ํ๋์ง ์์์ต๋๋ค.
์ ๊ณ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ์จ๊ฐ ๋ถ์พํ ์ผ์ด ์ผ์ด๋๋ฉด ์คํผ๋ ์ดํฐ๊ฐ ํฌ๋์ฌ๋ ์ฌ์์์ ํ๊ณ , ๊ทธ ์๊ฐ ์ด๋ฒคํธ๊ฐ ๋์ฐฉํ๋๋ฐ ์ด๋ป๊ฒ๋ ์ฒ๋ฆฌํด์ฃผ์ค ์ ์๋์?
์ด์์๊ฐ ์ถฉ๋ํ๊ณ ๋ค์ ์์ํ๋ฉด ์ด๋ป๊ฒ ๋๋์?
์. ๊ทธ๋ฆฌ๊ณ ๊ทธ ์๊ฐ ์ด๋ฒคํธ๊ฐ ๋์ฐฉํ์ต๋๋ค.
์ด ๊ฒฝ์ฐ ์ํํ ์์ ์ ์ด์์์ Kubernetes ๊ฐ์ ๋ถ๋ถ์ ์ผ๋ก ๊ณต์ ๋ฉ๋๋ค. Kubernetes์๋ ๋ฐ์ํ ์ด๋ฒคํธ๋ฅผ ์ฌ์ํ ์ ์๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ๊ทธ๋ ๋ค์ ์ฌ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์์์ ์๋ฌด๋ ์ด๋ฒคํธ ๋ก๊ทธ๊ฐ ์์ ์๊ฒ ์ฌ์๋ ๋ ์ด๋ฌํ ์ด๋ฒคํธ๊ฐ ๋ฉฑ๋ฑ์ฑ์ ๊ฐ๋์ง ํ์ธํ๋ ๊ฒ์ ๋๋ค. ๋์ผํ ์ด๋ฒคํธ๊ฐ ๋ฐ๋ณต์ ์ผ๋ก ๋ฐ์ํ๋๋ผ๋ ์์คํ ์ด ์ค๋จ๋์ง ์๋๋ก ํ๊ธฐ ์ํจ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ ์ด์์๋ ์ด ์์ ์ ๋์ฒํฉ๋๋ค.
์๋ ํ์ธ์! ์ ๊ณ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ๋๋ฏธํธ๋ฆฌ Zavyalov, ํ์ฌ ์ค๋ฉ๋๋ฐ. ์ด์์์๊ฒ haproxy๋ฅผ ๊ตฌ์ฑํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๊ณํ์ด ์๋์? ์ ๋ ํ์คํ ๋ฐธ๋ฐ์ ์ธ์ ๋ค๋ฅธ ๋ฐธ๋ฐ์์ ๊ด์ฌ์ด ์์ด์ ClickHouse๊ฐ ์ค์ ๋ก ๊ฑฐ๊ธฐ์ ์๋ค๋ ๊ฒ์ ๋๋ํ๊ฒ ์ดํดํ ์ ์์ต๋๋ค.
์ธ๊ทธ๋ ์ค ๋ง์ํ์๋ ๊ฑด๊ฐ์?
์, Ingress๋ฅผ haproxy๋ก ๊ต์ฒดํ์ธ์. haproxy์์๋ ๋ณต์ ๋ณธ์ด ์๋ ํด๋ฌ์คํฐ์ ํ ํด๋ก์ง๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์์ง ๊ทธ๊ฒ์ ๋ํด ์๊ฐํ์ง ์์์ต๋๋ค. ๊ทธ๊ฒ์ด ํ์ํ๊ณ ๊ทธ๊ฒ์ด ์ ํ์ํ์ง ์ค๋ช ํ ์ ์๋ค๋ฉด, ํนํ ์ฐธ์ฌ๋ฅผ ์ํ๋ ๊ฒฝ์ฐ ์ด๋ฅผ ๊ตฌํํ๋ ๊ฒ์ด ๊ฐ๋ฅํ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ต์ ์ ๊ธฐ๊บผ์ด ๊ณ ๋ คํด ๋ณด๊ฒ ์ต๋๋ค. ๊ฐ๋จํ ๋๋ตํ์๋ฉด '์๋์'์ ๋๋ค. ํ์ฌ๋ก์๋ ๊ทธ๋ฌํ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ํ์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ์กฐ์ฌํด ๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฅผ ๋ค์ด GitHub์์ ๋ฌธ์ ๋ฅผ ์์ฑํ๋ ๋ฑ ์ฌ์ฉ ์ฌ๋ก์ ์ค์ ๋ก ํ์ํ ์ด์ ๋ฅผ ์ค๋ช ํ๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
์ด๋ฏธ ๊ฐ์ง๊ณ ์๋ค.
๊ด์ฐฎ์. ์ฐ๋ฆฌ๋ ์ด๋ค ์ ์์๋ ์ด๋ ค ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ haproxy๊ฐ ํ ์ผ ๋ชฉ๋ก์ ์ถ๊ฐ๋ฉ๋๋ค. ํ ์ผ ๋ชฉ๋ก์ ์์ง ์ค์ด๋ค์ง ์๊ณ ๋์ด๋๊ณ ์์ต๋๋ค. ํ์ง๋ง ์ด๊ฒ์ ์ข๋ค. ์ฆ, ์ ํ์ ๋ํ ์์๊ฐ ์๋ค๋ ๋ป์ด๋ค.
์ถ์ฒ : habr.com