М
инистерство
цифрового развития, Связи и Массовых
Коммуникаций Российской Федерации
Ордена Трудового Красного Знамени
федеральное государственное бюджетное образовательное
учреждение высшего образования
«Московский Технический Университет
Связи и Информатики» (МТУСИ)
Кафедра «Сетевые информационные технологии и сервисы»
Отчёт по лабораторной работе №4
по учебной дисциплине:
«Программно-конфигурируемая архитектура приложений и инфраструктуры»
на тему:
«Знакомство с Kubernetes»
Выполнил:
студент 5 курса группы БСТ2154
Архангельский Максим Вячеславович
Проверил: ст. преп.
Маклачкова Виктория Валентиновна
Москва 2025
Цель работы
Освоить базовые принципы работы с Kubernetes, научиться устанавливать и настраивать локальный кластер с использованием инструмента kind, а также развертывать приложения в кластере.
Задание
Установить утилиты kubectl и kind для работы с Kubernetes.
Создать локальный кластер Kubernetes с использованием kind.
Развернуть в кластере приложения PostgreSQL и Adminer, используя YAML-файлы для описания Deployment и Service.
Проверить работоспособность кластера и взаимодействие между компонентами.
Изучить команды для управления кластером, включая удаление и пересоздание подов и сервисов.
После установки оформить отчет, приложить скриншоты выполнения и ответить на контрольные вопросы.
Для работы нам понадобятся утилита kubectl и локальный кластер kubernetes. Мы рассматриваем установку кластера в ваших виртуалках, поэтому используем утилиту kind.
Ход выполнения работы
Установим утилиты kubectl и kind для работы с Kubernetes, как показано на рисунках 1 и 2
Рисунок 1 – Установка утилиты kubectl
Рисунок 2 – Установка утилиты kind
Создадим локальный кластер Kubernetes с использованием kind, как показано на рисунках 3, 4 и 5:
Рисунок
3 – Создание кластера, проверка состояния
кластера и нод
Рисунок 4 – Создание кластера с использованием конфигурационного файла YAML
Рисунок
5 – Экспорт конфигурации кластера и
удаление кластера
Чтобы остановить Pod, можем удалить его командой, как показано на рисунке 6:
Рисунок 6 – Удаление Pod и автоматическое пересоздание новым экземпляром
Остановим Adminer, установив число реплик равным нулю и вернём приложение, увеличив количество реплик до 3, как показано на рисунке 7.
Рисунок 7 — Масштабирование Deployment adminer
Для отключения сетевого доступа к приложению можно удалить Service, а также чтобы восстановить Service Adminer, применим YAML-файл, как показано на рисунке 8:
Рисунок 8 — Удаление и повторное создание Service adminer
Для удаления существующего кластера используем команду kind и создадим кластер заново с использованием конфигурационного файла, как продемонстрировано на рисунке 9:
Рисунок 9 — Удаление и повторное создание кластера kind с использованием конфигурационного файла
После пересоздания кластера необходимо снова применить YAML-файлы, отвечающие за развёртывание PostgreSQL и Adminer, как показано на рисунке 10:
Рисунок 10 — Применение YAML-файлов для развертывания PostgreSQL и Adminer в новом кластере
Проверка работоспособности кластера и развернутых приложений продемонстрирована на рисунке 11:
Рисунок 11 — Проверка состояния кластера и запущенных pod
Создадим конфигурационный файл postgres-deployment.yaml, описывающий
Deployment
для PostgreSQL (см. рис. 12):
Рисунок 12 — Файл конфигурации Deployment для PostgreSQL
Создадим Service для PostgreSQL (см. рис. 13):
Рисунок 13 — Файл конфигурации Service для PostgreSQL
Создадим
файл adminer-deployment.yaml для
Adminer (см. рис.
14):
Рисунок 14 — Файл конфигурации Deployment для Adminer
Создадим
Service для Adminer (NodePort) (см.
рис. 15):
Рисунок 15 — Файл конфигурации NodePort-Service для Adminer
Применение конфигурационных файлов (развёртывание приложений) (см. рис. 16):
Рисунок 16 — Применение конфигураций и запуск pod PostgreSQL и Adminer
Проверим доступ и работоспособность приложений (см. рис. 17):
Рисунок 17 — Проверка состояния кластера и развернутых приложений PostgreSQL и Adminer
После развёртывания сервисов Adminer и PostgreSQL Adminer опубликован в кластере как сервис типа NodePort на порту 30000, проверим это (см. рис. 18):
Рисунок 18 – Отображение сервиса adminer с типом NodePort (порт 30000)
Чтобы получить доступ к web-интерфейсу
Adminer из браузера хостовой ОС, настроем
проброс порта 30000 на виртуальную машину
(см. рис. 19):
Рисунок 19 – Настройка проброса порта 30000 на виртуальную машину
После настройки проброса порта переходим по адресу http://localhost:30000
(см.
рис. 20):
Рисунок 20 – Окно авторизации Adminer
Для подключения к развернутой в кластере
базе данных вводим параметры,
соответствующие настройкам Deployment
PostgreSQL (см. рис. 21):
Рисунок 21 – Успешное подключение к базе данных mydb через Adminer
