Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПКАПиИ_лабораторная_4.docx
Скачиваний:
1
Добавлен:
25.04.2025
Размер:
4.54 Mб
Скачать

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

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

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

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

__________________________________________________________________

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

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

Отчёт по лабораторной работе №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, а также развертывать приложения в кластере.

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

  1. Установка 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

  1. Установка 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

  1. Создание кластера с помощью kind

Создание кластера:

kind create cluster --name my-cluster

Эта команда создаст кластер с именем my-cluster. Если имя не указано, будет использовано имя по умолчанию kind.

После создания кластера проверим его состояние и его ноды:

kubectl cluster-info

kubectl get nodes

Рисунок 3 – Создание кластера с помощью kind

  1. Управление кластером

Удаление кластера:

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

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