Перейти к основному содержимому
Версия: 1.12

Требования

Требования при работе с программным обеспечением

Для корректной работы программного обеспечения проверьте следующие требования:

Требования к серверной инфраструктуре

Обратите внимание, что установка производится с отдельного хоста, с которого должны быть доступны все сервера, используемые для развертывания Sage.

Для расчета конфигурации инсталяции обратитесь к менеджеру Т-Банка. Также есть подготовленные конфигурации (Флейворы), которые можно использовать.

Флейворы — это преднастроенные конфигурации для установки Sage. Они представляют собой набор параметров ресурсов виртуальных машин и готовые сценарии установки, позволяющие быстро развернуть Sage под определённую нагрузку.

На текущий момент доступны два флейвора:

  • 1VM — предназначен для установки всех компонентов Sage на одну виртуальную машину или baremetal сервера. Подходит для демонстрации работы Sage и тестовых окружений.

  • 3VM — предназначен для установки на три виртуальные машины или baremetal сервера. Подходит для демонстрации работы Sage в отказоустойчивом режиме и тестовых окружений.

Требования к контрольному хосту

  • Операционная система:
    • Ubuntu 20.04 (Focal Fossa);
    • Ubuntu 22.04 (Jammy Jellyfish);
    • Astra Linux 1.7 (Орёл);
    • Astra Linux 1.8 (Орёл);
  • Установленный Docker Engine версии 20.10 или выше;
  • Установленный GNU bash версии 5.0 или выше;
  • Установленный OpenSSH версии 8.2 или выше, наличие следующих команд:
    • ssh;
    • ssh-add;
    • ssh-agent.
  • Установленный OpenSSL версии 3.0.0 или выше;
  • Установленный jq версии 1.6 или выше

Требования к серверам Sage

На всех хостах Sage должны быть доступны следующие пакеты:

  • Python-пакет docker.

  • Для систем, использующих пакетный менеджер apt:

    • docker-ce-cli версии 5:20.10.*
    • docker-ce версии 5:20.10.*
    • docker-compose-plugin версии 2.29.2*
    • python3-psycopg2 версии >= 2.5.1
    • python3-docker
    • python3-pip
    • gnupg2
    • apt-transport-https
    • ca-certificates
    • curl
    • postgresql-client
    • libpq-dev
  • Для систем, использующих пакетный менеджер dnf:

    • docker-ce-cli версии 1:20.10.*
    • docker-ce версии 4:20.10.*
    • docker-compose версии 2.29.2*
    • python3-psycopg2 версии >= 2.5.1
    • python3-docker
    • python3-pip
    • gnupg2
    • ca-certificates
    • curl
    • postgresql13
    • libpq-devel

Установка пакетов допускается из локальных репозиториев, которые должны быть настроены к началу развертывания Sage.

Убедитесь, что на хостах, где будут развернуты компоненты Sage, верно выставлены параметры ядра:

net.ipv4.tcp_retries2 = 5
vm.admin_reserve_kbytes = 64000
vm.max_map_count = 262144
vm.swappiness = 1
vm.user_reserve_kbytes = 256000

Вы можете проверить эти параметры, выполнив серию команд на каждом из хостов, где буду устаналиваться компоненты програмного обеспечения:

sysctl net.ipv4.tcp_retries2
sysctl vm.admin_reserve_kbytes
sysctl vm.max_map_count
sysctl vm.swappiness
sysctl vm.user_reserve_kbytes

Рекомендованные настройки Docker daemon на серверах Sage

Установите рекомендованные настройки Docker в /etc/docker/daemon.json:

{
"bridge": "none",
"data-root": "/srv/docker",
"default-ulimits": {
"memlock": {
"Hard": -1,
"Name": "memlock",
"Soft": -1
},
"nofile": {
"Hard": 65536,
"Name": "nofile",
"Soft": 65536
},
"nproc": {
"Hard": 4096,
"Name": "nproc",
"Soft": 4096
}
},
"live-restore": true,
"log-driver": "json-file",
"log-opts": {
"env": "{{ prod }}",
"max-file": "2",
"max-size": "100m"
},
"storage-driver": "overlay2"
}

