ื”ื”ืจืฉืžื” ืœ-Slurm DevOps ื‘ืžื•ืกืงื‘ื” ืคืชื•ื—ื”

TL; DR

Slurm DevOps ื™ืชืงื™ื™ื ื‘ืžื•ืกืงื‘ื” ื‘-30 ื‘ื™ื ื•ืืจ - 1 ื‘ืคื‘ืจื•ืืจ.

ืฉื•ื‘ ื ื ืชื— ืืช ื›ืœื™ DevOps ื‘ืคื•ืขืœ.
ืคืจื˜ื™ื ื•ืชื•ื›ื ื™ืช ืžืชื—ืช ืœื’ื–ืจื”.
SRE ื”ื•ืกืจ ืžื”ืชื•ื›ื ื™ืช ื›ื™ ื™ื—ื“ ืขื ืื™ื‘ืŸ ืงืจื•ื’ืœื•ื‘ ืื ื—ื ื• ืžื›ื™ื ื™ื Slurm SRE ื ืคืจื“. ื”ื”ื•ื“ืขื” ืชื’ื™ืข ื‘ื”ืžืฉืš.
ืชื•ื“ื” ืœ-Selectel, ื ื•ืชื ื™ ื”ื—ืกื•ืช ืฉืœื ื• ืžืื– ื”-Slurm ื”ืจืืฉื•ืŸ!

ื”ื”ืจืฉืžื” ืœ-Slurm DevOps ื‘ืžื•ืกืงื‘ื” ืคืชื•ื—ื”

ืขืœ ืคื™ืœื•ืกื•ืคื™ื”, ืกืคืงื ื•ืช ื•ื”ืฆืœื—ื” ื‘ืœืชื™ ืฆืคื•ื™ื”

ื”ืฉืชืชืคืชื™ ื‘-DevOpsConf ื‘ืžื•ืกืงื‘ื” ื‘ืกื•ืฃ ืกืคื˜ืžื‘ืจ.
ืชืงืฆื™ืจ ืฉืœ ืžื” ืฉืฉืžืขืชื™:
- DevOps ื ื“ืจืฉ ื‘ืจื•ื‘ ื”ืคืจื•ื™ืงื˜ื™ื ื‘ื›ืœ ื’ื•ื“ืœ;
- DevOps ื”ื™ื ืชืจื‘ื•ืช, ื›ืžื• ื›ืœ ืชืจื‘ื•ืช, ื”ื™ื ื—ื™ื™ื‘ืช ืœื‘ื•ื ืžืชื•ืš ื”ื—ื‘ืจื”. ืืชื” ืœื ื™ื›ื•ืœ ืœืฉื›ื•ืจ ืžื”ื ื“ืก DevOps ื•ืœื—ืœื•ื ืฉื”ื•ื ื™ืฉืคืจ ืชื”ืœื™ื›ื™ื.
- ื‘ืกื•ืฃ ื”ืจืฉื™ืžื” ืฉืœ ืžื” ืฉื“ืจื•ืฉ ืœื˜ืจื ืกืคื•ืจืžืฆื™ื” ืฉืœ DevOps ืžื’ื™ืขื” ื”ื˜ื›ื ื•ืœื•ื’ื™ื”, ื›ืœื•ืžืจ, ื›ืœื™ ื”-DevOps ืฉืื ื—ื ื• ืžืœืžื“ื™ื.

ื”ื‘ื ืชื™ ืฉืฆื“ืงื ื• ืฉืœื ืœื›ืœื•ืœ ืืช ื”ืคื™ืœื•ืกื•ืคื™ื” ื•ื”ืชืจื‘ื•ืช ืฉืœ DevOps ื‘ืงื•ืจืก, ื›ื™ ืื™ ืืคืฉืจ ืœืœืžื“ ืืช ื–ื” ื‘ืฆื•ืจื” ืฉื™ื˜ืชื™ืช. ืžื™ ืฉืฆืจื™ืš ืืช ื–ื” ื™ืงืจื ืืช ื–ื” ื‘ืกืคืจื™ื. ืื• ืฉื”ื•ื ื™ืžืฆื ืžืืžืŸ ืกื•ืคืจ ืžื’ื ื™ื‘ ืฉื™ืฉื›ื ืข ืืช ื›ื•ืœื ื‘ื›ืจื™ื–ืžื” ื•ื‘ืกืžื›ื•ืชื™ื•ืช ืฉืœื•.

