Skip to content

Otus-DevOps-2018-05/Aleksgav_microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Aleksgav_microservices

Aleksgav microservices repository

Homework 26

  • Установил ingress Nginx
  • Установил Prometheus
  • Π’ΠΊΠ»ΡŽΡ‡ΠΈΠ» kube-state-metrics
  • Π’ΠΊΠ»ΡŽΡ‡ΠΈΠ» node-exporter
  • Запустил ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‡Π°Ρ€Ρ‚Π° reddit
  • Π‘ΠΎΠ·Π΄Π°Π» ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для post, comment, ui
  • Установил grafana с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ helm
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Π΄ΡΡˆΠ±ΠΎΡ€Π΄Ρ‹ Π² Π³Ρ€Π°Ρ„Π°Π½Ρƒ
  • Π‘ΠΎΠ·Π΄Π°Π» ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Π³Ρ€Π°Ρ„Π°Π½Π΅
  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π» Π΄ΡΡˆΠ±ΠΎΡ€Π΄Ρ‹
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Π»Π΅ΠΉΠ±Π» ΠΊ самой ΠΌΠΎΡ‰Π½ΠΎΠΉ Π½ΠΎΠ΄Π΅ Π² кластСрС
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Ρ‡Π°Ρ€Ρ‚Ρ‹ для EFK
  • Запустил EFK Π² k8s
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» сбор Π»ΠΎΠ³ΠΎΠ² Π² kibana

Homework 25

  • Установил Helm
  • Π‘ΠΎΠ·Π΄Π°Π» Ρ‡Π°Ρ€Ρ‚Ρ‹ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ui, comment, post прилоТСния
  • Π¨Π°Π±Π»ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π» созданныС Ρ‡Π°Ρ€Ρ‚Ρ‹
  • Установил ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² ui
  • Π‘ΠΎΠ·Π΄Π°Π» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ хэлпСры для шаблонов
  • Установил ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² GKE
  • Установил Gitlab
  • ΠžΠΏΡ€Π°Π²ΠΈΠ» всС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с частями ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Gitlab
  • Настроил CI
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΡƒΡŒΠ΅Ρ€Π½Π΅Ρ‚Π΅Ρ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ Π² feature Π±Ρ€Π°Π½Ρ‡
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Ρ„ΡƒΠΊΠ½Ρ†ΠΈΡŽ удалСния окруТСния ΠΈ протСстировал Π΅Π΅
  • Π‘ΠΎΠ·Π΄Π°Π» staging ΠΈ production срСды для Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния

Homework 24

  • ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚Ρ€ΠΎΠ²Π°Π» Ρ€Π°Π±ΠΎΡ‚Ρƒ kube-dns
  • ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚Ρ€ΠΎΠ²Π°Π» балансСр с nodePort
  • Π‘ΠΎΠ·Π΄Π°Π» Ingress для сСрвиса ui
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» TLS сСртификат, пСрСнастроил Ingress Π½Π° ΠΏΡ€ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ HTTPS Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°
  • Π‘ΠΎΠ·Π΄Π°Π» NetworkPolicy для mongodb
  • Π‘ΠΎΠ·Π΄Π°Π» PV Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ для mongodb
  • Π‘ΠΎΠ·Π΄Π°Π» PVC для mongodb ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ» Π΅Π³ΠΎ
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» StorageClass Π² PVC

Homework 23

Бсылка Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ http://35.239.6.146:31375/
  • Установил kubectl
  • Установил minikube
  • Запустил minikube кластСр
  • Описал ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² yaml манифСстах
  • Поднял ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² minikube
  • Π—Π°ΡˆΠ΅Π» Π² Π΄ΡΡˆΠ±ΠΎΠ°Ρ€Π΄ Π² minikube
  • Π‘ΠΎΠ·Π΄Π°Π» нСймспСйс dev
  • Запусти ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² нСймспСйсС dev
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π² ui deployment манифСст
  • Π‘ΠΎΠ·Π΄Π°Π» kubernetes кластСр Π² gke
  • Запустил ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² gke
  • Π‘ΠΎΠ·Π΄Π°Π» ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ брэндауэра для достпа ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΈΠ·Π²Π½Π΅
  • Запустил Π΄ΡΡˆΠ±ΠΎΠ°Ρ€Π΄ для кластСра
  • Назначил сСрвсному Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρƒ Ρ€ΠΎΠ»ΡŒ с достаточными ΠΏΡ€Π°Π²Π°ΠΌΠΈ Π½Π° просмотр ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ кластСрС

