Министерство цифрового развития связи и массовых коммуникаций
Ордена Трудового Красного Знамени
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
СВЯЗИ И ИНФОРМАТИКИ»
Кафедра «Сетевые информационные технологии и сервисы»
Отчёт по практической работе №5
по дисциплине «Управление облачными высоконагруженными приложениями»
Выполнил: студент группы М092501(70)
Ягудин Р.Р.
Проверил: асп. Вакурин И.С.
Москва 2025 г.
СОДЕРЖАНИЕ
|
|
№ стр. |
1 |
Создание bash скрипта и предоставление прав на его исполнение . . . . . . . . . . . . . |
3 |
2 |
Запуск bash скрипта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
4 |
3 |
Приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
10 |
Создание bash скрипта и предоставление прав на его исполнение
Вводим команду sudo apt full-upgrade для обновления имеющихся пакетов
Рисунок 1 – Обновление списка пакетов
Рисунок 2 – Обновление списка пакетов
Вводим команду nano Lab5_Yagudin.sh для создания bash скрипта. Код скрипта находится в приложении
Рисунок 3 – Создание bash скрипта
Вводим команду chmod +x Lab5_Yagudin.sh для предоставления скрипту разрешения на выполнение
Рисунок 4 – Предоставление bash скрипту разрешения на запуск
Запуск bash скрипта
Вводим команду ./Lab5_Yagudin.sh для запуска скрипта из текущей директории. На рис. 5 – 20 представлены результаты работы скрипта.
Рисунок 5 – Запуск скрипта из текущей директории и вывод версий Docker, kubectl, Helm и Minikube
Рисунок 6 – Запуск Minikube с аддонами metrics-server и ingress
Рисунок 7 – Удаление старых релизов prometheus-stack и namespace
Рисунок 8 – Завершение удаления ресурсов старых релизов prometheus-stack и namespace
Рисунок 9 – Создание нового namespace
Рисунок 10 – Установка Prometheus и Grafana
Рисунок 11 – Установка Prometheus и Grafana
Рисунок 12 – Установка Nginx с помощью Helm-чарта из OCI-реестра Docker
Рисунок 13 – Установка Nginx с помощью Helm-чарта из OCI-реестра Docker
Рисунок 14 – Создание индивидуального HTML-файла, его загрузка в Kubernetes как ConfigMap и изменение спецификации Deployment
Рисунок 15 – Отображение всех подов в namespace yagram-lab5
Пояснение к рисунку 15: в данной ситуации наблюдается RollingUpdate – стратегия деплоя в Kubernetes, при которой новые поды постепенно заменяют старые.
Рисунок 16 – Проверка состояния подов
Рисунок 17 – Получение пароля от Grafana и проброс портов
Переходим в браузере по адресам http://127.0.0.1:8080, http://127.0.0.1:3000 и http://127.0.0.1:9090 для перехода на web-страницы Nginx, Grafana и Prometheus соответственно. В Grafana вводим логин и ранее полученный пароль для входа, после чего импортируем дашборд: «Dashboards» → «Import» → вводим 12708 (NGINX Prometheus Exporter Dashboard) → «Load» → Выбираем в качестве источника данных «Prometheus» → «Import». В Nginx обновляем web-страницу несколько раз, в результате чего в Grafana отобразятся 3 графика метрик Nginx: обработанные соединения, активные соединения и количество запросов. В Prometheus отображаются доступные метрики Nginx и Grafana.
Рисунок 18 – Web-страница Nginx с именем
Рисунок 19 – Графики метрик Nginx в Grafana
Рисунок 20 – Проверка доступности метрик Nginx и Grafana в Prometheus
