- Домашнее задание выполните в вашем git-репозиториий(предпочтительно) или Google Docs и отправьте на проверку ссылку на ваш документ в личном кабинете.
- В названии файла укажите номер лекции и фамилию студента. Пример названия: 6.4. Docker. Часть 2 — Александр Александров.
- Код решения размещайте в отдельном файле на вашем Google-диске, это облегчит проверку вашей работы.
- Перед отправкой проверьте, что доступ для просмотра открыт всем, у кого есть ссылка. Если нужно прикрепить дополнительные ссылки, добавьте их в свой Google Docs.
Вы можете прислать решение в виде ссылки на ваш репозийторий в GitHub, для этого воспользуйтесь шаблоном для домашнего задания.
Правила выполнения заданий к занятию «6.4. Docker. Часть 2»
- Все задания выполняйте на основе конфигов из лекции.
- В заданиях описаны те параметры, которые необходимо изменить.
- Если параметр не упомянут вообще, значит, его нужно оставить таким, какой он был в лекции.
- Если в каком-то задании, например, в задании 2, нужно изменить параметр, подразумевается, что во всех следующих заданиях будет использоваться уже изменённый параметр.
- Проверяйте правильность отступов. Очень важно их соблюдать, так как это влияет на структуру данных.
- Выполнив все задания без звёздочки, вы должны получить полнофункциональный сервис.
Любые вопросы по решению задач задавайте в чате учебной группы.
Примеры различных композ проектов от разработчиков Docker: https://github.com/docker/awesome-compose/blob/master/wireguard/compose.yaml
Напишите ответ в свободной форме, не больше одного абзаца текста.
Установите Docker Compose и опишите, для чего он нужен и как может улучшить лично вашу жизнь.
Выполните действия и приложите текст конфига на этом этапе.
Создайте файл docker-compose.yml и внесите туда первичные настройки:
- version;
- services;
- volumes;
- networks.
При выполнении задания используйте подсеть 10.5.0.0/16. Ваша подсеть должна называться: <ваши фамилия и инициалы>-my-netology-hw. Все приложения из последующих заданий должны находиться в этой конфигурации.
Выполните действия:
- Создайте конфигурацию docker-compose для Prometheus с именем контейнера <ваши фамилия и инициалы>-netology-prometheus.
- Добавьте необходимые тома с данными и конфигурацией (конфигурация лежит в репозитории в директории 6-04/prometheus ).
- Обеспечьте внешний доступ к порту 9090 c докер-сервера.
Выполните действия:
- Создайте конфигурацию docker-compose для Pushgateway с именем контейнера <ваши фамилия и инициалы>-netology-pushgateway.
- Обеспечьте внешний доступ к порту 9091 c докер-сервера.
Выполните действия:
- Создайте конфигурацию docker-compose для Grafana с именем контейнера <ваши фамилия и инициалы>-netology-grafana.
- Добавьте необходимые тома с данными и конфигурацией (конфигурация лежит в репозитории в директории 6-04/grafana).
- Добавьте переменную окружения с путем до файла с кастомными настройками (должен быть в томе), в самом файле пропишите логин=<ваши фамилия и инициалы> пароль=netology.
- Обеспечьте внешний доступ к порту 3000 c порта 80 докер-сервера.
Выполните действия.
- Настройте поочередность запуска контейнеров.
- Настройте режимы перезапуска для контейнеров.
- Настройте использование контейнерами одной сети.
- Запустите сценарий в detached режиме.
Выполните действия.
- Выполните запрос в Pushgateway для помещения метрики <ваши фамилия и инициалы> со значением 5 в Prometheus:
echo "<ваши фамилия и инициалы> 5" | curl --data-binary @- http://localhost:9091/metrics/job/netology
. - Залогиньтесь в Grafana с помощью логина и пароля из предыдущего задания.
- Cоздайте Data Source Prometheus (Home -> Connections -> Data sources -> Add data source -> Prometheus -> указать "Prometheus server URL = http://prometheus:9090" -> Save & Test).
- Создайте график на основе добавленной в пункте 5 метрики (Build a dashboard -> Add visualization -> Prometheus -> Select metric -> Metric explorer -> <ваши фамилия и инициалы -> Apply.
В качестве решения приложите:
- docker-compose.yml целиком;
- скриншот команды docker ps после запуске docker-compose.yml;
- скриншот графика, постоенного на основе вашей метрики.
Выполните действия:
- Остановите и удалите все контейнеры одной командой.
В качестве решения приложите скриншот консоли с проделанными действиями.
Их выполнение необязательное и не влияет на получение зачёта по домашнему заданию. Можете их решить, если хотите лучше разобраться в материале.
Выполните действия:
- Создайте конфигурацию docker-compose для Alertmanager с именем контейнера <ваши фамилия и инициалы>-netology-alertmanager.
- Добавьте необходимые тома с данными и конфигурацией, сеть, режим и очередность запуска.
- Обновите конфигурацию Prometheus (необходимые изменения ищите в презентации или документации) и перезапустите его.
- Обеспечьте внешний доступ к порту 9093 c докер-сервера.
В качестве решения приложите скриншот с событием из Alertmanager.
Запустите свой сценарий на чистом железе без предзагруженных образов.
Ответьте на вопросы в свободной форме:
- Опишите выполненный вами процесс развертывания сценария.
- Как вы думаете зачем может понадобиться такой способ развертывания?