Slurm DevOps - алс холын ирээдүйд үзэсгэлэнтэй тогоруунаас 3 хоногийн дотор илүү сайн ажилладаг хит.

Би долоо хоног үргэлжилдэг төсөлд дуртай бөгөөд жилийн турш үргэлжилдэг төслүүдээс айдаг. Agile-д MVP болон өсөлтийн тухай ойлголт надад маш их таалагдсан, энэ бол зүгээр л миний хийх зүйл: ажиллах боломжтой хэсэг хийж, түүнийгээ хэрэгжүүлээд цааш яв.

Үүний зэрэгцээ, DevOps-ийн өөрчлөлтийг ном, хурал дээр хэлэлцсэн хэлбэрээр хийх нь зүгээр л нэг жилийн төсөл юм. Эсвэл хэдэн жилийн дотор.

Бид DevOps курсээ “Нэг спринт дэх MVP DevOps” болон “Өсөхөд бэлэн байх” парадигмаар бүтээсэн. Хэрэв хүний ​​​​хувьд бол "оролцогч буцаж ирээд гэртээ ямар нэг зүйлийг шууд хэрэгжүүлж, үр шимийг нь хүртэх болно."

MVP DevOps: Курс нь үндсэн DevOps процессуудад зориулсан хэрэгслүүдийг агуулдаг. Бид бүх CI/CD системийг судалж, харьцуулах, Дэд бүтцийн гүн гүнзгий байдлыг Код хандлагын хувьд илчлэх зорилт тавиагүй. Бид нэг тодорхой стекийг өгдөг: Gitlab CI/CD, Ansible, Terraform and Packer, Molecule, Prometheus, EFK. Та курсуудаас ирж, сургалтын хэрэглэгдэхүүнээс туршилтын төслийн дэд бүтцийг цуглуулж, түүндээ ажиллах боломжтой.

Slurm DevOps - алс холын ирээдүйд үзэсгэлэнтэй тогоруунаас 3 хоногийн дотор илүү сайн ажилладаг хит.

Нэмэгдүүлэхэд бэлэн байдал: бид элемент бүрийг олон дадлага, жишээгээр өгдөг. Та нэг хэрэгслийг аваад сургалтын зургийг ашиглан хэрэгжүүлж эхлэх боломжтой. Жишээ нь, хөгжүүлэлтийн орчинг гаргахын тулд Ansible тоглоомын ном бичээрэй, эсвэл роботыг холбож, серверээ утаснаасаа удирдаарай. Өөрөөр хэлбэл, долоо хоногт тодорхой практик үр дүнд хүрнэ. Энэ нь бүхэл бүтэн компанийн DevOps өөрчлөлтөөс хязгааргүй хол байж болох ч тэнд байгаа, энд байгаа, ажиллаж, ашиг тусаа өгдөг.

Slurm DevOps сэдвүүд

Сэдэв №1: Git шилдэг туршлагууд - өөрийнхөө төлөө ярьдаг.
Сэдэв No2: Програмтай хөгжүүлэлтийн үүднээс ажиллах — Инженер нь администратор, хөгжүүлэгчийн ур чадвар шаарддаг тул бид админуудад хөгжлийн талаар хэлдэг.

Сэдэв №3: CI/CD-ийн үндэс

  • CI/CD автоматжуулалтын танилцуулга
  • Gitlab CI-ийн үндэс
  • Gitlab-runner-ийн шилдэг туршлагууд
  • CI/CD-ийн нэг хэсэг болох Bash, make, gradle хэрэгслүүд болон бусад
  • Докер нь CI асуудлыг шийдвэрлэх арга зам юм

Сэдэв №4: Үйлдвэрлэлийн Gitlab CI/CD

  • Ажил эхлэх үед өрсөлдөөн
  • Гүйцэтгэлийн хяналт ба хязгаарлалт: зөвхөн, хэзээ
  • Олдворуудтай ажиллах
  • Загварууд, багтсан болон бичил үйлчилгээ: байршуулалтыг хялбарчлах

