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

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

Для корректной работы Sage проверьте соответствие инфраструктуры следующим требованиям.

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

Важно: Установка производится с отдельного хоста, с которого должны быть доступны все сервера, используемые для развертывания 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

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

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

Для систем с пакетным менеджером apt

ПакетВерсия
docker-ce-cli5:20.10.*
docker-ce5:20.10.*
docker-compose-plugin2.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-cli1:20.10.*
docker-ce4:20.10.*
docker-compose2.29.2*
python3-psycopg2>= 2.5.1
python3-docker
python3-pip
gnupg2
ca-certificates
curl
postgresql13
libpq-devel

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

Параметры ядра Linux

Убедитесь, что на хостах, где будут развернуты компоненты 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

Установите рекомендованные настройки 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 для унификации среды развертывания
Доступ ко всем хостамПользователь должен иметь возможность авторизоваться на всех хостах установки
Права sudoДолжен быть включен в группу sudo или wheel для выполнения привилегированных операций

Предоставление прав sudo

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

  1. Добавление в /etc/sudoers с разрешением на выполнение команд без ввода пароля (NOPASSWD):

    sage ALL=(ALL) NOPASSWD:ALL
  2. Добавление в группу sudo (Debian-based) или wheel (RHEL-based)

  3. Создание файла /etc/sudoers.d/sage:

    echo 'sage ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/sage
    chmod 440 /etc/sudoers.d/sage

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

Все DNS-имена хостов должны:

ТребованиеОписание
Корректно резолвитьсяDNS-запросы должны обслуживаться соответствующими DNS-серверами (без использования hosts-файлов)
Принадлежать единому поддоменуДля генерации TLS-сертификатов и работы с registry
Быть полными (FQDN)Использование коротких имен (shortnames) запрещено

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

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

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