
ПКАПиИ_БСТ2104_Кофанов_Первухина_Лабораторная_работа_5
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ
Ордена Трудового Красного Знамени
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
__________________________________________________________________
Кафедра «Сетевые информационные технологии и сервисы»
Отчёт по лабораторной работе №5
по дисциплине «Программно-конфигурируемая архитектура приложений и инфраструктуры»
на тему «Создание и настройка кластера Kubernetes с распределённой системой из трёх взаимосвязанных компонентов»
Выполнили: студенты гр. БСТ2104
Кофанов Дмитрий Алексеевич
Первухина Алиса Александровна
Проверил: ст. преп.
Маклачкова Виктория Валентиновна
Москва
2025
Цель работы
Целью работы является освоение навыков развёртывания и управления кластером Kubernetes, а также настройки взаимодействия между несколькими компонентами в распределённой системе.
Задание
Создать кластер Kubernetes, состоящий из трёх взаимосвязанных компонентов, например:
Nginx (веб-сервер), PostgreSQL (база данных) и Adminer (веб-интерфейс для управления БД).
Требования
Кластер Kubernetes:
Развернуть локальный кластер с использованием инструмента kind.
Убедиться, что все компоненты работают в рамках одного кластера.
Три взаимосвязанных компонента:
Выбрать три программы, которые могут взаимодействовать между собой (например, веб-сервер, база данных и интерфейс управления).
Настроить их так, чтобы они могли обмениваться данными или работать совместно.
Документация:
Описать, какие компоненты были выбраны, и как они связаны между собой.
Указать, какие проблемы были решены в процессе настройки.
Проверить работоспособность:
Убедиться, что все компоненты работают корректно и взаимодействуют друг с другом.
Предоставить инструкцию по доступу к каждому компоненту (например, URL для веб-интерфейса или команды для проверки подключения к базе данных).
Содержание
Ход выполнения работы 5
Заключение 14
Ход выполнения работы
Развернём локальный кластер Kubernetes с использованием kind (см. рис. 1):
Рисунок 1 – Создание кластера с использованием конфигурационного файла, проверка состояния кластера и нод
Развернём в кластере приложения Nginx, PostgreSQL и Adminer (см. рис. 2-5):
Рисунок 2 – Создание файлов для развёртывания и создания Service Nginx, применение конфигураций
Рисунок 3 – Создание файлов для развёртывания и создания Service PostgreSQL, применение конфигураций
Рисунок 4 – Создание файлов для развёртывания и создания Service Adminer, применение конфигураций
Рисунок 5 – Настройка сети NAT
Убедимся, что все компоненты работают корректно и взаимодействуют друг с другом (см. рис. 6-9):
Рисунок 6 – Проверка состояния компонентов кластера
Рисунок 7 – Веб-интерфейс Nginx
Рисунок 8 – Веб-интерфейс для входа в Adminer
Рисунок 9 – Успешный вход в Adminer
Также можно использовать Nginx как обратный прокси-сервер для Adminer. В этом случае Nginx будет принимать запросы от клиентов и перенаправлять их к Adminer через определённый URL, например, /adminer (см. рис. 10):
Рисунок 10 – Доступ к Adminer через Nginx
Для этого необходимо обновить конфигурационный файл развёртывания Nginx (см. рис. 11):
Рисунок 11 – Обновление конфигурации развёртывания Nginx
Опишем, какие компоненты были выбраны, и как они связаны между собой, предоставим инструкцию по доступу к каждому компоненту:
Выбранные компоненты:
Nginx – веб-сервер, который используется для обслуживания статического контента и проксирования запросов к другим сервисам. Порт 80 (внутри кластера), 30080 (внешний порт на хосте).
PostgreSQL – реляционная база данных, используемая для хранения данных. Порт 5432 (внутри кластера).
Adminer – веб-интерфейс для управления базами данных PostgreSQL. Порт 8080 (внутри кластера), 30081 (внешний порт на хосте).
Связь между компонентами:
Nginx принимает запросы от клиентов на порту 30080; проксирует запросы к Adminer, если запрос идёт на /adminer.
Adminer принимает запросы от Nginx на порту 8080; подключается к PostgreSQL для управления базой данных.
PostgreSQL принимает запросы от Adminer на порту 5432; хранит данные и отвечает на запросы от Adminer.
Инструкция по доступу:
Доступ к Nginx – URL: http://localhost:30080.
Доступ к Adminer – URL: http://localhost:30081, данные для входа: PostgreSQL, postgres, admin, password, mydb.
Доступ к PostgreSQL – Port: 30432, можно подключиться с помощью клиента psql: psql -h localhost -p 30432 -U admin -d mydb.
Заключение
В результате выполнения лабораторной работы были освоены навыки развёртывания и управления кластером Kubernetes, а также навыки по настройке взаимодействия между несколькими компонентами в распределённой системе.