Бид оюутнуудад CI/CD-ийн үндсэн ойлголт, ойлголтыг танилцуулж, CI/CD-ийг хэрэгжүүлэх арга хэрэгслийг танилцуулдаг. Үүний үр дүнд оюутан CI/CD дизайны загвар, хэрэгжүүлэх тохиромжтой хэрэгслийг бие даан сонгох боломжтой болно.

Дараа нь бид Gitlab-д CI/CD-ийн хэрэгжилтийг үзүүлж, Gitlab CI-г ашиглах дэвшилтэт арга замуудыг харан тохиргоогоор нь алхаж байна. Үүний үр дүнд оюутан Gitlab CI-г өөрийн төслүүдэд бие даан тохируулах боломжтой болно.

Эхний DevOps Slurm-тай харьцуулахад бид онолыг 2 дахин багасгаж (сэдэв тус бүр нэг цаг), бүх системийг хянахаас татгалзаж, зөвхөн Gitlab CI-г үлдээсэн. Бид практик дээр анхаарч, олон шилдэг туршлагыг нэмсэн.

Сэдэв №5: Дэд бүтэц нь код

  • IaC: Дэд бүтцэд код болгон хандах нь
  • Дэд бүтцийн үйлчилгээ үзүүлэгчийн хувьд үүлэн үйлчилгээ үзүүлэгчид
  • Системийг эхлүүлэх хэрэгсэл, зураг бүтээх (баглаалагч)
  • Терраформыг жишээ болгон ашиглаж байгаа IaC
  • Тохиргооны хадгалалт, хамтын ажиллагаа, програмын автоматжуулалт
  • Ansible тоглоомын ном бүтээх дадлага
  • Чадваргүй байдал, тунхаглал
  • IaC нь Ansible-г жишээ болгон ашиглаж байна

Бид UI болон openstack cli дээр онолын хэсгийг багасгаж, практик дээр анхаарлаа хандуулсан.
Арга тус бүрийн давуу болон сул талуудыг харуулсан ижил програмыг ашиглан IaC хоёр аргыг авч үзье. Үүний үр дүнд оюутан хаана ямар аргыг ашиглахаа ойлгож, Terraform болон Ansible-тэй ажиллах боломжтой болно.

Terraform-ийн сэдвээр бид практик дээр багаар ажиллах, төлөвийг мэдээллийн санд хадгалах талаар авч үзэх болно. Модультай ажиллахдаа оюутан өөрөө модулийг бичиж, тохируулах, түүнтэй хэрхэн ажиллах талаар сурах: үүнийг дахин ашиглах, хувилбар гаргах. Консултай ажиллах ажлыг нэмж, ямар тохиолдолд шаардлагатай, хэрхэн зөв ашиглахыг харуулъя.

Сэдэв No6: Дэд бүтцийн туршилт

  • Тэд яагаад тест бичдэггүйг олж мэдье?
  • IaC-д ямар шалгалтууд байдаг вэ?
  • Статик анализаторууд, тэд үнэхээр ашиггүй гэж үү?
  • Жишээ болгон ansible + молекулыг ашиглан IaC-ийн нэгжийн туршилт
  • ci-ийн нэг хэсэг болгон турших
  • Стероидын шинжилгээ эсвэл IaC тест дуусах хүртэл 5 цаг хүлээхгүй байх

Бид онолын хэсгийг багасгаж, Вагрант/Молекулын тухай түүхийг бага, илүү дадлага хийх, шууд туршилт хийх, линтер болон тэдэнтэй ажиллахад анхаарлаа хандуулсан. Үүнийг CI талаас нь харж байна
тестийг хэрхэн хурдан хийх вэ. Практикт дараахь зүйл байх болно.

  • үүрэг хариуцлагаас хамааран хостын хувьд заавал байх ёстой хувьсагч байгаа эсэхийг шалгадаг өөрөө бичсэн линтер;
  • Бид CI тестэд зөвхөн өөрчлөгдсөн дүрүүдийг нэмдэг бөгөөд энэ нь туршилтын гүйцэтгэлийн хугацааг эрс багасгадаг;
  • хувилбарын туршилтыг нэмж байна. Бид програмыг бүхэлд нь нэгтгэх тест болгон ашигладаг.

