
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ
Ордена Трудового Красного Знамени
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
__________________________________________________________________
Кафедра «Сетевых информационных технологий и сервисов (СИТиС)»
Дисциплина «Программно-конфигурируемая архитектура приложений и инфраструктуры»
Отчёт по лабораторной работе №4 на тему:
«Знакомство с Kubernetes»
Выполнили: студенты гр. БСТ2104
Проверили:
Москва, 2025 г.
Задание
1. Установить утилиты kubectl и kind для работы с Kubernetes.
2. Создать локальный кластер Kubernetes с использованием kind.
3. Развернуть в кластере приложения PostgreSQL и Adminer, используя YAML-файлы для описания Deployment и Service.
4. Проверить работоспособность кластера и взаимодействие между компонентами.
5. Изучить команды для управления кластером, включая удаление и пересоздание подов и сервисов.
После установки оформить отчет, приложить скриншоты выполнения и ответить на контрольные вопросы.
Содержание
Цель работы 4
Ход выполнения работы 5
Вывод 13
Ответы на вопросы 14
Цель работы
Освоить базовые принципы работы с Kubernetes, научиться устанавливать и настраивать локальный кластер с использованием инструмента kind, а также развертывать приложения в кластере.
Ход выполнения работы
Установка kubectl
Ставим утилиту по инструкции для linux внутри виртуальной машины:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl".
Выдаем права на исполнение скачанному файлу:
chmod +x kubectl
Перемещаем двоичный файл в системный путь (например, /usr/local/bin):
sudo mv ./kubectl /usr/local/bin/kubectl
Рисунок 1 – Установка утилиты kubectl
Установка kind
Аналогично устанавливаем Kind:
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64
Выдаем права на исполнение скачанному файлу:
chmod +x ./kind
Перемещаем двоичный файл в системный путь
sudo mv ./kind /usr/local/bin/kind
Смотрим текущую версию:
kind version
Рисунок 2 – Установка утилиты kind
Создание кластера с помощью kind
Создание кластера:
kind create cluster --name my-cluster
Эта команда создаст кластер с именем my-cluster. Если имя не указано, будет использовано имя по умолчанию kind.
После создания кластера проверим его состояние и его ноды:
kubectl cluster-info
kubectl get nodes
Рисунок 3 – Создание кластера с помощью kind
Управление кластером
Удаление кластера:
kind delete cluster --name my-cluster
Рисунок 4 – Удаление кластера с помощью kind
Создание кластера с использованием конфигурационного файла YAML:
Рисунок 5 – Содержимое файла kind-config.yaml
Создание кластера с использованием этого файла:
kind create cluster --name my-cluster --config kind-config.yaml
Просмотр списка кластеров:
kind get clusters
Рисунок 6 – Создание кластера с помощью файла kind-config.yaml
Создание кластера Kubernetes с PostgreSql и Adminer
Для создания кластера Kubernetes с PostgreSQL и Adminer, которые будут взаимодействовать между собой, мы используем kind для создания кластера и YAML-файлы для развертывания PostgreSQL и Adminer.
Рисунок 7 - Создание файла конфигурации для кластера
Создание кластер:
kind create cluster --name my-cluster --config kind-cluster.yaml
Проверка, что кластер создан:
kubectl get nodes
Рисунок 8 - Создание кластера
Рисунок - Создание файла конфигурации для развертывания PostgreSQL
Рисунок 9 - Создание файла конфигурации для создания postgres Service
Рисунок 10 - Создание файла конфигурации для развертывания Adminer
Рисунок 11 - Создание файла конфигурации для создания adminer Service
Применим конфигурации для развертывания PostgreSQL и Adminer:
kubectl apply -f postgres-deployment.yaml
kubectl apply -f postgres-service.yaml
kubectl apply -f adminer-deployment.yaml
kubectl apply -f adminer-service.yaml
Рисунок 12 - Развертывание YAML файлов
Проверьте, что все компоненты созданы:
kubectl get deployments
kubectl get pods
kubectl get svc
Рисунок 13 - Проверка, что все компоненты созданы
Adminer будет доступен через порт 30000 на вашем хосте. Откроем браузер и перейдем по адресу: http://localhost:30000
Рисунок 14 - Настройка портов
Рисунок 15 - Страница входа в Adminer
На странице входа в Adminer:
Система: PostgreSQL
Сервер: postgres (имя сервиса PostgreSQL в Kubernetes)
Пользователь: admin
Пароль: password
База данных: mydb
Рисунок 16 - Авторизация в Adminer
Рисунок 17 - Страница входа в Adminer
Удаляем кластер его:
kind delete cluster --name my-cluster
Рисунок 18 - Удаление кластера
Вывод
Освоили базовые принципы работы с Kubernetes, научились устанавливать и настраивать локальный кластер с использованием инструмента kind, а также развертывать приложения в кластере.