Homework 22

  • Описал ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ манифСстов
  • ΠŸΡ€ΠΎΡˆΠ΅Π» Kubernetes the hard way
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» Ρ‡Ρ‚ΠΎ kubectl apply -f ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ созданным Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½Ρ‚Π°ΠΌ
  • Π£Π΄Π°Π»ΠΈΠ» кластСр

Homework 21

  • Обновил ΠΊΠΎΠ΄ микросСрвисов ΠΈ пСрСсобрал ΠΎΠ±Ρ€Π°Π·Ρ‹
  • Π‘ΠΎΠ·Π΄Π°Π» Π΄ΠΎΠΊΠ΅Ρ€ хост Π² GCP
  • Π‘ΠΎΠ·Π΄Π°Π» compose Ρ„Π°ΠΈΠ» для логирования
  • Π‘ΠΎΠ·Π΄Π°Π» ΠΎΠ±Ρ€Π°Π· fluentd с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ настройкаим
  • Настроил ΠΎΡ‚ΠΏΡ€Π²ΠΊΡƒ Π»ΠΎΠ³ΠΎΠ² Π² fluentd
  • ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π» настройки Π² Kibana
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ui сСрвиса
  • Π‘ΠΎΠ·Π΄Π°Π» Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π½Π° основС рСгулярных Π²Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² fluentd
  • Π‘ΠΎΠ·Π΄Π°Π» Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π½Π° основС grok Π² fluentd

Π—Π°Π΄Π°Π½ΠΈΠ΅ со *

  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Π² fluentd ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ для Ρ€Π°Π·Π±ΠΎΡ€Π° нСструктурированных Π»ΠΎΠ³ΠΎΠ² Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…

Π—Π°Π΄Π°Π½ΠΈΠ΅ с ***

  • Разобрался с Ρ‚Π΅ΠΌΠΎΠΉ распрСдСлСнного трСйсинга
  • РСшил ΠΏΡ€ΠΎΠ±ΠΎΠ΅ΠΌΡƒ с сСрвисом post
    • Π’ python 3 Π² 53 строкС, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ явноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ body = '\x0c\x00\x00\x00\x01'.encode('utf-8') + encoded_span ΠΈΠ½Π°Ρ‡Π°Π΅ сСрвис просто Π½Π΅ стартуСт
    • Π’ 167 строкС стоит time.sleep(3)

Homework 20

  • Π Π°Π·Π΄Π΅Π»ΠΈΠ» Ρ„Π°ΠΈΠ» docker-compose
  • Установил ΠΈ настроил cAdvisor
  • Установил ΠΈ Grafana
  • Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΠ» Π³Ρ€Π°Ρ„Π°Π½Ρƒ ΠΈ промСтСус
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Π΄ΡΡˆΠ±ΠΎΡ€Π΄ для Π΄ΠΎΠΊΠ΅Ρ€Π°
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Π΄ΡΡˆΠ±ΠΎΡ€Π΄Ρ‹ для ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ прилоТСния
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Π³Ρ€Π°Ρ„ΠΈΠΊ с 95% ΠΏΠ΅Ρ€Ρ†Π΅Π½Ρ‚ΠΈΠ»Π΅ΠΌ врСсСни ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° запрос
  • Π‘ΠΎΠ·Π΄Π°Π» Π΄ΡΡˆΠ±ΠΎΡ€Π΄Ρ для отобраТСния ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ бизнСс Π»ΠΎΠ³ΠΈΠΊΠΈ
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» ΠΈ настроил Π°Π»Π΅Ρ€Ρ‚ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ с ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ сообщСния Π² слак

Бсылка Π½Π° dockerhub: https://hub.docker.com/u/abirvalg/

Π—Π°Π΄Π°Π½ΠΈΠ΅ со *

  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Π² Makefile сборку Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ².
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» сбор ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π΄ΠΎΠΊΠ΅Ρ€Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ prometheus.
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» сбор ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π΄ΠΎΠΊΠ΅Ρ€ Π΄Π΅ΠΌΠΎΠ½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŽ Telegraf
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Π°Π»Π΅Ρ€Ρ‚ Π½Π° 95 ΠΏΠ΅Ρ€Ρ†Π΅Π½Ρ‚ΠΈΠ»ΡŒ Π²Ρ€Π΅ΠΌΠ½Π΅Π½ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π° UI
  • Настроил Ρ‚Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ Π°Π»Π΅Ρ€Ρ‚ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° с СМаил

