Обзор развертывания MicroK8s на сервере¶
Предварительные требования¶
Для успешного развертывания системы должны быть соблюдены следующие условия:
-
Операционная система: Ubuntu.
-
Права доступа: Пользователь с правами
root. -
Пакетный менеджер: Наличие установленного
snapdи возможности использованияapt.
Процесс установки приложения¶
Развертывание системы выполняется в несколько этапов:
-
Подготовка среды: Установка Docker и обновление индексов пакетов
apt. -
Установка компонентов управления контейнерами: Установка пакетного менеджера
snapdи развертывание MicroK8s версии1.31/stable. -
Настройка прав: Добавление пользователя в группу
microk8sдля обеспечения доступа к управлению кластером. -
Активация сервисов: Включение необходимых дополнений (addons) внутри MicroK8s:
-
dns(служба разрешения имен); -
hostpath-storage(локальное хранилище данных); -
dashboard(графический интерфейс управления). -
Настройка инструментов: Создание псевдонима для команды
kubectl, чтобы упростить управление кластером через стандартную командуkubectl.
Контейнеры Docker и их запуск¶
В системе используется один вспомогательный контейнер для обеспечения работы прокси-сервера и управления SSL-сертификатами:
| Имя образа | Порты | Тома (volumes) | Переменные окружения | Политика перезапуска |
|---|---|---|---|---|
jonasal/nginx-certbot:latest | network_mode: host | nginx_secrets:/etc/letsencrypt, /data/nginx/user_conf.d:/etc/nginx/user_conf.d | CERTBOT_EMAIL=hkadm@hostkey.com (из файла /data/nginx/nginx-certbot.env) | unless-stopped |
Доступные порты для подключения¶
После завершения установки доступны следующие интерфейсы:
-
Порт 10443: Доступ к графическому интерфейсу управления (Kubernetes Dashboard) через локальный проброс порта.
-
Порт 443/80: Используются контейнером Nginx для обработки веб-трафика и получения SSL-сертификатов (в режиме
host).
Прокси серверы (Nginx, SSL, домены)¶
Для управления входящим трафиком и автоматического получения SSL-сертификатов используется контейнер nginx-certbot. Конфигурация Nginx подтягивается из директории /data/nginx/user_conf.d на хостовой машине. Для работы сертификатов используются внешние тома, хранящие данные в /etc/letsencrypt.