ื‘ืื•ืคืŸ ืื™ืฉื™, ืชืžื™ื“ ื”ื™ื™ืชื™ ืชื•ืžืš ื‘"ืชื ื•ืขื” ืžืœืžื˜ื”", ื™ื™ืฉื•ื ื”ื’ืจื™ืœื” ืฉืœ ืชืจื‘ื•ืช ื‘ืืžืฆืขื•ืช ื›ืœื™ื. ืžืฉื”ื• ื›ืžื• ื”ืžืชื•ืืจ ื‘ืคืจื•ื™ืงื˜ ื”ืคื ื™ืงืก. ืื ื”ื’ื“ืจื ื• ื ื›ื•ืŸ ืขื‘ื•ื“ืช ืฆื•ื•ืช ืขื Git, ื ื•ื›ืœ ืœืื˜ ืœืื˜ ืœื”ืฉืœื™ื ืื•ืชื” ื‘ืชืงื ื•ืช, ื•ืื– ื–ื” ื™ื’ื™ืข ืœืขืจื›ื™ื.

ื•ื‘ื›ืœ ื–ืืช, ื›ืฉื”ื›ื ื• ืืช DevOps Slurm, ืฉื ื“ื™ื‘ืจื ื• ืืš ื•ืจืง ืขืœ ื›ืœื™ื, ืคื—ื“ืชื™ ืžืชื’ื•ื‘ืช ื”ืžืฉืชืชืคื™ื: "ืืžืจืช ื“ื‘ืจื™ื ื ืคืœืื™ื. ื—ื‘ืœ, ืœืขื•ืœื ืœื ืื•ื›ืœ ืœื™ื™ืฉื ืื•ืชื". ื”ื™ื™ืชื” ื›ืœ ื›ืš ื”ืจื‘ื” ืกืคืงื ื•ืช ืฉืžื™ื“ ืฉืžื ื• ืกื•ืฃ ืœื—ื–ืจื” ืขืœ ื”ืชื•ื›ื ื™ืช.

ืขื ื–ืืช, ืจื•ื‘ ื”ืžืฉืชืชืคื™ื ืขื ื• ื‘ืกืงืจ ื›ื™ ื”ื™ื“ืข ืฉื ืฆื‘ืจ ื”ื™ื” ื™ืฉื™ื ื‘ืคื•ืขืœ, ื•ื›ื™ ื”ื ื™ื™ืฉืžื• ืžืฉื”ื• ื‘ืžื“ื™ื ื” ืฉืœื”ื ื‘ืขืชื™ื“ ื”ืงืจื•ื‘. ื™ื—ื“ ืขื ื–ืืช, ื›ืœ ืžื” ืฉื”ืกื‘ืจื ื• ื ื›ืœืœ ื‘ืจืฉื™ืžืช ื”ื“ื‘ืจื™ื ื”ืฉื™ืžื•ืฉื™ื™ื: Git, Ansible, CI/CD ื•-SRE.

ื›ื“ืื™ ืœื–ื›ื•ืจ ืฉื‘ื”ืชื—ืœื” ืืžืจื• ื’ื ืขืœ Slurm Kubernetes ืฉืื™ ืืคืฉืจ ืœื”ืกื‘ื™ืจ k3s ื‘-8 ื™ืžื™ื.

ืขื ืื™ื‘ืŸ ืงืจื•ื’ืœื•ื‘, ืฉื”ื•ื‘ื™ืœ ืืช ื ื•ืฉื ื”-SRE, ืกื™ื›ืžื ื• ืขืœ ืชื•ื›ื ื™ืช ื ืคืจื“ืช. ื›ืจื’ืข ืื ื—ื ื• ื“ื ื™ื ื‘ืคืจื˜ื™ื, ืืคืจืกื ื‘ืงืจื•ื‘.

ืžื” ื™ืงืจื” ื‘-Slurm DevOps?

ืชื›ื ื™ืช