заданиС с **

  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» автоматичСскоС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ источников Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ созданных Π΄ΡΡˆΠ±ΠΎΡ€Π΄ΠΎΠ² Π² Π³Ρ€Π°Ρ„Π°Π½Ρƒ
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» бизнСс ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΡƒ прилоТСния - количСство постов ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π» ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎ часам - Π½ΠΎ Ρ‚ΠΊ Π΄ΠΎΠ»Π³ΠΎ ΠΆΠ΄Π°Ρ‚ΡŒ тСста - сдСлал ΠΏΠΎ ΠΌΠΈΠ½ΡƒΡ‚Π°ΠΌ.

Homework 19

  • Π‘ΠΎΠ·Π΄Π°Π» ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ„Π°ΠΉΠ΅Ρ€Π²ΠΎΠ»Π° для ΠΏΡƒΠΌΡ‹ ΠΈ промСтСус
  • Π‘ΠΎΠ·Π΄Π°Π» инстанс docker-host Π² GCE
  • Запустил промСтСус
  • Ознакомился с Π²Π΅Π± интСрфСйсом промСтСуса
  • Π‘ΠΎΠ·Π΄Π°Π» Dockerfile для промСтСуса
  • Π‘ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π» промСтСус
  • Π‘ΠΎΠ±Ρ€Π°Π» images микросСрвисов
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» Π² docker-compouse сСрвис промСтСуса
  • Запустил микросСрвисы с промСтСусом
  • Бэмулировал ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с микросСрвисом ΠΈ ознакомился с Π²Ρ‹Π΄Π°Ρ‡Π΅ΠΉ Π² промСтСусС
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» node-exporter

Бсылка Π½Π° dockerhub: https://hub.docker.com/u/abirvalg/

Π—Π°Π΄Π°Π½ΠΈΠ΅ со *

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Prometheus ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ MongoDB с использованиСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ экспортСра.

Π”ΠΎΠ±Π°Π²ΠΈΠ» ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ mongo-db: monitoring/mongo_db_exporter

Π—Π°Π΄Π°Π½ΠΈΠ΅ со *

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Prometheus ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ сСрвисов comment, post, ui с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ blackbox экспортСра.

Π”ΠΎΠ±Π°Π²ΠΈΠ» ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ сСрвисов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ blackbox экспортСра: monitoring/blackbox_exporter

Π—Π°Π΄Π°Π½ΠΈΠ΅ со *

Π—Π°Π΄Π°Π½ΠΈΠ΅: ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Makefile

Написал makefile ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΠΈΠ»Π΄ΠΈΡ‚ всС ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Ρ‚ ΠΈΡ… Π² Π΄ΠΎΠΊΠ΅Ρ€Ρ…Π°Π±

Homework 18

  • Π‘ΠΎΠ·Π΄Π°Π» Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
  • Π Π°Π·Ρ€Π΅ΡˆΠΈΠ» запуск Ρ€Π°Π½Π½Π΅Ρ€ΠΎΠ² Π² этом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅
  • Описал окруТСния: staging, production
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ для staging ΠΈ production - Π½Π° Π½ΠΈΡ… Π²Ρ‹ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ‚Π΅Π³ΠΎΠΌ
  • Π‘ΠΎΠ·Π΄Π°Π» динамичСскоС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅

Π—Π°Π΄Π°Π½ΠΈΠ΅ со *

ΠŸΡ€ΠΈ ΠΏΡƒΡˆΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ создаСтся сСрвСр для окруТСния. Π‘Π΅Ρ€Π²Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ.

HOMEWORK 17

  • Написал Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌ шаблон для развСртывания окруТСния ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΠ» Π΅Π³ΠΎ
  • Написал энсибл ΠΏΠ»Π΅ΠΉΠ±ΡƒΠΊ для установки Π΄ΠΎΠΊΠ΅Ρ€Π°, настройки ΠΈ установки gitlab ΠΈ установил Π΅Π³ΠΎ
  • ЗарСгистрировался Π² созданном gitlab
  • Π‘ΠΎΠ·Π΄Π°Π» Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²
  • Π‘ΠΎΠ·Π΄Π°Π» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» .gitlab-ci.yml
  • Π—Π°ΠΏΡƒΡˆΠΈΠ» Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² созданный Π³ΠΈΡ‚Π»Π°Π±
  • Π‘ΠΎΠ·Π΄Π°Π», запустил ΠΈ зарСгистрировал Ρ€Π°Π½Π½Π΅Ρ€
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» тСстированиС прилоТСния reddit Π² pipeline
  • ИзмСнил настройки Π² .gitlab-ci.yml для прилоТСния reddit
  • Π”ΠΎΠ±Π°Π²ΠΈΠ» тСст прилоТСния reddit
  • ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΠ» ΠΊΠΎΠ΄ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ убСдился Ρ‡Ρ‚ΠΎ Ρ€Π°Π½Π½Π΅Ρ€Ρ‹ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ

