Slurm DevOps - алыскы келечектеги кооз кранга караганда 3 күндүн ичинде жакшы иштеген тит.

Мен бир жумалык долбоорду жакшы көрөм жана бир жылдык долбоорлордон коркуп жатам. Agileде мага MVP жана өсүү концепциясы абдан жакты, бул менин гана ишим: ишке жарамдуу бөлүгүн жасап, аны ишке ашырып, улант.

Ошол эле учурда, китептерде жана конференцияларда талкууланган формадагы DevOps трансформациясы бир жылдык долбоор. Же жылдап.

Биз DevOps курсубузду “MVP DevOps бир спринтте” жана “көбөйтүүгө даяр болуу” парадигмасында курдук. Ал эми адамдык мааниде болсо, анда "катышуучу кайтып келгенден кийин дароо үйдө бир нерсени ишке ашырып, андан пайда көрө алат".

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

Slurm DevOps - алыскы келечектеги кооз кранга караганда 3 күндүн ичинде жакшы иштеген тит.

Көбөйтүүгө даяр болуу: биз ар бир элементти көптөгөн практика жана мисалдар менен камсыз кылабыз. Сиз бир куралды алып, окуу чиймелерин колдонуу менен ишке ашыра баштасаңыз болот. Мисалы, иштеп чыгуучу чөйрөлөрдү жайылтуу үчүн Ansible оюн китебин жазыңыз же ботту туташтырып, серверди телефонуңуздан башкарыңыз. Башкача айтканда, бир жуманын ичинде конкреттүү практикалык натыйжаны алуу. Бул бүтүндөй компаниянын DevOps трансформациясынан чексиз алыс болушу мүмкүн, бирок ал бар, бул жерде, иштейт жана пайда алып келет.

Slurm DevOps темалары

Тема №1: Git мыкты тажрыйбалар - өзү үчүн сүйлөйт.
Тема №2: Өнүгүү көз карашынан тиркеме менен иштөө — инженерге администратордун жана иштеп чыгуучунун компетенциялары керек, ошондуктан биз админдерге өнүгүү жөнүндө айтабыз.

Тема №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: Код катары инфраструктурага жакындоо
  • Инфраструктура провайдерлери катары булут провайдерлери
  • Системаны инициализациялоо куралдары, сүрөттү куруу (пакер)
  • Мисал катары Terraform колдонуп IaC
  • Конфигурацияны сактоо, кызматташуу, тиркемени автоматташтыруу
  • Ansible окуу китептерин түзүү практикасы
  • Идемпотенттүүлүк, декларативдүүлүк
  • Мисал катары Ansible колдонуп IaC

Биз UI жана openstack cli боюнча теориялык бөлүгүн кыскартып, практикага басым жасадык.
Келгиле, бир эле тиркемени колдонуу менен эки IaC мамилесин карап көрөлү, ар бир ыкманын жакшы жана жаман жактарын көрсөтүү. Натыйжада, студент кайсыл ыкманы кайда колдонуу керектигин түшүнүп, Terraform жана Ansible менен иштей алат.

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

Тема №6: Инфраструктураны тестирлөө

  • Келгиле, алар эмне үчүн тест жазбай турганын аныктап көрөлү?
  • IaCда кандай тесттер бар?
  • Статикалык анализаторлор, алар чындап эле пайдасызбы?
  • Мисал катары ansible + молекуласын колдонуу менен IaC бирдигин сыноо
  • ci бөлүгү катары тестирлөө
  • Стероиддер боюнча тесттер же IaC тесттери бүткүчө 5 саат күтпөш керек

Биз теориялык бөлүгүн кыскарттык, Вагрант/Молекула жөнүндө азыраак аңгемелерди, көбүрөөк практиканы жана түз тестирлөө, линтерлерге жана алар менен иштөөгө басым жасадык. CI көз карашы менен карап
тестти кантип тезирээк жасоо керек. Иш жүзүндө болот:

  • ролуна жараша хост үчүн милдеттүү өзгөрмөлөрдүн бар-жоктугун текшерген өз алдынча жазылган линтер;
  • Биз CI тестине өзгөргөн ролдорду гана кошобуз, бул сыноону аткаруу убактысын бир топ кыскарта алат;
  • сценарий тестин кошуу. Биз бүтүндөй тиркемени интеграция тести катары колдонобуз.

Тема №7: Прометей менен инфраструктуранын мониторинги

  • Кантип дени сак мониторинг системасын куруу керек
  • Мониторинг сатуунун алдында да талдоо, иштеп чыгуунун эффективдүүлүгү жана коддун туруктуулугу үчүн курал катары
  • Prometheus + alertmanager + grafana орнотуу
  • Ресурстарды көзөмөлдөөдөн колдонмо мониторингине өтүү

Микросервистерге мониторинг жүргүзүү жөнүндө көп сүйлөшөбүз: суроо-талаптын ids, api мониторинг куралы. Алдынкы таж-рыйбалар арбын, ез алдынча иш жургузулет.

Озубуздун экспортерубузду жазалы. Биз өндүрүштүк инфраструктурага жана тиркемелерге гана эмес, Gitlabдагы жыйындарга да мониторинг жүргүзөбүз. Келбей калган тесттердин статистикасын карап көрөлү. HealthCheck жана аны менен бирге мониторинг кандай болорун иш жүзүндө карап көрөлү.

Тема №8. ELK менен арызды каттоо

  • Эластикалык жана анын куралдарын карап чыгуу
  • ELK/Elastic Stack/x-pack - бул эмне жана кандай айырма бар?
  • ElasticSearch аркылуу кандай көйгөйлөрдү чечсе болот (издөө, сактоо, масштабдоо функциялары, конфигурациянын ийкемдүүлүгү)
  • Инфраструктурага мониторинг (x-пакет)
  • Контейнер жана колдонмо журналдары (x-пакет)
  • Мисал катары биздин тиркемени колдонуу менен журнал жазуу
  • Кибана менен иштөө практикасы
  • Amazon'дон Elasticsearch үчүн дистро ачыңыз

Тема толугу менен кайра иштелип чыккан, аны Эдуард Медведев алып барат, аны көптөр DevOps жана SRE вебинарында көрүштү. Ал билим берүү тиркемесинин мисалында EFK менен иштөөнүн мыкты тажрыйбаларын айтып берет жана көрсөтөт. Кибана менен машыгуу болот.

Тема №9: ChatOps менен инфраструктураны автоматташтыруу

  • DevOps жана ChatOps
  • ChatOps: Күчтүү жактары
  • Жалкоо жана альтернативалар
  • ChatOps үчүн боттор
  • Hubot жана альтернативалар
  • коопсуздук
  • тестирлөө
  • Эң жакшы жана эң жаман тажрыйбалар

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

DevOps slurm 30-январда башталат. Баасы - 30 000.
Окууну бүтүргөндөр үчүн Habrapost промо-кодунун жардамы менен DevOps курсунда 15% арзандатуу бар.

регистрация бул жерде

Сизди Слурмста көргөнүмө кубанычтамын!

Source: www.habr.com

Комментарий кошуу