XNUMX์์ Kubernetes ๊ฐ์ข์ธ Slurm์ ์ฃผ์ต์๊ฐ ์ ์ง ๋ฌธ์ ๋๋๋ฆฌ๋ฉฐ ํ
์คํธํ๊ณ ์๊ฐ์ ๋งํ์ต๋๋ค.
Dmitry, Slurm์ ๋ฐ๋ ๋์ ๊ต์ก ์ด๋ฒคํธ์ธ Kubernetes์ ๋ํ XNUMX์ผ ์ง์ค ๊ณผ์ ์ ๋๋ค. ์ฒซ ๊ฐ์์์ ๋ ์๊ฐ๋ง ์์ ์์ผ๋ฉด ๊ทธ๊ฒ์ ๋ํด ๊ธ์ ์ธ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์์ ํ ์ฐธ์ฌํ ์ค๋น๊ฐ ๋์ จ๋์?
Slurm ์ด์ ์๋ ansible, docker, ceph์ ๋ํ ์จ๋ผ์ธ ์ค๋น ๊ณผ์ ์ ์๊ฐํด์ผ ํ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ์๋ฌด์์ ๊ฐ์ ๋ฐํ์์ ํจ๊ป ๊ฐ ๋ช
๋ น ์ค์ ํ ์ค์ฉ ์งํํ๊ฒ ๋ ์ฝ๋์ ์ ํํ ์ง์นจ์ ๊ฐ์ ธ์ต๋๋ค.
โ ๋๋ ๋ ๊ณผ์ ๋ชจ๋์ ์์ ํ ์ฐธ์ฌํ ์ค๋น๊ฐ ๋์์์ ํ์ธํฉ๋๋ค.
๊ทธ ํ์๋ ์์คํ ๊ด๋ฆฌ์๊ฐ ๊ฐ๋ํ ๊ต์ค์์ 6์ผ(๊ธฐ๋ณธ Slurm ๋ฐ MegaSlurm) ๋์ ์ด์ฌํ ๊ณต๋ถํ ์ ์์ต๋๋ค.
๋ถ์
์ผ๋ฐ์ ์ผ๋ก ์๋น์ค ๊ฐ๋ฐ์ ์์ด์ ์ด๋ ค์ด ์ ์ ๋ฌด์์ธ๊ฐ์? ์๋ฅผ ๋ค์ด, ๊ธฐ์ ์์ ํธ์ ์๋ฆผ ๊ด๊ณ ๋ฅผ ์์ฒญํฉ๋๋ค! ์น์ฌ์ดํธ๋ฅผ ๊ฐ์ถ ํ์คํ ๊ฐ๋ฐ์์ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ์ถ ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. 15๋ถ์ง๋ฆฌ ๊ณผ์ . ํ๋ฃจ ์์ ์ฒ๋ฆฌํ ์ ์๋ค๊ณ ์ ์ฒด์ ์๋ฆฌ์!
๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ ํธ์ ์๋ฆผ์ด ์ด์ ์ ์ ์ก๋ ์ ์ด ์๋ค๋ ๊ฒ์ด ๋ฐํ์ก์ต๋๋ค. ํด์ธ ๋๋ ์์ฒด ํธ์คํ ํธ์ ์๋ฆผ ํ๋ซํผ์ ์ฌ์ ์ ์ฐ๊ฒฐํ์ง ์์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ๋ ์ด์ 15๋ถ์ด๋ ํ ์๊ฐ์ด ์๋๋๋ค. ์ผ์ฃผ์ผ ์์ ์ฐ๊ฒฐํ๋ฉด ์ข์ต๋๋ค. ๋ง๋ฒ๊ณผ ๋ง๋ฒ์ด ์์๋์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ด ๋ถ๋ถ๋ช ํ๊ณ , ์ด์ํ๊ณ , ์์ธกํ ์ ์์ต๋๋ค.
๋จ ํ ๊ฐ์ง ์ด์ ๋๋ฌธ์ ๊ฐ๋ฐ์ด ์์ ํ ์์ธก ๋ถ๊ฐ๋ฅํด์ก์ต๋๋ค. ๊ทธ๋ค์ ๋น์ฆ๋์ค ์์ ๊ณ์ธต ์ธ์ ์ธํ๋ผ ๊ณ์ธต๋ ์๋ค๋ ์ ์ ๊ณ ๋ คํ์ง ์์์ต๋๋ค.
๋น์ฆ๋์ค ์์ ๊ณ์ธต์ด ๋ง์ ์์ ์์ , ๊ฐ์ค ํ ์คํธ ๋ฐ ์๊ฐ์ ํธ๋ฆญ์ ๋ฟ์ด๋ด๋ ๋ถ์๋ผ๋ฉด ์ธํ๋ผ๋ ํ์ดํ์ ๋๋ค. ์ฌ๊ธฐ์์๋ ์ต์ XNUMX๊ฐ์ ์ ์ ๋ฏธ๋ฆฌ ๊ณํํ ์ ์๋ ๊ธฐ๊ฐ์ด ํ์ํฉ๋๋ค.
๋ถ์์ฉ ํ์ดํ
๋ณต์ก์ฑ๊ณผ ์ธ๋ถ ์ฌํญ์ ๋งค์ฐ ์ธ์ฌํ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ฌ์ผ ํ๋ ์๊ตฌ ์ฌํญ์ผ๋ก ์ธํด ํน๋ณํ ๊ต์ก์ ๋ฐ์ ์ฌ๋๋ค์ด "ํ์ดํ"๋ฅผ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค. Devops๋ ๊ฐ์ฅ ๊ฒฝํ์ด ํ๋ถํ ๊ด๋ฆฌ์ ๋ฐ ๊ฐ๋ฐ์์์ ์ฑ์ฅํ์ต๋๋ค. ๊ทธ๋ค์ ์์ ์ ์ฒด๊ณ์ ์ด๊ณ ์๊ฒฉํ๊ฒ ์ผ๊ด์ฑ์ด ์์ต๋๋ค. ๊ทธ๋ค์ ๊ต๋ ๊ฑด์ค์์ ๊ฐ์ต๋๋ค. ์ด๋ค ์ค์๋ผ๋ 15๋ถ ๋์์ ์ฌ์ด ๋น์ฆ๋์ค ์์ ์ด ๊ฐ์๊ธฐ ๋ฉฐ์น ๋ฐ ๋น์ฉ์ ๋ค์ฌ ์ธํ๋ผ๋ฅผ ๋ค์ ๊ณํํ๊ฒ ๋๋ค๋ ์ฌ์ค๋ก ์ด์ด์ง๋๋ค.
Slurm์ ํ์ฌ ๋ฌ์์์์ ํ์คํ๋ ๋ฐฉ์์ผ๋ก ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋ฅด์น๋ ์ ์ผํ ์ฝ์ค์ ๋๋ค. ์ด๋ฅผ ํตํด ์ต์ํ ์ด๋ป๊ฒ๋ ๊ณํ ์ค๋ฅ๋ฅผ ์ํํ ์ ์์ต๋๋ค. ์ ๋ Kubernetes์ ๋ํ ๊ฐ์ข๋ฅผ ์๊ฐํ๊ณ , XNUMX์์ DevOps์ ๋ํ ์๋ก์ด ๊ฐ์ข๋ฅผ ์๊ฐํ ์์ ์ ๋๋ค.
Slurm์ ์์ญ ๊ฐ์ ๋ค์ํ ๋ชจ์์ ๋ถ์๋ฅผ ๊ฑด์คํ ๊ด๋ฆฌ ์์์์ฑ์ ์ฒด์ธ Southbridge์ ์ํด ๋ฐ๋ช ๋์์ต๋๋ค. Southbridge๋ KTP ๋ฐ KCSP ์ธ์ฆ์ ๋ฐ์์ต๋๋ค(CNCF, Linux Foundation ํ์).
Kubernetes ๊ณผ์ ์์๋ ์ ํํ ๋ฌด์์ ๊ฐ๋ฅด์น๋์?
๊ฐ๋ฐ์๊ฐ ์ํํ ๋ชจ๋ ์์ ์ ๋ฌด๋์ง์ง ์๋๋ก ์ ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
- Kubespray์ ํจ๊ป ์ผํ๊ธฐ
- ์ถ๊ฐ ๊ตฌ์ฑ ์์ ์ค์น
- ํด๋ฌ์คํฐ ํ ์คํธ ๋ฐ ๋ฌธ์ ํด๊ฒฐ
ํด๋ฌ์คํฐ ์์ฒด๋ก ์์ ํ ์ ์๋๋ก ํด๋ฌ์คํฐ ์ฌ์ฉ์(๊ฐ๋ฐ์)์๊ฒ ๊ถํ์ ๋ถ์ฌํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
- LDAP(Nginx + Python)
- OIDC(Dex + ํต๋ก)
๋คํธ์ํฌ ์์ค์์ ํด์ปค๋ก๋ถํฐ ์์ ์ ๋ณดํธํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
- CNI ์๊ฐ
- ๋คํธ์ํฌ ๋ณด์ ์ ์ฑ
๊ทธ๋ฆฌ๊ณ ์ ๋ฐ์ ์ธ ์์ !
- ํฌ๋ ๋ณด์ ์ ์ฑ
- PodDisruptionBudget
์ฐ๋ฆฌ๋ ์๋ฌด๊ฒ๋ ์จ๊ธฐ์ง ์๊ณ , ๋ด๋ถ ๋ด์ฉ์ ์์ธํ ์๋ ค๋๋ฆฝ๋๋ค.
- ์ปจํธ๋กค๋ฌ ๊ตฌ์กฐ
- ์ฐ์ฐ์ ๋ฐ CRD
ํด๋ฌ์คํฐ์ ์ํ ์ ์ฅ ์ ํ๋ฆฌ์ผ์ด์
- PostgreSQL์ ์๋ก ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ ์์
- RabbitMQ ํด๋ฌ์คํฐ ์์
์๋ง์ ๋น๋ฐ๋ฒํธ์ ๊ตฌ์ฑ์ ์ผ๋ฐ ํ ์คํธ๋ก ์ ์ฅํ์ง ์๋ ๋ฐฉ๋ฒ
- Kubernetes์์ ๋น๋ฐ ๊ด๋ฆฌ
- ๋ฅ๊ทผ ์ฒ์ฅ
์๊ฐ๋ฝ ์ค๋ ์ผ๋ก ์ํ ํ์ฅ
- ะขะตะพัะธั
- ์ฐ์ต
๋ฐฑ์
- Heptio Velero(์ด์ ์ Ark) ๋ฐ etcd๋ฅผ ์ฌ์ฉํ ํด๋ฌ์คํฐ ๋ฐฑ์ ๋ฐ ๋ณต๊ตฌ
ํ ์คํธ, ์คํ ์ด์ง, ํ๋ก๋์ ์ ์ํ ์์ฌ์ด ๋ฐฐํฌ
- ๋ฆฐํธ ์ฒ
- ํ ํ๋ฆฟ ์์ฑ ๋ฐ ๋ฐฐํฌ ๋๊ตฌ
- ๋ฐฐํฌ ์ ๋ต
์คํ ๋ก์ด๋์ ๋ํ ๊ณผ์ ๋ ์์ผ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ๊ฒ์ด ํ๋ ์ฝ์ด์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ธฐ๋ณธ ๊ณผ์ ์ ๋ง์น ํ์๋ ์ด๋ฏธ ์์ ๋ง์ ๋ถ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
Slurm ์ดํ ์ฐธ๊ฐ์๋ค์๊ฒ๋ ํ๋ฃจ ์ข ์ผ ๋น๋์ค ๋ นํ, ์ ํํ ๋ ์ํผ์ ํจ๊ป ๊ฐ ํญ๋ชฉ์ ๋ํ ์์ธํ ์ง์นจ, ๋ฐฑ์ ์ฉ ์๋ฃจ์ ์ด๋ ํ ์คํธ ํ๊ฒฝ์ด๋ ๋ค๋ฅธ ๊ฒ.
์ฆ, ๊ทธ๋งํผ ๊ฐ๋จํฉ๋๋ค. ์. ๋๋ ๋ฉฐ์น ๋์ ์์ ์ฃผ์ ์ ๋ชฐ์ ํ๊ณ ์ ํํ ๋ ์ํผ๋ฅผ ๋ฐ๊ณ ์ง์ฅ์ผ๋ก ๋์์ ํ๋ก์ ํธ ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ์ต๋๋ค. ๊ฐ๋จํ๊ณ ์ ํํ๋ฉฐ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์์ธก ๊ฐ๋ฅํ ์๊ฐ ๋ด์ ์ด๋ฃจ์ด์ก์ต๋๋ค. ๋ง๋ฒ๊ณผ ์์ ์ ๋๋ฌ๊ณ ๋จ์ ๊ฒ์ ์ผํ๋ ๊ฒ๋ฟ์ ๋๋ค.
๊ฒฐ๊ณผ๋ ์ด๋ป์ต๋๊น?
๊ฒฝ์ฃผ๊ฐ ๋๋๋ฉด ๋ฉฐ์น ๋์ ์ ๋ง ์ง์งํ ํ๋ก์ ํธ๊ฐ ๊ฑฐ์ ๋ฐ๋ธ์ต์ค ์์ฒด์ ์ํด ๊ตฌ์ถ๋๊ณ ์๋ค๋ ๋๋์ ๋ฐ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ผ์ด ์ ์ ๋ค๋ฃจ๋ ๋ชจ๋ ์๋ฃ๊ฐ ์ดํดํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ ๋ ๋งค์ผ ์ ์๋ฒ์ ๊ทธ๊ฒ์ ์ฌํํฉ๋๋ค.
๋คํ์ค๋ฝ๊ฒ๋ ์ ์ฒด ์ฒญ์ค์ด ์นดํธ ์ฑํ ์ผ๋ก ์ด๋ํ์ผ๋ฉฐ ๋ช ์ฃผ๊ฐ ์ง๋ ํ์๋ ์๋ช ์ด ๋จ์ ์์ต๋๋ค.
๋ค์์ ๋ญ์ง?
์ฃผ์ต์ธก์์๋ ๊ฐ์์ Slurm Devops๋ฅผ ์ค๋นํ๊ณ ์๋๋ฐ ์ ๋ ์ด๋ฏธ ์ค๋น ์ค์
๋๋ค. ๋๋ ์ด๊ฒ์ ๋ํด ๊ณง ๋ด ๊ธ์ ์ธ ๊ฒ์ด๋ค.
์ถ์ฒ : habr.com