Π—Π°Π΄Π°Π½ΠΈΠ΅ со *

ΠŸΡ€ΠΎΠ΄ΡƒΠΌΠ°ΠΈΜ†Ρ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ развСртывания ΠΈ рСгистрации Gitlab CI Runner.

Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΏΠ°ΠΏΠΊΡƒ gitlab-ci/ansible DΡ‹ΠΏΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ansible-playbook playbooks/gitlab_runners.yml --extra-vars "registration_token=XXXX"

Π—Π°Π΄Π°Π½ΠΈΠ΅ со *

НастройтС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ вашСго Pipeline с тСстовым Slack-Ρ‡Π°Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ использовали Ρ€Π°Π½Π΅Π΅.

ΠžΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡ настроСны Π² ΠΊΠ°Π½Π°Π»: #aleksandr_gavrishchuk

Для запуска ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ: ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ gitlab-ci/terraform/prod

terraform apply

ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ gitlab-ci/ansible

ansible-playbook playbooks/docker_host.yml

HOMEWORK 16

  • Запустил ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с none Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ сСти
  • ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Π» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ сСтСвых интСрфСйсов
  • Запустил ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π² пространствС Π΄ΠΎΠΊΠ΅Ρ€ хоста
  • Π‘Ρ€Π°Π²Π½ΠΈΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сСтСвых интСрфСйсов хоста ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°
  • ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Π» ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ net нСймспСйсы ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΈ запускС сСти ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ none ΠΈ хост Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°
  • Π‘ΠΎΠ·Π΄Π°Π» Π±Ρ€ΠΈΠ΄ΠΆ ΡΠ΅Ρ‚ΡŒ reddit
  • Запустил ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² созданной Π±Ρ€ΠΈΠ΄ΠΆ сСти
  • Запустил ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² 2Ρ… Π±Ρ€ΠΈΠ΄ΠΆ сСтях
  • ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Π» сСтСвой стСк Π² созданной сСти, iptables
  • Запустил ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ docker-compose
  • ИзмСнил ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΏΠΎΠ΄ кСйс с мноТСстовм сСтСй ΠΈ сСтСвых алиасов
  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ
  • Π‘ΠΎΠ·Π΄Π°Π» override ΠΊΠΎΠ½Ρ„ΠΈΠ³ с запуском ΠΏΡƒΠΌΡ‹ Π² Π΄Π΅Π±Π°Π³ Ρ€Π΅ΠΆΠΈΠΌΠ΅ с 2мя Π²ΠΎΡ€ΠΊΠ΅Ρ€Π°ΠΌΠΈ, ΠΈ волюмами Ρ‡Ρ‚ΠΎΠ± Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π—Π°Π΄Π°Π½ΠΈΠ΅ со *

Π£Π·Π½Π°ΠΈΜ†Ρ‚Π΅ ΠΊΠ°ΠΊ образуСтся Π±Π°Π·ΠΎΠ²ΠΎΠ΅ имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. МоТно Π»ΠΈ Π΅Π³ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ? Если ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎ ΠΊΠ°ΠΊ?

ΠŸΡ€Π΅Ρ„ΠΈΠΊΡ образуСтся ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ - Ρ‚Π°ΠΊ сдСлано для избСТания ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ². Π—Π°Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ двумя путями (ΠΊΡ€ΠΎΠΌΠ΅ пСрСимСнования ΠΏΠ°ΠΏΠΊΠΈ ))):

  • Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния COMPOSE_PROJECT_NAME
  • Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³Π° -p, --project-name NAME

HOMEWORK 15

  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΡΡ ΠΊ Ρ€Π°Π½Π΅Π΅ созданному хосту
  • Распаковал микросСрвисноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
  • Π‘ΠΎΠ·Π΄Π°Π» Π΄ΠΎΠΊΠ΅Ρ€ Ρ„Π°ΠΉΠ»Ρ‹ для:
  • post
  • comment
  • ui
  • Π‘ΠΎΠ±Ρ€Π°Π» ΠΎΠ±Ρ€Π°Π·Π° с сСрвисами
  • Π‘ΠΎΠ·Π΄Π°Π» Π±Ρ€ΠΈΠ΄ΠΆ ΡΠ΅Ρ‚ΡŒ
  • Запустил ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» - всС ΠΎΠΊ
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π» ΠΎΠ±Ρ€Π°Π·Π°
  • Π‘ΠΎΠ·Π΄Π°Π» docker volume ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ» Π΅Π³ΠΎ ΠΊ mongo db
  • ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΠ» ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ - всС посты ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ

