Slurm DevOps - titi yogwira ntchito bwino m'masiku atatu kuposa crane yokongola mtsogolo

Ndimakonda ntchito ya sabata yonse ndipo ndimachita mantha ndi mapulojekiti a chaka chonse. Mu Agile, ndinkakonda kwambiri lingaliro la MVP ndi kuwonjezereka, ichi ndi chinthu changa chokha: pangani chidutswa chogwira ntchito, chigwiritseni ntchito ndikupitirizabe.

Panthawi imodzimodziyo, kusintha kwa DevOps mu mawonekedwe omwe amakambidwa m'mabuku ndi pamisonkhano ndi ntchito ya chaka chonse. Kapena m'zaka.

Tinapanga maphunziro athu a DevOps mu paradigm ya "MVP DevOps in one sprint" ndi "kukonzeka kuwonjezera." Ndipo ngati m’mawu aumunthu, ndiye kuti “kuti wotengamo mbali, pobwerera, agwiritse ntchito nthaŵi yomweyo kanthu kena kunyumba ndi kupindula nako.”

MVP DevOps: Maphunzirowa ali ndi zida zoyambira za DevOps. Sitinadzipangire tokha ntchito yowunikira ndi kufananiza machitidwe onse a CI / CD kapena kuwulula kuya kwa Infrastructure monga njira ya Code. Timapereka mulu umodzi womveka bwino: Gitlab CI/CD, Ansible, Terraform ndi Packer, Molekuli, Prometheus, EFK. Mutha kubwera kuchokera kumaphunziro, kusonkhanitsa zida zoyeserera kuchokera ku zida zophunzitsira ndikugwira ntchito momwemo.

Slurm DevOps - titi yogwira ntchito bwino m'masiku atatu kuposa crane yokongola mtsogolo

Kukonzekera zowonjezera: timapereka chinthu chilichonse ndi machitidwe ambiri ndi zitsanzo. Mutha kutenga chida chimodzi ndikuyamba kuchigwiritsa ntchito pogwiritsa ntchito zojambula zophunzitsira. Mwachitsanzo, lembani Ansible playbook kuti mutulutse ma dev kapena kulumikiza bot ndikuwongolera seva kuchokera pafoni yanu. Ndiko kuti, pezani zotsatira za konkire mu sabata. Zitha kukhala kutali kwambiri ndi kusintha kwa DevOps kwa kampani yonse, koma ilipo, ili pano, imagwira ntchito ndikubweretsa phindu.

Mitu ya Slurm DevOps

Mutu #1: Njira zabwino za Git - amadzilankhula yekha.
Mutu #2: Kugwira ntchito ndikugwiritsa ntchito potengera chitukuko - injiniya amafunikira luso la woyang'anira ndi wopanga mapulogalamu, kotero timauza ma admins za chitukuko.

Mutu #3: CI/CD Basics

  • Chiyambi cha CI/CD Automation
  • Gitlab CI Basics
  • Njira zabwino kwambiri ndi gitlab-runner
  • Bash, make, gradle zida monga gawo la CI / CD ndi zina zambiri
  • Docker ngati njira yothetsera mavuto a CI

Mutu #4: Gitlab CI/CD pakupanga

  • Mpikisano mukayamba ntchito
  • Kuwongolera ndi zoletsa: kokha, liti
  • Kugwira ntchito ndi zida
  • Ma templates, kuphatikiza ndi ma microservices: kufewetsa kutumiza

Timadziwitsa ophunzira zamalingaliro ndi malingaliro oyambira a CI/CD ndi zida zogwiritsira ntchito CI/CD. Zotsatira zake, wophunzirayo azitha kusankha paokha mawonekedwe a CI / CD ndi chida choyenera chothandizira.

Kenako tikuwonetsa kukhazikitsidwa kwa CI / CD ku Gitlab ndikudutsa pakukhazikitsa, kuyang'ana njira zapamwamba zogwiritsira ntchito Gitlab CI. Zotsatira zake, wophunzirayo azitha kukonza Gitlab CI pazantchito zawo.

Poyerekeza ndi DevOps Slurm yoyamba, tidachepetsa chiphunzitsocho ndi nthawi za 2 (ola limodzi pamutu), tinachoka pakuwunikanso machitidwe onse ndikusiya Gitlab CI yokha. Tinayang'ana pakuchita ndikuwonjezera machitidwe abwino kwambiri.

Mutu #5: Zomangamanga ngati Khodi

  • IaC: Kuyandikira Infrastructure monga Code
  • Opereka mitambo ngati opereka chithandizo
  • Zida zoyambitsa makina, kupanga zithunzi (packer)
  • IaC pogwiritsa ntchito Terraform monga chitsanzo
  • Kusungirako masinthidwe, mgwirizano, kugwiritsa ntchito zokha
  • Yesetsani kupanga mabuku amasewera Ansible
  • Idempotency, declarativeness
  • IaC pogwiritsa ntchito Ansible monga chitsanzo

Tachepetsa gawo lazambiri pa UI ndi openstack cli ndikuyang'ana kwambiri kuchita.
Tiyeni tiwone njira ziwiri za IaC pogwiritsa ntchito njira yomweyo, kuwonetsa zabwino ndi zoyipa za njira iliyonse. Zotsatira zake, wophunzirayo amvetsetsa njira yoti agwiritse ntchito komwe, ndipo azitha kugwira ntchito ndi Terraform ndi Ansible.

