Kunyoreswa kweSlurm DevOps muMoscow kwakavhurwa

TL; DR

Slurm DevOps ichaitwa muMoscow muna Ndira 30 - Kukadzi 1.

Zvakare isu tichaongorora maturusi eDevOps mukuita.
Details uye purogiramu pasi pekucheka.
SRE yakabviswa purogiramu nokuti pamwe chete naIvan Kruglov tiri kugadzirira yakasiyana Slurm SRE. Chiziviso chichauya gare gare.
Kutenda kuna Selectel, vatsigiri vedu kubva kune yekutanga Slurm!

Kunyoreswa kweSlurm DevOps muMoscow kwakavhurwa

Nezvehuzivi, kusava nechokwadi uye kubudirira kusingatarisirwi

Ndakapinda DevOpsConf muMoscow pakupera kwaSeptember.
Pfupiso yezvandakanzwa:
-DevOps inodiwa nemapurojekiti mazhinji echero saizi;
- DevOps itsika, seyese tsika, inofanirwa kubva mukati mekambani. Iwe haugone kuhaya DevOps injinjini uye kurota kuti achavandudza maitiro.
-Pakupedzisira rondedzero yezvinodiwa kushanduko yeDevOps kunouya tekinoroji, kureva, iwo chaiwo maturusi eDevOps atinodzidzisa.

Ndakaona kuti takanga takarurama kuti tisabatanidze huzivi hweDevOps uye tsika muchikoro, nokuti izvi hazvigone kudzidziswa zvakarongeka. Ani nani anoida achaiverenga mumabhuku. Kana kuti achawana murairidzi anotonhorera anogonesa munhu wese necharisma yake uye chiremera.

Ini pachangu, ini ndagara ndiri mutsigiri we "kufamba kubva pasi", iyo guerrilla kushandiswa kwetsika kuburikidza nemidziyo. Chimwe chinhu chakafanana neicho chakatsanangurwa muThe Phoenix Project. Kana isu tiine mushandirapamwe neGit yakamisikidzwa nemazvo, tinogona zvishoma nezvishoma kuiwedzera nemirau, uye zvino inosvika kune zvakakosha.

Uye zvakafanana, patakanga tichigadzirira DevOps Slurm, patakanga tichingotaura nezve maturusi chete, ndaitya maitiro evatori vechikamu: "Wakataura zvinhu zvinoshamisa. Zvinosiririsa, handife ndakakwanisa kuzviita. ” Pakanga pane kusava nechokwadi kwakawanda zvokuti takabva tangorega kudzokorora purogiramu yacho.

Nekudaro, ruzhinji rwevatori vechikamu vakapindura muongororo kuti ruzivo rwakawanikwa rwaishandiswa mukuita, uye kuti vaizoshandisa chimwe chinhu munyika yavo munguva pfupi iri kutevera. Panguva imwecheteyo, zvese zvatakatsanangura zvakaverengerwa murondedzero yezvinhu zvinobatsira: Git, Ansible, CI/CD, uye SRE.

Zvingave zvakakodzera kuyeuka kuti pakutanga vakataurawo nezveSlurm Kubernetes kuti hazvibviri kutsanangura k3s mumazuva matatu.

NaIvan Kruglov, uyo akatungamirira musoro weSRE, takabvumirana pane imwe purogiramu yakasiyana. Parizvino tirikukurukura nezvenyaya, ndichaita chiziviso munguva pfupi.

Chii chichaitika kuSlurm DevOps?

Purogiramu

Nyaya #1: Kushandirapamwe neGit

  • Yekutanga mirairo git init, zvipira, wedzera, diff, log, chimiro, dhonza, kusunda
  • Git kuyerera, matavi uye ma tag, batanidza mazano
  • Kushanda nevakawanda kure reps
  • GitHub inoyerera
  • Fork, kure, dhonza chikumbiro
  • Kupokana, kuburitswa, zvakare nezve Gitflow uye kumwe kuyerera zvine chekuita nezvikwata

Nyaya #2: Kushanda nechishandiso kubva padanho rekusimudzira

  • Kunyora microservice muPython
  • Environment Variables
  • Kubatanidzwa uye bvunzo dzeyuniti
  • Kushandisa docker-compose mukusimudzira

Nyaya #3: CI/CD: sumo kune otomatiki

  • Nhanganyaya kune Automation
  • Zvishandiso (bash, make, gradle)
  • Kushandisa git-hook kuita otomatiki maitiro
  • Mitsetse yekusangana kwefekitari uye mashandisiro avo muIT
  • Muenzaniso wekuvaka "general" pipeline
  • Mazuva ano software yeCI/CD: Drone CI, BitBucket Pipelines, Travis, nezvimwe.

Nyaya #4: CI/CD: Kushanda neGitlab

  • Gitlab CI
  • Gitlab Runner, marudzi avo uye mashandisirwo
  • Gitlab CI, maitiro ekugadzirisa, maitiro akanaka
  • Gitlab CI Matanho
  • Gitlab CI Variables
  • Vaka, edza, shandisa
  • Kuita kutonga uye zvirambidzo: chete, riini
  • Kushanda neartifacts
  • Templates inside .gitlab-ci.yml, reusing actions in different parts of the pipeline
  • Batanidza - zvikamu
  • Centralized manejimendi yegitlab-ci.yml (rimwe faira uye otomatiki kusundira kune mamwe matura)

Nyaya #5: Zvivakwa seKodhesi

  • IaC: Kusvika Infrastructure seCode
  • Cloud vanopa sevapeji vezvivakwa
  • Maturusi ekutanga sisitimu, chivakwa chemufananidzo (packer)
  • IaC kushandisa Terraform semuenzaniso
  • Kugadzirisa kuchengetedza, kubatirana, application otomatiki
  • Dzidzira kugadzira Ansible playbooks
  • Idempotency, declarativeness
  • IaC kushandisa Ansible semuenzaniso

Nyaya #6: Kuyedzwa kwezvivakwa

  • Kuedza uye kuenderera mberi kubatanidzwa neMolecule uye Gitlab CI
  • Kushandisa Vagrant

Nyaya #7: Infrastructure Monitoring nePrometheus

  • Nei kuongorora kuchidiwa?
  • Mhando dzekutarisa
  • Zviziviso muhurongwa hwekutarisa
  • Maitiro Ekuvaka Hutano Hwekutarisa System
  • Zviziviso zvinoverengwa nevanhu, zvemunhu wese
  • Hutano Kuongorora: chii chaunofanira kutarisisa
  • Automation yakavakirwa pakuongorora data

Nyaya #8: Kudhinda application neELK

  • Maitiro Akanakisisa Ekutema Matanda
  • ELK stack

Nyaya #9: Infrastructure Automation neChatOps

  • DevOps uye ChatOps
  • ChatOps: Simba
  • Slack uye dzimwe nzira
  • Mabhoti eChatOps
  • Hubot uye dzimwe nzira
  • Chengetedzo
  • Zvakanakisa uye zvakaipa maitiro

Nzvimbo: Moscow, kamuri yemusangano yehotera yeSevastopol.

Misi: kubva munaJanuary 30 kusvika February 1, mazuva matatu ekushanda nesimba.

kunyoresa

Source: www.habr.com

Voeg