Сэдэв №7: Прометей ашиглан дэд бүтцийн мониторинг хийх

  • Эрүүл хяналтын тогтолцоог хэрхэн бий болгох вэ
  • Хяналт нь борлуулалтын өмнө ч дүн шинжилгээ хийх, хөгжүүлэлтийн үр ашиг, кодын тогтвортой байдлыг хангах хэрэгсэл юм
  • Prometheus + alertmanager + графана тохируулж байна
  • Нөөцийн хяналтаас хэрэглээний хяналт руу шилжих

Микро үйлчилгээний талаар бид маш их ярих болно: хүсэлтийн ID, api хяналтын хэрэгсэл. Маш олон шилдэг туршлага, бие даасан ажил их байх болно.

Экспортлогчоо өөрсдөө бичье. Бид зөвхөн үйлдвэрлэлийн дэд бүтэц, хэрэглээнд хяналт тавихаас гадна Gitlab дахь угсралтын ажлыг зохион байгуулах болно. Амжилтгүй болсон тестүүдийн статистикийг харцгаая. HealthCheck болон үүнтэй хамт хяналт ямар байхыг практик дээр харцгаая.

Сэдэв No8. ELK ашиглан програмыг бүртгэж байна

  • Elastic ба түүний хэрэгслүүдийн тойм
  • ELK/Elastic Stack/x-pack - юу вэ, ялгаа нь юу вэ?
  • ElasticSearch ашиглан ямар асуудлыг шийдэж болох вэ (хайлт, хадгалалт, масштабын онцлог, тохиргооны уян хатан байдал)
  • Дэд бүтцийн хяналт (x-pack)
  • Контейнер ба хэрэглээний бүртгэл (x-pack)
  • Манай програмыг жишээ болгон ашиглан бүртгэл хөтлөх
  • Кибанатай ажиллах дадлага
  • Amazon-аас Elasticsearch-д зориулсан Distro-г нээнэ үү

Энэ сэдвийг бүхэлд нь шинэчилсэн бөгөөд үүнийг Эдуард Медведев хөтлөн явуулдаг бөгөөд олон хүн түүнийг DevOps болон SRE-ийн вэбинар дээр үзсэн. Тэрээр боловсролын хэрэглээний жишээн дээр EFK-тэй ажиллах шилдэг туршлагыг хэлж, харуулах болно. Кибанатай дасгал хийх болно.

Сэдэв №9: ChatOps ашиглан дэд бүтцийн автоматжуулалт

  • DevOps болон ChatOps
  • ChatOps: Давуу тал
  • Сул болон өөр хувилбарууд
  • ChatOps-д зориулсан роботууд
  • Hubot болон өөр хувилбарууд
  • Аюулгүй байдал
  • Тест хийх
  • Хамгийн сайн ба хамгийн муу туршлагууд

ChatOps нь эрхийг тусгаарлах, өөр хэрэглэгчийн үйлдлийг баталгаажуулах, Slack-ийн өөр хувилбарын онол, практикийг Mattermost хэлбэрээр, нэгжийн онол, ботын интеграцийн тестийг нэмж оруулсан.

DevOps slurm 30-р сарын 30-нд эхэлнэ. Үнэ - 000.
Уншиж дуусгасан хүмүүст habrapost сурталчилгааны кодыг ашиглан DevOps курст 15%-ийн хөнгөлөлт үзүүлж байна.

Бүртгүүлэх энд

Чамайг Slurms дээр харсандаа баяртай байх болно!

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх