Практические задания по Linux, Docker, веб-приложениям

Отчёт по выполнению практического задания

Задание 1

Описание задачи

Создать виртуальную машину (ВМ) в VirtualBox со стандартными сетевыми параметрами, установить ОС CentOS 7 x86-64, именовать ее VM-app.

Создать рядового пользователя user с возможностью работы в режиме повышения полномочий.

Организовать доступ к ВМ по ssh для выполнения дальнейших операций.

Разместить свой ключ ssh для доступа по ключу, а не паролю.

Ожидаемый результат

Работающая ВМ с CentOS 7, возможность работать с ВМ по ssh, описание особенностей подключения.

Подтверждение

Задание 2

Описание задачи

Установить docker engine, настроить возможность выполнения консольных команд docker.

Ожидаемый результат

Возможность установить образ, сгенерировать собственный образ и запустить docker-контейнер.

Подтверждение

Задание 3

Описание задачи

Склонировать проект:

reaction-development-platform v4.0.0

При помощи docker-compose настроить запуск приложения данного проекта.

Обеспечить автоматический запуск связки контейнеров при запуске ВМ.

Данные этого приложения и настройки базы данных должны сохраняться независимо от остановки и повторного запуска контейнеров.

Ожидаемый результат

Запущенный проект открывается в браузере по указанным портам в его конфигурации, БД не создается заново.

Подтверждение

Задание 4

Описание задачи

Создать еще одну машину — ВМ-2 — в VirtualBox со стандартными сетевыми параметрами, установить ОС CentOS 7 x86-64, именовать ее VM-www-db.

Создать свой образ Docker, используя в качестве базового официальный образ CentOS 7 для выполнения MongoDB.

Запустить контейнер на основе этого образа, получить из консоли ВМ список баз данных mongodb.

Установить nginx и настроить так, чтобы nginx на VM-www-db открывал запущенный сервис на VM-app.

Ожидаемый результат

  • Dockerfile.
  • Скриншот запуска контейнера.
  • Скриншот подключения из консоли ВМ к mongodb в контейнере.
  • Список баз данных.
  • Трансляция запросов http с VM-www-db на VM-app.
  • Доступность сервиса из браузера.
  • Вход под администратором.
  • Добавленное изображение для Basic Reaction Product.

Подтверждение

Задание 5

Описание задачи

Перенести базу mongodb приложения с VM-app на VM-www-db. Запустить ее следует в docker-контейнере.

Базу следует именно перенести, то есть данные должны быть сохранены.

Сами приложения должны остаться на первой ВМ.

Добиться рабочего состояния измененной инсталляции.

Ожидаемый результат

Работающее приложение.

Описание реализации сетевого взаимодействия приложений с базой mongodb.

Подтверждение

Задание 6

Описание задачи

Настроить доступ к веб-сервису из прошлого задания по https с использованием самостоятельно сгенерированного SSL-сертификата.

Настроить принудительное перенаправление запросов с http на https.

Ожидаемый результат

Скриншот страницы, открытой в браузере, с информацией о сертификате, полученном от веб-сервера.

Подтверждение

Задание 7

Описание задачи

Реализовать произвольный вариант сбора и хранения логов контейнеров, независимо от их перезагрузок, для дальнейшего анализа на VM-app.

Ожидаемый результат

Описать предлагаемый вариант и предоставить результат сбора логов.

Подтверждение

Задание 8

Описание задачи

Применить произвольные консольные инструменты для анализа использования системных ресурсов ВМ и текущей нагрузки на них:

  • оперативная память;
  • процессор;
  • дисковые операции;
  • сеть.

Ожидаемый результат

Скриншоты интерфейсов использованных инструментов.

Подтверждение

Задание 9

Описание задачи

Развернуть еще одну, третью, ВМ, именовать VM-mongodb.

Также в docker поднять mongodb той же версии, что и на предыдущем шаге.

На основе трех инстансов mongodb реализовать mongodb replicaset.

Документация: MongoDB Replica Set Members

После успешной синхронизации реплики спровоцировать переключение мастера на другой инстанс.

Убедиться, что приложение работает.

Ожидаемый результат

Вывод статуса mongodb replicaset до и после переключения мастера.

Подтверждение

Задание 10

Описание задачи

Обеспечить ограничение доступа по сети к VM-www-db с разрешенным доступом только для портов http, https и ssh.

Также обеспечить доступ к остальным ВМ снаружи.

При этом обеспечить доступность баз данных и приложений между всеми ВМ.

Ожидаемый результат

Полный список действующих правил файрвола на ВМ.

Подтверждение