Разворачивание Aitera MDM

Разворачивание тестового стенда системы Aitera MDM

Данный документ описывает технические требования и шаги по развёртыванию программного обеспечения у Заказчика с целью тестирования. Предназначен для DevOps-инженеров, системных администраторов и представителей заказчика.

От Заказчика требуется:

1.1. Предоставить сервер

Сервер (виртуальную машину) соответствующий аппаратным требованиям и с установленными необходимыми утилитами, helm-чартами и т.д. Либо только машину соответствующую аппаратным требованиям.

Аппаратные требования Программные требования
CPU: 4 ядра
RAM: 8 ГБ
Диск: 200 ГБ свободного места
Интернет-доступ: требуется
ОС: Ubuntu 22.04.3 LTS
Kubernetes: v1.31.6 + k3s1
Helm: v3.17.3
Требования к сетевой среде: TCP/5432, TCP/6443, TCP/443,
TCP/80, TCP/5672, TCP/6379, TCP/15672
1.2. Предоставить SSH-доступ к серверу
SSH-доступ:
IP-адрес / домен
Имя пользователя на сервере
Публичный SSH-ключ
Порт (если нестандартный)
Максимальные права доступа
1.3. Предоставить домен с сертификатом шифрования (обязательно)

Для работы нужен внешний с сертификатом шифрования (приобрести публичный сертификат или выпустить сертификат от Let’s Encrypt).

1.4. Предоставить SMTP-сервер

Нужен для рассылки писем на email администраторам: при добавлении нового администратора, для восстановления пароля.

Для подключения к SMTP-серверу нужно
Логин/Имя пользователя
Пароль
Адрес SMTP-сервера
Порт SMTP
Режим шифрования (STARTTLS / SSL)
Шаги развёртывания (общая последовательность)
  1. Подготовка окружения:
    • Установка Kubernetes, Helm;
    • Настройка сетевых правил;
    • Открытие необходимых портов.
  2. Запуск инфраструктуры:
    • Установка и настройка Helm-чартов PostgreSQL, RabbitMQ, Redis, Minio;
    • Запуск БД, кэша, очередей, S3-storage;
    • Проверка доступности.
  3. Развертывание приложения:
    • Установка и настройка EFK(Elastic + Filebeat + Kibana), Blackbox/Node exporter;
    • Установка и настройка Helm-чарта MDM;
    • Применение манифестов Kubernetes;
    • Запуск контейнеров;
    • Проверка логов и состояния подов.
  4. Настройка домена и SSL:
    • Прописать DNS-записи;
    • Загрузить/выпустить сертификаты;
    • Настроить Ingress.
  5. Проверка работоспособности:
    • Проверить доступность API/UI.
Архитектурная схема
[External User via Web-Service] 
    ↓ (HTTPS)
[Ingress Controller]
    ↓
[Microservices Pods]
    ↓
[Redis]
    ↓
[RabbitMQ]
    ↓
[PostgreSQL]
Сетевые проходы
Направление Протокол Порт Источник Назначение Комментарий
Внешний → Приложение HTTPS 443 Интернет / внутренняя сеть Ingress Для доступа пользователей
Внешний → Приложение HTTP 80 Интернет / внутренняя сеть Ingress Для доступа пользователей (редирект)
Приложение → БД TCP 5432 Под приложения База данных PostgreSQL
Приложение → Брокер TCP 5672 Под приложения Брокер сообщений RabbitMQ
Приложение → Кэш TCP 6379 Под приложения Кэш Redis
Мониторинг → Приложение HTTP 8080 Сервисы мониторинга База данных(метрик) Prometheus
Внешний → Мониторинг HTTP 3000 Сервисы мониторинга UI Grafana
Внешний → Брокер HTTP 15672 Под приложения UI брокера сообщений RabbitMQ-UI
  1. Конфигурирование системы

2. Конфигурирование системы

После развертывания необходимо настроить конфигурационный файл и указать ряд доступов.

  1. Для OAuth2 в Google (для доставки приложений на устройства):
"GoogleCredeintialsOptons": {
    "OAuth2Options": {
      "ClientId": "###.apps.googleusercontent.com",
      "ClientSecret": "###",
      "RefreshToken": "###"
    }
  },
  1. Для доступа в Android management (чтобы управлять устройствами на базе Android):
"AndroidServiceOptions": {
    "CredentialPath": "../../../../certs/android_service_account_credential.json",
    "AppName": "###",
    "OAuthScope": "https://www.googleapis.com/auth/androidmanagement"
  }
  1. Для Apple Push Notification - отправка уведомлений на iOS. Необходимо сгенерировать сертификат и указать.
"ApnsOptions": {
    "CertificatePath": "../../../../certs/mdm.p12",
    "CertificatePassword": "###"
  }
  1. Для отправки уведомлений через RuStore:
"PushOptions": {
    "FcmUrl": "https://vkpns.rustore.ru/v1/projects/###/messages:send",
    "ProjectId": "###",
    "AuthToken": "###",
    "IosTeamId": "###",
    "IosAuthKeyPath": "../../../../certs/AuthKey_###.p8",
    "IosKeyId": "###",
    "IosBundleId": "com.mdm.test"
  }

Корпоративный Google-аккаунт для APK/PWA

Для того чтобы добавлять на Android-устройства частные приложения (APK) или веб-приложения (PWA) необходимо зарегистрировать аккаунт разработчика Google Play и при первом добавлении APK/PWA войти с этой учетной записью. После этого вы сможете загружать в систему и распространять свои приложения среди пользователей системы.

Последнее обновление