Pamutu wa Terraform, tiwona ntchito yamagulu ndikusunga boma mu nkhokwe mukuchita. Pamene akugwira ntchito ndi ma modules, wophunzira adzalemba ndikusintha moduliyo yekha, aphunzire momwe angagwiritsire ntchito: igwiritsenso ntchito, isinthe. Tiyeni tiwonjezere ntchito ndi Consul, sonyezani zomwe zikufunika komanso momwe mungagwiritsire ntchito moyenera.

Mutu #6: Mayeso a zomangamanga

  • Tiye tione chifukwa chake salemba mayeso?
  • Ndi mayeso otani omwe ali mu IaC?
  • Ma static analyzer, kodi ndi opanda ntchito?
  • Kuyesa kwa unit ya IaC pogwiritsa ntchito ma molekyulu + mwachitsanzo
  • Kuyesedwa ngati gawo la ci
  • Kuyesedwa pa ma steroids kapena osadikirira maola 5 kuti mayeso a IaC amalize

Tachepetsa gawo lazongopeka, nkhani zochepa za Vagrant / Molecule, zoyeserera zambiri komanso kuyesa kwachindunji, ndikuyang'ana ma linters ndikugwira nawo ntchito. Kuyang'ana pamalingaliro a CI
kupanga kuyezetsa mofulumira. Muzochita padzakhala:

  • linter yodzilemba yokha yomwe imayang'ana kukhalapo kwa zosinthika zovomerezeka kwa wolandirayo malinga ndi udindo;
  • Timawonjezera ku CI kuyesa maudindo okhawo omwe asintha, omwe angachepetse kwambiri nthawi yoyeserera;
  • kuwonjezera kuyesa kwa zochitika. Timatumiza pulogalamu yonse ngati kuyesa kophatikiza.

Mutu #7: Kuyang'anira Zomangamanga ndi Prometheus

  • Momwe Mungamangirire Njira Yathanzi Yowunikira
  • Kuwunika ngati chida chowunikira, kuchita bwino kwachitukuko komanso kukhazikika kwa code, ngakhale musanagulitse
  • Kukhazikitsa prometheus + alertmanager + grafana
  • Kuchokera pakuwunika kwazinthu kupita kukuyang'anira ntchito

Tidzalankhula zambiri zowunikira ma microservices: ma ID ofunsira, chida chowunikira api. Padzakhala machitidwe abwino kwambiri ndi ntchito zambiri zodziimira.

Tiyeni tilembe katundu wathu wa kunja. Tidzakhazikitsa kuyang'anira osati zopangira zopangira ndi kugwiritsa ntchito, komanso misonkhano yayikulu ku Gitlab. Tiyeni tiwone ziwerengero za mayeso omwe adalephera. Tiyeni tiwone momwe kuwunikira kudzawoneka popanda healthCheck komanso nayo.

Mutu Nambala 8. Kulowetsa pulogalamu ndi ELK

  • Chidule cha Elastic ndi zida zake
  • ELK/Elastic Stack/x-pack - ndichiyani ndipo pali kusiyana kotani?
  • Ndizovuta ziti zomwe zitha kuthetsedwa pogwiritsa ntchito ElasticSearch (saka, kusungira, makulitsidwe, kusinthasintha kwa kasinthidwe)
  • Kuyang'anira zomangamanga (x-pack)
  • Chidebe ndi zipika za ntchito (x-pack)
  • Kudula mitengo pogwiritsa ntchito pulogalamu yathu monga chitsanzo
  • Zochita zogwirira ntchito ndi Kibana
  • Tsegulani Distro ya Elasticsearch kuchokera ku Amazon

Mutuwu wasinthidwa kwathunthu, umakhala ndi Eduard Medvedev, ambiri adamuwona pa webinar pa DevOps ndi SRE. Adzanena ndikuwonetsa njira zabwino zogwirira ntchito ndi EFK pogwiritsa ntchito chitsanzo cha maphunziro. Padzakhala chizolowezi ndi Kibana.

Mutu #9: Infrastructure Automation yokhala ndi ChatOps

  • DevOps ndi ChatOps
  • ChatOps: Mphamvu
  • Kufooka ndi njira zina
  • Mabotolo a ChatOps
  • Hubot ndi njira zina
  • Chitetezo
  • Kuyesa
  • Zochita zabwino komanso zoyipa kwambiri

ChatOps adawonjezera mchitidwe wotsimikizira ndi kulekanitsa ufulu, kutsimikizira zochita ndi wogwiritsa ntchito wina, chiphunzitso ndi machitidwe a njira ina ya Slack mu mawonekedwe a Mattermost, chiphunzitso cha unit ndi kuphatikiza mayeso a bot.

DevOps slurm iyamba pa Januware 30. Mtengo - 30.
Kwa iwo omwe amaliza kuwerenga, pali kuchotsera 15% pamaphunziro a DevOps pogwiritsa ntchito code yotsatsira habrapost.

kulembetsa apa

Ndikhala wokondwa kukuwonani ku Slurms!

Source: www.habr.com

Kuwonjezera ndemanga