ื ื•ืฉื ืžืก' 1: ืขื‘ื•ื“ืช ืฆื•ื•ืช ืขื Git

  • ืคืงื•ื“ื•ืช ื‘ืกื™ืกื™ื•ืช git init, commit, add, diff, log, status, pull, push
  • ื–ืจื™ืžืช Git, ืขื ืคื™ื ื•ืชื’ื™ื, ืืกื˜ืจื˜ื’ื™ื•ืช ืžื™ื–ื•ื’
  • ืขื‘ื•ื“ื” ืขื ืžืกืคืจ ื—ื–ืจื•ืช ืžืจื—ื•ืง
  • ื–ืจื™ืžืช GitHub
  • ืžื–ืœื’, ืฉืœื˜, ื‘ืงืฉื” ืœืžืฉื•ืš
  • ืงื•ื ืคืœื™ืงื˜ื™ื, ืฉื—ืจื•ืจื™ื, ืฉื•ื‘ ืขืœ Gitflow ื•ื–ืจื™ืžื•ืช ืื—ืจื•ืช ื‘ื™ื—ืก ืœืฆื•ื•ืชื™ื

ื ื•ืฉื ืžืก' 2: ืขื‘ื•ื“ื” ืขื ื”ืืคืœื™ืงืฆื™ื” ืžื ืงื•ื“ืช ืžื‘ื˜ ืฉืœ ืคื™ืชื•ื—

  • ื›ืชื™ื‘ืช ืžื™ืงืจื•-ืฉื™ืจื•ืช ื‘ืคื™ื™ืชื•ืŸ
  • ืžืฉืชื ื™ ืกื‘ื™ื‘ื”
  • ืื™ื ื˜ื’ืจืฆื™ื” ื•ื‘ื“ื™ืงื•ืช ื™ื—ื™ื“ื”
  • ืฉื™ืžื•ืฉ ื‘-docer-compose ื‘ืคื™ืชื•ื—

ื ื•ืฉื ืžืก' 3: CI/CD: ืžื‘ื•ื ืœืื•ื˜ื•ืžืฆื™ื”

  • ืžื‘ื•ื ืœืื•ื˜ื•ืžืฆื™ื”
  • ื›ืœื™ื (ืœื‘ืฉ, ื”ืคื•ืš, ืžื“ื•ืจื’)
  • ืฉื™ืžื•ืฉ ื‘-git-hooks ืœืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืชื”ืœื™ื›ื™ื
  • ืคืกื™ ื™ื™ืฆื•ืจ ื‘ืžืคืขืœ ื•ื™ื™ืฉื•ืžื ื‘-IT
  • ื“ื•ื’ืžื” ืœื‘ื ื™ื™ืช ืฆื™ื ื•ืจ "ื›ืœืœื™".
  • ืชื•ื›ื ื” ืžื•ื“ืจื ื™ืช ืœ-CI/CD: Drone CI, BitBucket Pipelines, Travis ื•ื›ื•'.

ื ื•ืฉื #4: CI/CD: ืขื‘ื•ื“ื” ืขื Gitlab

  • Gitlab CI
  • Gitlab Runner, ื”ืกื•ื’ื™ื ื•ื”ื™ื™ืฉื•ืžื™ื ืฉืœื”ื
  • Gitlab CI, ืชื›ื•ื ื•ืช ืชืฆื•ืจื”, ืฉื™ื˜ื•ืช ืขื‘ื•ื“ื” ืžื•ืžืœืฆื•ืช
  • Gitlab CI Stages
  • ืžืฉืชื ื™ Gitlab CI
  • ืœื‘ื ื•ืช, ืœื‘ื“ื•ืง, ืœืคืจื•ืก
  • ื‘ืงืจืช ื‘ื™ืฆื•ืข ื•ื”ื’ื‘ืœื•ืช: ืจืง, ืžืชื™
  • ืขื‘ื•ื“ื” ืขื ื—ืคืฆื™ื
  • ืชื‘ื ื™ื•ืช ื‘ืชื•ืš .gitlab-ci.yml, ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘ืคืขื•ืœื•ืช ื‘ื—ืœืงื™ื ืฉื•ื ื™ื ืฉืœ ื”ืฆื™ื ื•ืจ
  • ื›ืœื•ืœ - ืงื˜ืขื™ื
  • ื ื™ื”ื•ืœ ืžืจื›ื–ื™ ืฉืœ gitlab-ci.yml (ืงื•ื‘ืฅ ืื—ื“ ื•ื“ื—ื™ืคื” ืื•ื˜ื•ืžื˜ื™ืช ืœืžืื’ืจื™ื ืื—ืจื™ื)

