Skip to content

WasaPupkin microservices repository

License

Notifications You must be signed in to change notification settings

Otus-DevOps-2021-08/WasaPupkin_microservices

Repository files navigation

WasaPupkin_microservices

WasaPupkin microservices repository

Задание №15-16

  • Попробовал контейнер hello world
  • Посмотрел на команды для вывода списков контейнеров и образов, а так же их запуска. Работа с консолью в контейнере.
  • Создал хост и настроили Docker machine
  • Создал образ и контейнер с приложением reddit
  • Запушил созданный образ на dockerhub
  • travis-ci

Задание №17

  • Скачал приложение в каталог src
  • Создал Dockerfile для каждой части приложения; Скачал последний образ mongo; Собрал образы для каждой части приложения.
  • Создал отдельную сеть и запустил в ней все части приложения.
  • "Покурил" вопрос оптимизации размера образа.
  • Создал раздел для mongo и перезапустил приложение

Задание №18

  • "поиграл" с типами сетевых адаптеров для docker.
  • Сделал две отдельные сети для разных частей приложения. Запустил приложение.
  • Добавил файл docker-compose.yml и запустил приложение
  • Задал разные ести в файле docker-compose.yml
  • Вынес переменные в .env файл

Имя проекта можно задать при запуске через опцию:

  -p, --project-name NAME     Specify an alternate project name
                              (default: directory name)

Задание №20

  • Создал VM через web-интерфейс YC. Попробовал запустить через docker-compose. Удалил.
  • Добавил terraform и ansible для создания ВМ и развертывание omnibus версии gitlab
  • Достал root пароль от gitlab и настроил gitlab
  • Создал проект, добавил тестовые пайплайны из задания.
  • Добавил и подключил gitlab-runner.
  • Добавил в ansible таску для извлечения root пароля.

Задание №22

  • Запустил Prometheus в контейнере
  • Изучил интерфейс Prometheus
  • Собрал свой образ для Prometheus со своим конфигом внутри
  • Подключил Prometheus к сервисам
  • "Поиграл" с метриками и доступностью сервисов
  • Добавил Node exporter. Пересобрал образ с Prometheus

https://hub.docker.com/u/wasapupkindockerhub

Задание №25

  • Обновил src приложения и билды образов
  • Запустил контейнеры для Fluentd
  • Изучил сырые логи контейнера через консоль
  • Добавил отправку логов в fluentd
  • Посмотрел интерфейс и возможности kibana, добавил фильтры
  • Добавил сбор логов c ui
  • Добавил и запустил Zipkin

Задание №27

  • Добавил манифесты
    • post-deployment.yml
    • ui-deployment.yml
    • comment-deployment.yml
    • mongo-deployment.yml
  • Создал две VM
  • Установил docker и kubernetes на обе VM. Добавил их одну как worker ноду.
  • Установил calico. Обновил конфигурацию.
  • Применил манифесты.

Задание №28 (kubernetes-3)

  • Повторно развернул проект в кластере k8s в YC
  • Настроил NodePort
  • Настроил LoadBalancer
  • Установил плагин Ingress. Настроил Ingress
  • Сгенерировал пару сертификат+ключ и сохранил в secret
  • Обновил конфигурацию ingress на прием соединений только по https
  • Настроил Network Policy для mongo
  • Создал диск и подключил к mongo

Задание №31 (kubernetes-2)

  • Установил kubectl и Minikube на рабочую машину. Инициализировал локальный кластер.
  • Добавил файл с описанием деплойментов и сервисов.
  • Запустил локально приложение. В т.ч. в отдельном namespace
  • Вручную развернул кластер Kubernetes в YC
  • Подключился и запустил приложение в YC