Добавил:
мой вк: vk.com/truecrimebitch больше работ здесь: https://github.com/alisadex Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПКАПиИ_БСТ2104_Кофанов_Первухина_Лабораторная_работа_5

.docx
Скачиваний:
0
Добавлен:
11.05.2025
Размер:
562.85 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ

Ордена Трудового Красного Знамени

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

__________________________________________________________________

Кафедра «Сетевые информационные технологии и сервисы»

Отчёт по лабораторной работе №5

по дисциплине «Программно-конфигурируемая архитектура приложений и инфраструктуры»

на тему «Создание и настройка кластера Kubernetes с распределённой системой из трёх взаимосвязанных компонентов»

Выполнили: студенты гр. БСТ2104

Кофанов Дмитрий Алексеевич

Первухина Алиса Александровна

Проверил: ст. преп.

Маклачкова Виктория Валентиновна

Москва

2025

Цель работы

Целью работы является освоение навыков развёртывания и управления кластером Kubernetes, а также настройки взаимодействия между несколькими компонентами в распределённой системе.

Задание

Создать кластер Kubernetes, состоящий из трёх взаимосвязанных компонентов, например:

  • Nginx (веб-сервер), PostgreSQL (база данных) и Adminer (веб-интерфейс для управления БД).

Требования

  1. Кластер Kubernetes:

    • Развернуть локальный кластер с использованием инструмента kind.

    • Убедиться, что все компоненты работают в рамках одного кластера.

  1. Три взаимосвязанных компонента:

  • Выбрать три программы, которые могут взаимодействовать между собой (например, веб-сервер, база данных и интерфейс управления).

  • Настроить их так, чтобы они могли обмениваться данными или работать совместно.

  1. Документация:

  • Описать, какие компоненты были выбраны, и как они связаны между собой.

  • Указать, какие проблемы были решены в процессе настройки.

  1. Проверить работоспособность:

  • Убедиться, что все компоненты работают корректно и взаимодействуют друг с другом.

  • Предоставить инструкцию по доступу к каждому компоненту (например, URL для веб-интерфейса или команды для проверки подключения к базе данных).

Содержание

Ход выполнения работы 5

Заключение 14

Ход выполнения работы

  1. Развернём локальный кластер Kubernetes с использованием kind (см. рис. 1):

Рисунок 1 – Создание кластера с использованием конфигурационного файла, проверка состояния кластера и нод

  1. Развернём в кластере приложения Nginx, PostgreSQL и Adminer (см. рис. 2-5):

Рисунок 2 – Создание файлов для развёртывания и создания Service Nginx, применение конфигураций

Рисунок 3 – Создание файлов для развёртывания и создания Service PostgreSQL, применение конфигураций

Рисунок 4 – Создание файлов для развёртывания и создания Service Adminer, применение конфигураций

Рисунок 5 – Настройка сети NAT

  1. Убедимся, что все компоненты работают корректно и взаимодействуют друг с другом (см. рис. 6-9):

Рисунок 6 – Проверка состояния компонентов кластера

Рисунок 7 – Веб-интерфейс Nginx

Рисунок 8 – Веб-интерфейс для входа в Adminer

Рисунок 9 – Успешный вход в Adminer

Также можно использовать Nginx как обратный прокси-сервер для Adminer. В этом случае Nginx будет принимать запросы от клиентов и перенаправлять их к Adminer через определённый URL, например, /adminer (см. рис. 10):

Рисунок 10 – Доступ к Adminer через Nginx

Для этого необходимо обновить конфигурационный файл развёртывания Nginx (см. рис. 11):

Рисунок 11 – Обновление конфигурации развёртывания Nginx

  1. Опишем, какие компоненты были выбраны, и как они связаны между собой, предоставим инструкцию по доступу к каждому компоненту:

  • Выбранные компоненты:

    • 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, а также навыки по настройке взаимодействия между несколькими компонентами в распределённой системе.