4์ XNUMX์ผ, DevOps Slurm์ด ์ํธํํ ๋ฅด๋ถ๋ฅดํฌ์์ ์์๋์์ต๋๋ค.
ํฅ๋ฏธ์ง์งํ 32์ผ๊ฐ์ ์ง์ค ๊ณผ์ ์ ํ์ํ ๋ชจ๋ ์์๊ฐ ํ ์ฅ์์ ํ ๋ฒ์ ๋ชจ์์ต๋๋ค. ํธ๋ฆฌํ Selectel ํ์์ค, ํ์์ค์ ์๋ XNUMX๋ช ์ ํธ๊ธฐ์ฌ ๋ง์ ๊ฐ๋ฐ์, ์จ๋ผ์ธ ์ฐธ๊ฐ์ XNUMX๋ช , ์ฐ์ต์ฉ Selectel ์๋ฒ. ๊ทธ๋ฆฌ๊ณ ๊ตฌ์์ ์จ์ด์๋ ๋ น์ ๊ณต๋ฃก.
Slurm ์ฒซ๋ ์๋ ์ธ ๋ช ์ ์ฐ์ฌ๊ฐ ์ฐธ๊ฐ์๋ค์๊ฒ ์ฐ์คํ์ต๋๋ค.
Southbridge์ ์๋ฃจ์ ์ค๊ณ์์ธ Pavel Selivanov๋ 10๋ ๋๊ฒ ๊ด๋ฆฌ ์ ๋ฌด์ ์ฐธ์ฌํด ์์ผ๋ฉฐ ๊ณต์ธ Kubernetes ๊ด๋ฆฌ์์ ๋๋ค. Slurm์ ์ ๊ท ์ฐ์ค์์ ๋๋ค. ๊ทธ๋ ๋ชจ์คํฌ๋ฐ Kubernetes Meetup ๋ฐ UWDC ์ปจํผ๋ฐ์ค์์ ํ๋ ์ ํ ์ด์ ์ ์งํํ์ต๋๋ค. Kubernetes ๊ตฌํ์ ๋ํ ๊ด๋ฒ์ํ ๊ฒฝํ ๋ณด์ : 5๊ฐ ํ๋ก์ ํธ - ๊ฐ์ธ ์์ , 20๊ฐ ์ด์์ ํ ๊ตฌ์ฑ์ ํ๋ก์ ํธ.
STO "ByuroByuro"์ธ Artyom Galonsky๊ฐ ์นผ๋ฆฌ๋๊ทธ๋ผ๋์์ Slurm DevOps์ ํน๋ณํ ๋์ฐฉํ์ต๋๋ค. ์์ ๊ฐ๋ฐ ๋ถ์ผ์์ 12๋ ์ด์์ ๊ฒฝํ์ ๊ฐ๊ณ ์์ต๋๋ค. 2011๋ ๋ถํฐ ํ์ฅ๊ณผ ๊ฐ๋ฐ๋ถ์ฅ์ ์ญ์ํ๋ค. 2016๋ ์ ๊ธฐ์ ์ด์ฌ๊ฐ ๋์์ต๋๋ค. DevOps ์์ง๋์ด๋ ์ ๋์ฝ๊ณผ ๊ฐ๋ค๊ณ ๋ฏฟ์ต๋๋ค. ์ฒ๋ ๋ง์ด ๊ทธ๊ฒ์ ์ก์ ์ ์๋ค๋ ์๋ฏธ๋ ์๋๋๋ค. ๋ฌธ์ ๋ ๊ทธ๊ฒ์ด ์ค์ ๋ก ๋ฌด์์ธ์ง ์๋ฌด๋ ๋ชจ๋ฅธ๋ค๋ ๊ฒ์ ๋๋ค.
Selectel ํด๋ผ์ฐ๋ ํ๋ซํผ ๋ถ์์ ์์ง๋์ด์ธ Alexey Stepanenko๋ ๋ชจ๋ํฐ๋ง, CI/CD ๋ฐ ๊ตฌ์ฑ ๊ด๋ฆฌ ๋ฑ OpenStack ํด๋ผ์ฐ๋ ์ ์ง๋ฅผ ์ํ ์ธํ๋ผ ์์ ์ ์ฐธ์ฌํ๊ณ ์์ต๋๋ค.
"... ๊ทธ๋ฌ๋ค๊ฐ ๊ทธ๋ฐ ๋ฒ๋ ๋ฅผ ๋ฐ๊ฒฌํ์ด์."
Pavel Selivanov๋ ์ฐธ๊ฐ์๋ค์๊ฒ ์์์น ๋ชปํ ๋ฐฉํฅ์์ ์ฒ์์ผ๋ก ์ง์์ ์ ๊ณตํ์ต๋๋ค. Git์ ํน๋ณํ ์ ์ ๊ทธ๊ฒ์ด ๊ฐ์ฅ ๋จ์ํ๊ณ ๊ฐ์ฅ ํํ, ๊ธฐ๋ณธ์ ์ธ ์ง์ค์ธ ๊ฒ ๊ฐ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ค์ ๋ก Git์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๋ ์ฌ๋์ ๊ฑฐ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ git init, commit, add, diff, log, status, pull, push์ ๊ฐ์ ๊ธฐ๋ณธ ๋ช ๋ น์ ์ดํด๋ณด์์ต๋๋ค. ์ฐ๋ฆฌ๋ Git ํ๋ฆ, ๋ถ๊ธฐ ๋ฐ ํ๊ทธ, ๋ณํฉ ์ ๋ต์ ๊ธฐ์ตํ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ Pavel Selivanov๋ Git์ ์ฌ์ฉํ ํ ์์ ์ ์๊ฐ์ ํ ์ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ํฌํฌ, ์๊ฒฉ, ํ ๋ฆฌํ์คํธ๋ฅผ ๊ฑฐ์ณค์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ถฉ๋, ๋ฆด๋ฆฌ์ค์ ๋ํด ๋ ผ์ํ๊ณ ํ๊ณผ ๊ด๋ จ๋ Gitflow ๋ฐ ๊ธฐํ ํ๋ฆ์ผ๋ก ๋ค์ ๋์์์ต๋๋ค.
โ์ค, ์ ๋ง ๊ด๋ฆฌ์๊ตฐ์!โ
์ ์ฌ ์์ฌ ํ ์ฐธ๊ฐ์๋ค์ด ์ด๋ ์ ๋ ํ์ ์ป๊ณ ๋ ๋ค์ ์ค๋น๊ฐ ๋์์ ๋ CI/CD ์ฐจ๋ก๊ฐ ๋์์ต๋๋ค.
Artyom Galonsky๋ "CI/CD: ์๋ํ ์๊ฐ"๋ผ๋ ์ฃผ์ ๋ก ์์ํ์ต๋๋ค. bash, make, gradle ๋๊ตฌ์ ํ๋ก์ธ์ค ์๋ํ๋ฅผ ์ํ git-hooks ์ฌ์ฉ์ ์์ธํ ์กฐ์ฌํ์ต๋๋ค. ๊ทธ๋ ๊ณต์ฅ ์กฐ๋ฆฝ ๋ผ์ธ๊ณผ IT์์์ ํ์ฉ์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค. "์ผ๋ฐ" ํ์ดํ๋ผ์ธ ๊ตฌ์ถ์ ์๋ฅผ ๊ณต์ ํ์ต๋๋ค. CI/CD์ฉ ์ต์ ์ํํธ์จ์ด์ ๋ํด ๋ ผ์ํ์ต๋๋ค: Drone CI, BitBucket Pipelines, Travis.
์ ๋ XNUMX์๊ฐ ๊ฐ๊น์์ง์ ์ฐธ๊ฐ์๋ค์ ์์ํ ์ง์น๊ธฐ ์์ํ๋ค. ๋ ์์ฃผ ํด์์ ์ทจํ๋ผ๋ ์ ์์ด ์์์ต๋๋ค. ํ๋ฐํ๊ฒ ์๋ํ๋ ์ ํผ์ง ๋๋ถ์ ํ์์ค์ด ๋์ ๋๊ฒ ๋ฐ๋ปํด์ก์ต๋๋ค. ์์ ์ฑํ ์์๋ ์ด๋ ต๊ฒ ์ป์ ์์ฒญ๋ ์์์ต๋๋ค. โ๋๋ฃ๋ค ์คํธ๋ ์ค ๋ฐ์ง ๋ง๊ณ ์ข ๋ ์ฌ์ #์ง์โ
โ- MaryIvanna, ๋๊ฐ๋ ๋ ๊น์? - ์๋, ์์!
Artyom Galonsky๋ ๋ฌด์๋นํ๊ฒ ์ฐธ๊ฐ์๋ค์๊ฒ ์ง์์ ๊ณ์ ๋ค์ด๋ก๋ํ์ต๋๋ค. ํด์ ์๊ฐ์ด ๋๋ ํ ๋ค์ ์ฃผ์ ์ธ "CI/CD: Working with Gitlab"์ ์ด์์ต๋๋ค.
โ์ด์ ๋
ธํธ๋ถ์ ๊ฝ ์ก์ผ์ธ์. A-and-and, ๊ฐ์!โ
๊ทธ๋ Gitlab CI, ๊ตฌ์ฑ ๊ธฐ๋ฅ, ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํด ์ด์ผ๊ธฐํ ๋ค์ Gitlab Runner, ํด๋น ์ ํ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค. Gitlab CI ๋จ๊ณ ๋ฐ Gitlab CI ๋ณ์๋ฅผ ๊ฒํ ํ์ต๋๋ค. ์ ์ด ๋ฐ ์คํ ์ ํ(๊ฒฝ์ฐ์๋ง)์ ๋ฐ๋ผ ๊ทธ๋ ์ํฐํฉํธ ์์ ์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค. .gitlab-ci.yml ๋ด์ ํ ํ๋ฆฟ์ ํ์ํ๊ณ ํ์ดํ๋ผ์ธ ํฌํจ ์น์ ์ ๋ค๋ฅธ ๋ถ๋ถ์์ ์์ ์ ์ฌ์ฌ์ฉํฉ๋๋ค. gitlab-ci.yml์ ์ค์ ์ง์ค์ ๊ด๋ฆฌ๊ฐ ์๋ฃ๋์์ต๋๋ค. ํ๋์ ํ์ผ๋ก ๋ค๋ฅธ ์ ์ฅ์๋ก ์๋ ํธ์๋ฉ๋๋ค.
์ฟ ํค์ ์ปคํผ๋ฅผ ๋ ๋จน์ ํ Alexey Stepanenko๋ "์ฝ๋๋ก์์ ์ธํ๋ผ: ์ฝ๋๋ก์์ ์ธํ๋ผ์ ๋ํ ์ ๊ทผ ๋ฐฉ์"์ด๋ผ๋ ์ฃผ์ ๋ก ์ฐธ๊ฐ์๋ค์๊ฒ ์ฐ์คํ์ต๋๋ค. ์ด๋ ํ์ฌ์ฅ์ ๋ชจ์ธ ๊ด๊ฐ๋ค์ ๋ค์๋ ์ฃผ์ ์ธ 'ํ ๋ผํผ์ ํ์ฉํ IaC'์ ๋จ๊ฑฐ์ด ๊ด์ฌ์ ๋ณด์ด๋ฉฐ ๋ฐ๋ปํ ์ด์ผ๊ธฐ๋ฅผ ์๊ตฌํ๋ค.
ะะธะบะธัะฐ ะกัะฒะพัะพะฒ, [4 ัะตะฝั. 2019 ะณ., 20:27:35]:
@f3exx ะฐ ะฟะพ ัะตััะฐัะพัะผั ะฑัะดัั ะดััะตัะธะฟะฐัะตะปัะฝัะต ะธััะพัะธะธ ะธะปะธ ะฒัะต ะทะฐะบะพะฝัะธััั ะปะฐะฑะฐะผะธ?
Aleksey Stepanenko, [4 ัะตะฝั. 2019 ะณ., 20:28:32]:
ะัะดะตั ะพะดะฝะฐ ัะพัะฝะพ)
Dmitriy Miroshnichenko, [4 ัะตะฝั. 2019 ะณ., 20:28:38]:
ััั, ะฝะฐะฟัะธะผะตั ะบะฐะบะธะต?
ะดะถัะฝ ะฒะทัะป ััะตะนั ะธ ะฒัะต ัะฑะธะป?
๋ค์ฏ ๋ฒ์งธ Slurm์์ ์ฐ๋ฆฌ๋ Git์์ ์์ํ์ฌ SRE์์ ๋๋๋ ๋จ์ํ ๊ฒ๋ถํฐ ๋ณต์กํ ๊ฒ๊น์ง ์๋ฃ๊ฐ ์ ๊ณต๋๋ "์ฌ๋ค๋ฆฌ" ๋ฐฉ์์ ์๋ํ์ต๋๋ค. ๊ฒฐ๊ณผ๋ ๋ณ๋ก ์ข์ง ์์์ต๋๋ค. ๋ฉ์ง ์ฐธ๊ฐ์๋ค์ ์ฌ์ด ์ฃผ์ ์ ์ง๋ฃจํดํ์ต๋๋ค. ๊ธ์์ผ์ ์ง์ค๊ฐ์ข์ ์ด๋ ค์ด ๋ถ๋ถ์ด ์ด๋ป๊ฒ ์งํ๋๋์ง ๋ด ์๋ค.
Slurm์ ์ฑํ ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ ํ ์์ต๋๋ค.
ะะธะบะพะปะฐะน ะะพะฝะพะฝะตะฝะบะพ, [4 ัะตะฝั. 2019 ะณ., 16:17:28]:
ะัะต ะฒัะพะดะต ะฟะพะปััะฐะตััั, ะฝะพ ัะตะผะฟ ัะฐะบะพะน ััะพ ัั ะฟัะพััะพ ััะฟะตะฒะฐะตัั ััะพ ัะดะตะปะฐัั ะฝะต ะพัะผััะปะธะฒ. ะพัะตะฝั ะฟะพั
ะพะถะต ะฝะฐ ัะพ ะบะฐะบ ะฝะฐั
ะพะดั ัะฐะฝะดะพะผะฝัั ะธะฝััััะบัะธั ะฝะฐ ะพะดะฝะพะผ ะธะท ัะฐะนัะพะฒ ัั ะฟัะพััะพ ะบะพะฟะธััะตัั ะฟะพ ัะฐะณะฐะผ ะธ ะฒััะฐะฒะปัะตัั, ัะพะปัะบะพ ั ัะตะฑั ะฝะตั ะฒะพะทะผะพะถะฝะพััะธ ะพััะฐะฝะพะฒะธัััั ะฐ ะฝัะถะฝะพ ะฑะตะถะฐัั ะพั ัะฐะณะฐ ะบ ัะฐะณั. ะฝั ะธะปะธ ัั ััะพ ัะถะต ะทะฝะฐะตัั ะธ ัะตะฑะต ะฝะพัะผ
Alexander B, [4 ัะตะฝั. 2019 ะณ., 16:18:06]:
ะดะฐ, ััะฟะตะฒะฐะตัั ััะพ-ัะพ ะพะดะฝะพ - ะปะธะฑะพ ัะปััะฐัั, ะปะธะฑะพ ะฒัะฟะพะปะฝััั
Fedor, [4 ัะตะฝั. 2019 ะณ., 16:18:21]:
+1
ะัะต ะธะท ะผะธะฝััะพะฒ, ะฟะพะบะฐ ัั ะทะฐะฝะธะผะฐะตัััั ะบะพะฟะธ ะฟะฐััะพะผ ะธะฝััััะบัะธะน ะฟัะพะฟััะบะฐะตัั 80% ัะปะพะฒ ะััะตะผะฐ
ะะธัะธะปะป, [4 ัะตะฝั. 2019 ะณ., 16:19:01]:
ะฝัะถะฝะพ ะดะฒะฐ runners ะทะฐะฟััะบะฐัั
ะพะดะธะฝ ัะฐะฝะฝะตั ัะปััะฐะตั
ะฐ ะฒัะพัะพะน ะบะพะฟะธะฟะฐััะธั )
Slurm์ ์๋๋ฅผ ๋ฆ์ถ๋ฉด ์ ๋ณด๊ฐ ๋ ์ ๊ฒ ๋ค์ด๊ฐ๋๋ค. ๋ญ๊ฐ๋ฅผ ํฌ์ํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ํธ์ํ ์๋๋ฅผ ํฌ์ํ์ต๋๋ค. ํนํ ๋ชจ๋ ๊ฒ์ ๋จธ๋ฆฟ์์ ๋ด์ ์์ถํ๊ธฐ ์ํด ์ง์ค์ ์ผ๋ก ๋ น์์ด ์ด๋ฃจ์ด์ง๋๋ค.
Pavel Selivanov๋ ์ฒญ์ค์๊ฒ ์ฌ๋ฌ IaC ํ์ ์ฃผ์ ๋ฅผ ๋ค์ ๋ ๋ก ๊ณ์ํ๊ฑฐ๋ ์ด๋ํ ์ค๋น๊ฐ ๋์ด ์๋์ง ์ฌ๋ฌ ๋ฒ ๋ฌผ์์ต๋๋ค. ์ค๋ซ๋์ ์ฐ์ ๊ณผ ์ค๋ฆฝ์ด ํ๋ฅผ ์ป์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ XNUMX์ ๋ฐ์๋ง ๋ฐค์ ์์ผํ๋ค๋ ๊ฒ์ ์์ง๋ ๊ธฐ์ตํ๋ ์ฌ๋๋ค์ด ์น๋ฆฌํ์ต๋๋ค.
์ฐ๋ฆฌ๋ Slurm์ ์ฒซ๋ ๋์ DevOps ์์ง๋์ด์ ์ํด ๊ณต๋ฃก ํ ๋ง๋ฆฌ๋ ํผํด๋ฅผ ์ ์ง ์์์์ ์ฑ ์๊ฐ ์๊ฒ ์ ์ธํฉ๋๋ค. ์์ผ๋ก ์ดํ ๋ ์ง์ค์ ์ธ ์ผ์ด ๋จ์์ต๋๋ค. ๊ฐ์ฅ ํฅ๋ฏธ๋กญ๊ณ ๋ณต์กํ๋ฉฐ ๋ง์๋ ๊ฒ์ IaC์ SRE์ ๋๋ค.
์ถ์ฒ : habr.com