27์ 29~XNUMX์ผ์ ์ฐ๋ฆฌ๋ ๋ค ๋ฒ์งธ Slurm: Kubernetes ์ง์ค์ ๊ฐ์ตํฉ๋๋ค.
๋ณด๋์ค: Docker, Ansible, Ceph์ ๋ํ ์จ๋ผ์ธ ๊ฐ์ข
Kubernetes ์์
์ ์ค์ํ์ง๋ง k8s์ ์ง์ ์ ์ธ ๊ด๋ จ์ด ์๋ Slurm ์ฃผ์ ์์ ํ์๋์์ต๋๋ค. ์ด๋ป๊ฒ, ์, ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋๊ฐ - ์ปท ์๋.
๋ชจ๋ Slurm 4 ์ฐธ๊ฐ์๋ ์ด ๊ฐ์ข์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
์ฒซ๋ ์ ์ก ํ๋ถ
์ํธํํ
๋ฅด๋ถ๋ฅดํฌ ์ฌ๋ผ์์๋ ๋ ๋ช
์ ์ฐธ๊ฐ์๊ฐ ๋ ๋ฌ์ต๋๋ค.
Slurm์ ๋ํด ์ ๋์ ์ผ๋ก ๋ง์์ ๋ค์ง ์๋ ์ ์ ๋ฐ๊ฒฌํ๋ค๋ฉด, ์ฒซ๋ ์ฃผ์ต์์๊ฒ ํธ์ง๋ฅผ ๋ณด๋ด์ญ์์ค. ์ ์์ ๋นํ์ฑํํ๊ณ ์ฐธ๊ฐ๋น ์ ์ก์ ํ๋ถํด ๋๋ฆฝ๋๋ค.
๊ธฐ์ ์ปจ์คํดํธ
์๋ ์ฌ๋์ด๋ผ๋ฉด
์ฌ๋ผ์ด๋?
Slurm-4: ๊ธฐ๋ณธ ์ฝ์ค(27์ 29~XNUMX์ผ)
์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฒ์ ์ ํ์๋ ๋ถ๋ค์ด๋ ์ง์์ ์ฒด๊ณํํ๊ณ ์ถ์ ๋ถ๋ค์ ์ํด ์ ์๋์์ต๋๋ค.
๊ฐ ์ฐธ๊ฐ์๋ Selectel ํด๋ผ์ฐ๋์ ์์ ์ ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ๊ณ ๊ฑฐ๊ธฐ์ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฐฐํฌํฉ๋๋ค.
๊ฐ๊ฒฉ : 25
ํ๋ก๊ทธ๋จ
์ฃผ์ #1: Kubernetes ์๊ฐ, ์ฃผ์ ๊ตฌ์ฑ ์์
โข k8s ๊ธฐ์ ์๊ฐ. ์ค๋ช
, ์ ์ฉ, ๊ฐ๋
โข ํฌ๋, ReplicaSet, ๋ฐฐํฌ, ์๋น์ค, ์์ , PV, PVC, ConfigMap, ๋น๋ฐ
โข ๊ดํ
์ฃผ์ 2: ํด๋ฌ์คํฐ ์ค๊ณ, ์ฃผ์ ๊ตฌ์ฑ ์์, ๋ด๊ฒฐํจ์ฑ, k8s ๋คํธ์ํฌ
โข ํด๋ฌ์คํฐ ์ค๊ณ, ์ฃผ์ ๊ตฌ์ฑ์์, ๋ด๊ฒฐํจ์ฑ
โข k8s ๋คํธ์ํฌ
์ฃผ์ #3: Kubespray, Kubernetes ํด๋ฌ์คํฐ ์กฐ์ ๋ฐ ์ค์
โข Kubespray, Kubernetes ํด๋ฌ์คํฐ ๊ตฌ์ฑ ๋ฐ ์กฐ์
โข ๊ดํ
์ฃผ์ #4: Ceph, ํด๋ฌ์คํฐ ์ค์ ๋ฐ ํ๋ก๋์
์์
๊ธฐ๋ฅ
โข Ceph, ํด๋ฌ์คํฐ ์ค์ ๋ฐ ํ๋ก๋์
์์
๊ธฐ๋ฅ
โข ์ฐ์ต: ceph ์ค์
์ฃผ์ #5: ๊ณ ๊ธ Kubernetes ์ถ์ํ
โข DaemonSet, StatefulSet, RBAC, Job, CronJob, ํฌ๋ ์ค์ผ์ค๋ง, InitContainer
์ฃผ์ #6: Helm ์๊ฐ
โข ํฌ๋ฆ ์๊ฐ
โข ๊ดํ
์ฃผ์ #7: ์๋น์ค ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
๊ฒ์
โข ์๋น์ค ๊ฒ์ ๋ฐฉ๋ฒ ๊ฐ์: NodePort, LoadBalancer, Ingress
โข ์์ ์ปจํธ๋กค๋ฌ(Nginx): ์์ ํธ๋ํฝ ๊ท ํ ์กฐ์
โข Cert-manager: SSL/TLS ์ธ์ฆ์ ์๋ ํ๋
โข ๊ดํ
์ฃผ์ #8: ๋ก๊น
๋ฐ ๋ชจ๋ํฐ๋ง
โข ํด๋ฌ์คํฐ ๋ชจ๋ํฐ๋ง, ํ๋ก๋ฉํ
์ฐ์ค
โข ํด๋ฌ์คํฐ ๋ก๊น
, Fluentd/Elastic/Kibana
โข ๊ดํ
์ฃผ์ 9: CI/CD, ์ฒ์๋ถํฐ ํด๋ฌ์คํฐ์ ๋ฐฐํฌ ๊ตฌ์ถ
์ฃผ์ 10: ์ค๋ฌด ์์ , ์ ํ๋ฆฌ์ผ์ด์ ๋ํนํ ๋ฐ ํด๋ฌ์คํฐ ์คํ
MegaSlurm: ๊ณ ๊ธ ๊ณผ์ (31์ 2์ผ~XNUMX์ XNUMX์ผ)
Kubernetes ์์ง๋์ด์ ์ค๊ณ์, ๊ธฐ์ด ๊ณผ์ ์กธ์
์์ ์ํด ์ค๊ณ๋์์ต๋๋ค.
ํด๋ฌ์คํฐ ๊ตฌ์ฑ ์์ ์
๋ฐ์ดํธ์ ํด๋ฌ์คํฐ ๋ฐฐํฌ๋ฅผ ๋์์ ์์ํ๋๋ก ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
๊ฐ๊ฒฉ: 60 (Slurm-45 ์ฐธ๊ฐ์์ ๊ฒฝ์ฐ 4)
ํ๋ก๊ทธ๋จ
์ฃผ์ #1: ๋ด๋ถ์์ ์ฅ์ ์กฐ์น ํด๋ฌ์คํฐ๋ฅผ ๋ง๋๋ ํ๋ก์ธ์ค
โข Kubespray์ ํ๋ ฅํ๊ธฐ
โข ์ถ๊ฐ ๊ตฌ์ฑ์์ ์ค์น
โข ํด๋ฌ์คํฐ ํ
์คํธ ๋ฐ ๋ฌธ์ ํด๊ฒฐ
โข ๊ดํ
์ฃผ์ #2: ์ธ๋ถ ๊ณต๊ธ์๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ์์ ๊ถํ ๋ถ์ฌ
โข LDAP(Nginx + Python)
โข OIDC(Dex + Gangway)
โข ๊ดํ
์ฃผ์ #3: ๋คํธ์ํฌ ์ ์ฑ
โข CNI ์๊ฐ
โข ๋คํธ์ํฌ ๋ณด์ ์ ์ฑ
โข ๊ดํ
์ฃผ์ #4: ํด๋ฌ์คํฐ์ ์์ ํ๊ณ ๊ฐ์ฉ์ฑ์ด ๋์ ์ ํ๋ฆฌ์ผ์ด์
โข ํฌ๋๋ณด์์ ์ฑ
โข PodDisruptionBudget
์ฃผ์ #5: ์ฟ ๋ฒ๋คํฐ์ค. ํ๋ ์๋๋ฅผ ์ดํด๋ณด์
โข ์ปจํธ๋กค๋ฌ ๊ตฌ์กฐ
โข ์ฐ์ฐ์ ๋ฐ CRD
โข ๊ดํ
์ฃผ์ #6: ํด๋ฌ์คํฐ์ ์ํ ์ ์ฅ ์ ํ๋ฆฌ์ผ์ด์
โข PostgreSQL์ ์๋ก ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ ์์
โข RabbitMQ ํด๋ฌ์คํฐ ์์
โข ๊ดํ
์ฃผ์ #7: ๋น๋ฐ ์ ์ง
โข Kubernetes์์ ๋น๋ฐ ๊ด๋ฆฌ
โข ๊ธ๊ณ
์ฃผ์ #8: ์ํํ ํฌ๋ ์๋ ํ์ฅ ์ฒ๋ฆฌ
โข ์ด๋ก
โข ๊ดํ
์ฃผ์ #9: ๋ฐฑ์
๋ฐ ์ฌํด ๋ณต๊ตฌ
โข Heptio Velero(์ด์ ์ Ark) ๋ฐ etcd๋ฅผ ์ฌ์ฉํ ํด๋ฌ์คํฐ ๋ฐฑ์
๋ฐ ๋ณต๊ตฌ
โข ๊ดํ
์ฃผ์ #10: ์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ
โข๋ฆฐํธ
โข ํ
ํ๋ฆฟ ์์ฑ ๋ฐ ๋ฐฐํฌ ๋๊ตฌ
โข ๋ฐฐํฌ ์ ๋ต
์ฃผ์ 11: ์ค์ ์์
โข ์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ๋ฅผ ์ํ CI/CD ๊ตฌ์ถ
โข ํด๋ฌ์คํฐ ์
๋ฐ์ดํธ
๋์ปค, ์ค์๋ธ, ์ธํ
์ธ์ต ์ฌ์ฐ
์ฒซ ๋ฒ์งธ Slurm์ ์คํ์ด์์ต๋๋ค. ์ฐ์ฌ๋ค์ ๋ง ๊ทธ๋๋ก ๋ฌด๋์์ ํ๋ ์ ํ ์ด์ ์ ๋ง์ณค๊ณ , ์ฒญ์ค์๋ ์ด์ ๊ทธ๋ค์ ์ฐ์ฌ๋ก ์ด๋ํ ์ ์๋ ์์ค์ ๊ด๋ฆฌ์๊ฐ ์์์ต๋๋ค.
์ค์ ๊ธฐ๋ณธ ๊ณผ์ ์ ๋ ๋ฒ์งธ Slurm์์ ์งํ๋์์ต๋๋ค. ์ฐธ๊ฐ์์ 80%๊ฐ Kubernetes๋ฅผ ์ฒ์์ผ๋ก ์ ํ๊ณ , XNUMX๋ถ์ XNUMX์ Docker๋ฅผ ์ฌ์ฉํ ์ ์ด ์์์ต๋๋ค.
์ฌ๋๋ค์ด ์์นจ์ Docker์ ๋ํ ๊ฐ์๋ฅผ ๋ฃ๊ณ ์ ๋
์ ์ ํฌ ๋ชจ๋๋ก ์์
ํ๋ ๊ฒ์ด ์ผ๋ง๋ ํ๋ ์ง ๋ถ๋ช
ํ์ต๋๋ค.
Ceph๋ ๋ง์ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค. ๊ฒ๋ค๊ฐ ์ฒญ์ค ์ค์๋ ๋ฐ๋์ Ceph๋ฅผ ์ค๋ช
ํด์ผ ํ๋ ์ฌ๋์ด 20๋ช
์์๊ณ , Ceph๊ฐ ์ ํ ํ์ํ์ง ์์ ์ฌ๋๋ 60๋ช
์์์ต๋๋ค.
์ธ ๋ฒ์งธ Slurm์์๋ Docker์ Ansible์ ๋ณ๋์ ์น ์ธ๋ฏธ๋๋ก ์ด๋ํ์ฌ Kubernetes์ ๋ ๋ง์ ์๊ฐ์ ํ๋ณดํ์ต๋๋ค. ์ด ์๋ฃจ์ ์ ๋ณธ์ง์ ์ผ๋ก ์ค์ฉ์ ์ด์๊ณ ๊ตฌํ์ด ๋ฏธํกํ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ๊ฐ์๋ ์๋ จ๋ ์ฌ๋๋ค์๊ฒ ํฅ๋ฏธ๋กญ์ง ์์๊ณ ํ ๋ก ์ ์ด๋ณด์์๊ฒ ํฅ๋ฏธ๋กญ์ง ์์์ต๋๋ค.
๋ค ๋ฒ์งธ Slurm์์๋ Docker, Ansible ๋ฐ Ceph์ ๋ํ ์จ๋ผ์ธ ๊ฐ์ข๋ฅผ ๋ง๋ค์์ต๋๋ค. ์์ด๋์ด๋ ๊ฐ๋จํฉ๋๋ค. ํ์ํ ์ฌ๋์ ์ ์คํ๊ฒ ๊ณผ์ ์ ์๊ฐํ๊ณ , ํ์ํ์ง ์์ ์ฌ๋์ ์นจ์ฐฉํ๊ฒ ๋ฌด์ํฉ๋๋ค. ํ ์คํฐ ๊ทธ๋ฃน์ ํ๋จ์ ๋ฐ๋ฅด๋ฉด Docker ๊ณผ์ ์ 6~8์๊ฐ์ด ์์๋ฉ๋๋ค. Ansible๊ณผ Ceph๋ ์์ง ํด๋ญ์ ๊ธฐ๋กํ์ง ์์์ต๋๋ค.
๋ฉด์ฑ ์กฐํญ :
- ์คํ ์ฝ์ค. ์ผ๋ถ ๊ฒฐ์ ์ ์๋ง๋ ์ฑ๊ณตํ์ง ๋ชปํ ์๋ ์์ต๋๋ค.
- ํ๋ซํผ(Stepik.org)์ ์กฐ์ ํ๊ณ ์ด์ ์ ์์ ํด ๋ณธ ์ ์ด ์์ต๋๋ค. ์๋ง๋ ์ถฉ๋๊ณผ ๊ฑธ๋ฆผ๋์ด ์์ ๊ฒ์ ๋๋ค.
- ์ด ๊ณผ์ ์ Southbridge ์ง์์ ๋์์ผ๋ก๋ง ํ ์คํธ๋์์ต๋๋ค. ๋ถ๋ช ํ ๋น์ ์ ๊ฐ๋ฉด์ ๋ญ๊ฐ๋ฅผ ๋๋ด์ผ ํ ๊ฒ์ ๋๋ค.
์ผ๋ง ์ ์ฒซ ๋ฒ์งธ Slurm ์ฑํ ์์ ๊ทธ๋ค์ ๋ชจ๋ ์กฐ์ง์ ๊ณตํฌ์๋ ๋ถ๊ตฌํ๊ณ Slurm์ด ์ผ๋ง๋ ๋ฉ์ง๊ณ ์ฌ๋ฏธ ์์๋์ง ๊ธฐ์ตํ์ต๋๋ค. ๊ฐ์ฅ ์์ํ ์ธ์์ ๊ฐ์ฅ ๋จผ์ ์ป์ต๋๋ค. ์จ๋ผ์ธ ๊ฐ์ข์ ์ฒซ ๋ฒ์งธ ํ์์๊ฒ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋์ง ๋ด ์๋ค. ๐
์ถ์ฒ : habr.com