ื ื•ืฉื ืžืก' 5: ืชืฉืชื™ืช ื›ืงื•ื“

  • IaC: ื”ืชืงืจื‘ื•ืช ืœืชืฉืชื™ืช ื›ืงื•ื“
  • ืกืคืงื™ ืขื ืŸ ื›ืกืคืงื™ ืชืฉืชื™ืช
  • ื›ืœื™ ืืชื—ื•ืœ ื”ืžืขืจื›ืช, ื‘ื ื™ื™ืช ืชืžื•ื ื” (ืคืืงืจ)
  • IaC ืžืฉืชืžืฉ ื‘- Terraform ื›ื“ื•ื’ืžื”
  • ืื—ืกื•ืŸ ืชืฆื•ืจื”, ืฉื™ืชื•ืฃ ืคืขื•ืœื”, ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื™ื™ืฉื•ืžื™ื
  • ืชืจื’ื•ืœ ืฉืœ ื™ืฆื™ืจืช ืกืคืจื™ ืžืฉื—ืง ืฉืœ Ansible
  • ื—ื•ืกืจ ื™ื›ื•ืœืช, ื”ืฆื”ืจืชื™ื•ืช
  • IaC ืžืฉืชืžืฉ ื‘-Ansible ื›ื“ื•ื’ืžื”

ื ื•ืฉื ืžืก' 6: ื‘ื“ื™ืงืช ืชืฉืชื™ืช

  • ื‘ื“ื™ืงื” ื•ืื™ื ื˜ื’ืจืฆื™ื” ืžืชืžืฉื›ืช ืขื ืžื•ืœืงื•ืœื” ื•-Gitlab CI
  • ื‘ืืžืฆืขื•ืช Vagrant

ื ื•ืฉื #7: ื ื™ื˜ื•ืจ ืชืฉืชื™ื•ืช ืขื ืคืจื•ืžืชืื•ืก

  • ืžื“ื•ืข ื™ืฉ ืฆื•ืจืš ื‘ืžืขืงื‘
  • ืกื•ื’ื™ ื ื™ื˜ื•ืจ
  • ื”ื•ื“ืขื•ืช ื‘ืžืขืจื›ืช ื”ื ื™ื˜ื•ืจ
  • ื›ื™ืฆื“ ืœื‘ื ื•ืช ืžืขืจื›ืช ื ื™ื˜ื•ืจ ื‘ืจื™ืื”
  • ื”ืชืจืื•ืช ืงืจื™ืื•ืช ืœืื“ื, ืœื›ื•ืœื
  • ื‘ื“ื™ืงืช ื‘ืจื™ืื•ืช: ืœืžื” ื›ื“ืื™ ืœืฉื™ื ืœื‘
  • ืื•ื˜ื•ืžืฆื™ื” ื”ืžื‘ื•ืกืกืช ืขืœ ื ืชื•ื ื™ ื ื™ื˜ื•ืจ

ื ื•ืฉื #8: ืจื™ืฉื•ื ืืคืœื™ืงืฆื™ื” ืขื ELK

  • ืฉื™ื˜ื•ืช ืจื™ืฉื•ื ืžื•ืžืœืฆื•ืช
  • ืžื—ืกื ื™ืช ELK

ื ื•ืฉื ืžืก' 9: ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืชืฉืชื™ื•ืช ืขื ChatOps

  • DevOps ื•-ChatOps
  • ChatOps: ื—ื•ื–ืงื•ืช
  • ืจืคื™ื•ืŸ ื•ื—ืœื•ืคื•ืช
  • ื‘ื•ื˜ื™ื ืขื‘ื•ืจ ChatOps
  • Hubot ื•ื—ืœื•ืคื•ืช
  • ืื‘ื˜ื—ื”
  • ื”ืฉื™ื˜ื•ืช ื”ื˜ื•ื‘ื•ืช ื•ื”ื’ืจื•ืขื•ืช ื‘ื™ื•ืชืจ

ืžื™ืงื•ื: ืžื•ืกืงื‘ื”, ื—ื“ืจ ื™ืฉื™ื‘ื•ืช ืฉืœ ืžืœื•ืŸ ืกื‘ืกื˜ื•ืคื•ืœ.

ืชืืจื™ื›ื™ื: ืžื”-30 ื‘ื™ื ื•ืืจ ืขื“ ื”-1 ื‘ืคื‘ืจื•ืืจ, 3 ื™ืžื™ื ืฉืœ ืขื‘ื•ื“ื” ืงืฉื”.

ื”ืจืฉืžื”

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”