Π—Π°Π΄Π°Π½ΠΈΠ΅ со *

ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ» всС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ запустил с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ сСтСвыми алиасами, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» - всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

docker run -d --network=reddit \
  --network-alias=post_db_test --network-alias=comment_db_test mongo:latest
docker run -d --network=reddit \
  --network-alias=post_test -e "POST_DATABASE_HOST=post_db_test" abirvalg/post:1.0
docker run -d --network=reddit \
  --network-alias=comment_test -e "COMMENT_DATABASE_HOST=comment_db_test" abirvalg/comment:1.0
docker run -d --network=reddit \
  -p 9292:9292 -e "POST_SERVICE_HOST=post_test" -e "COMMENT_SERVICE_HOST=comment_test" abirvalg/ui:1.0

Π—Π°Π΄Π°Π½ΠΈΠ΅ со *

ΠŸΠ΅Ρ€Π΅ΡΠΎΠ±Ρ€Π°Π» ΠΎΠ±Ρ€Π°Π·Π° Π½Π° основС alpine linux

Π—Π°Π΄Π°Π½ΠΈΠ΅ со **

Π•Ρ‰Π΅ сильнСС ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ» Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΎΠ±Ρ€Π°Π·ΠΎΠ². Π“Π»Π°Π²Π½Ρ‹ΠΌ счСтом Π·Π° счСт использования чистого alpine linux, ΠΈ удалСния Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² послС сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.

HOMEWORK 14

  • Π‘ΠΎΠ·Π΄Π°Π» Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² GCE
  • Поднял зост с Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠΌ
  • ΠŸΠΎΠΊΠΎΠ²Ρ‹Ρ€ΡΠ»ΡΡ с PID namespace
  • Π‘Ρ€Π°Π²Π½ΠΈΠ» Π²Ρ‹Π²ΠΎΠ΄Ρ‹: docker run --rm -ti tehbilly/htop || docker run --rm --pid host -ti tehbilly/htop
  • Π‘ΠΎΠ·Π΄Π°Π» Π΄ΠΎΠΊΠ΅Ρ€ Ρ„Π°ΠΈΠ» для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с reddit monolith
  • Π‘ΠΎΠ±Ρ€Π°Π» ΠΎΠ±Ρ€Π°Π· Π½Π° Π±Π°Π·Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° reddit-monolith
  • Запустил собранный ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€
  • ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΠ» имэдТ Π² Π΄ΠΎΠΊΠ΅Ρ€Ρ…Π°Π±
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ» Ρ‡Ρ‚ΠΎ ΠΎΠ½ доступСн ΠΈ работоспособСн

Π—Π°Π΄Π°Π½ΠΈΠ΅ со *

  • Π‘ΠΎΠ·Π΄Π°Π» ΠΏΠ»Π΅ΠΉΠ±ΡƒΠΊ энсибл для установки Π΄ΠΎΠΊΠ΅Ρ€Π° - для ΠΏΠ°ΠΊΠ΅Ρ€ шаблона
  • Π‘ΠΎΠ·Π΄Π°Π» ΠΏΠ°ΠΊΠ΅Ρ€ шаблон, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π· с установлСнным Docker
  • Π‘ΠΎΠ·Π΄Π°Π» Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌ шаблон, ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ инстансы Π² зависимости ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±Ρ€Π°Π· с Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠΌ, Ρ€Π°Π½Π΅Π΅ Π·Π°ΠΏΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ€ΠΎΠΌ.
  • Π‘ΠΎΠ·Π΄Π°Π» ΠΏΠ»Π΅ΠΉΠ±ΡƒΠΊ для дСплоя Π΄ΠΎΠΊΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, с динамичСским ΠΈΠ½Π²Π΅Π½Ρ‚ΠΎΡ€ΠΈ, Π² ΠΏΠΎΠ΄Π½ΡΡ‚ΡƒΡŽ инфраструктуру

HOMEWORK 13

  • Установил Docker
  • Запустил ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ hello world
  • Π˜Π·ΡƒΡ‡ΠΈΠ» ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:
    • docker info
    • docker version
    • docker ps
    • docker images
    • docker run
    • docker start
    • docker attach
    • docker create
    • docker exec
    • docker commit
    • docker inspect
    • docker kill
    • docker stop
    • docker system df
    • docker rm
    • docker rmi