Требования к учетной записи для установки Sage

Учетная запись для установки и управления Sage

  • Устанавливать Sage нужно от имени отдельного пользователя, который будет использоваться вместо root.
  • Это требование обусловлено принципами безопасности и минимизации привилегий, что позволяет ограничить потенциальные риски при установке и эксплуатации.
  • Логин и пароль этого пользователя должны быть известны инженеру, который отвечает за развертывание Sage.

Имя пользователя

В качестве стандартного имени пользователя рекомендуется использовать sage. Это имя выбрано для унификации среды развертывания и упрощения инструкций, автоматизации и скриптов.

Возможность входа на все хосты установки

Пользователь под учетной записью для управления Sage должен иметь возможность авторизоваться на всех хостах, где будет выполняться установка Sage.

Права на выполнение команд через sudo

Учетная запись для управления Sage должна быть включена в группу sudo или wheel (в зависимости от дистрибутива Linux), чтобы иметь возможность выполнять привилегированные операции.

Доступ к sudo может быть предоставлен одним из способов:

  • Добавление пользователя в /etc/sudoers с разрешением на выполнение команд без ввода пароля (NOPASSWD) для удобства автоматизации.
  • Добавление пользователя в группу sudo (Debian-based) или wheel (RHEL-based).
  • Добавление строки sage ALL=(ALL) NOPASSWD:ALL в файл /etc/sudoers.d/sage.

Требования к разрешению DNS-имен

Чтобы сертификаты и компоненты Sage работали корректно, а DNS-имена хостов были совместимы с системами аутентификации, все DNS-имена хостов должны:

  • Корректно резолвиться с контрольного хоста и любого другого хоста, принадлежащего Sage. Это означает, что DNS-запросы должны обслуживаться соответствующими DNS-серверами, доступными с этих хостов (без использования hosts файлов).

  • Принадлежать единому поддомену, который будет использоваться для генерации TLS-сертификатов и работы с registry. Это нужно для унификации управления сертификатами и для упрощения обслуживания и автоматизации процессов.

  • Быть полными (FQDN) и включать полный путь в доменной иерархии. Использование коротких имен (shortnames) запрещено – все сервисы и узлы должны быть доступны только по полным доменным именам.

Доменные имена

Должно быть предоставлено несколько доменных имён:

  1. Основной домен Sage — точка входа для пользователей (например: sage.example.com)
  2. Wildcard-домен для внутренней балансировки — нужен для организации отказоустойчивого взаимодействия между внутренними компонентами Sage (например: *.internal.sage.example.com). Не требуется для флейворов 1VM и 3VM.
  3. Домен для Spirit — системы управления группами Sage и правами пользователей (например: sage-spirit.example.com). Опционален для флейворов 1VM и 3VM.

Требования к доменным именам:

  • Основной домен Sage и домен для Spirit не должны быть поддоменами один другого: например нельзя сделать основной домен sage.example.com, а для Spirit взять spirit.sage.example.com. Это важно для правильной работы аутентификации.

  • Все перечисленные доменные имена должны быть сконфигурированы таким образом, чтобы доставлять трафик на пул балансировщиков Sage. Можно использовать L4-балансировщик, Virtual IP или Anycast IP.

Требования к сетевой инфраструктуре

Для корректной установки программного обеспечения сетевая инфраструктура должна соответствовать следующим требованиям:

  • Пропускная способность канала – не менее 100 Мбит/с;
  • Доступ по HTTPS, SSH между всеми хостами кластера Sage и контрольным хостом.

Ограничение сетевого трафика

Если вы будете ограничивать трафик между хостами Sage, то вам понадобится явно разрешить доступ между хостами Sage по определенным портам, необходимым для внутреннего взаимодействия компонентов.

Подробную инструкцию о получении списка портов вы можете посмотреть в разделе «Получение списка портов» в конце документации.

Требования к клиентской части

Клиент получает доступ к программному обеспечению через любой Интернет-браузер на основе свободного браузера Chromium.