Требования к системе
Требования к ОС
- На всех узлах кластера должна использоваться одна и та же версия ядра операционной системы (ОС).
- На всех узлах кластера должны быть установлены следующие пакеты:
- openssh-server;
- пакеты, необходимые для установки openssh-server.
Поддерживаемые операционные системы
Платформа работает под управлением следующих операционных систем:
Операционная система | Версия системы | Версия ядра |
---|---|---|
Astra Linux SE | 1.7 | 5.4.0–54-generic |
RHEL | 8.7 | 4.18 |
Debian | bullseye | 5.10 |
Ubuntu | focal | 5.4 |
Ubuntu | jammy | 5.15 |
RedOs | Murom, 7.3.4 | 5.10, 5.15, 6.1, 6.1.52 |
Rosa | Cobalt | 5.15 |
Rocky Linux | 8.7 | 4.18, 5.10 |
Alt Linux | SP | 5.10.* |
В качестве аппаратного обеспечения платформы требуется использовать физические серверы архитектуры x86 и/или виртуальные серверы под управлением oVirt версии не ниже 4.4 и/или VMware vSphere версии гипервизора не ниже 6.7 update 3.
Синхронизация времени
Инструкция по синхронизации времени на операционных системах:
- Для Astra Linux SE выполните следующие команды в терминале:
sudo apt-get install ntp
sudo systemctl start ntp
sudo systemctl enable ntp
- Для Debian выполните следующие команды в терминале:
sudo apt-get install ntp
sudo systemctl start ntp
sudo systemctl enable ntp
- Для Ubuntu выполните следующие команды в терминале:
sudo apt-get install ntp
sudo systemctl start ntp
sudo systemctl enable ntp
- Для RedOs выполните следующие команды в терминале:
sudo yum install ntp
sudo systemctl start ntpd
sudo systemctl enable ntpd
- Для Rosa выполните следующие команды в терминале:
sudo apt-get install ntp
sudo systemctl start ntp
sudo systemctl enable ntp
- Для Rocky Linux выполните следующие команды в терминале:
sudo yum install chrony
sudo systemctl start chronyd
sudo systemctl enable chronyd
- Для RHEL выполните следующие команды в терминале:
sudo yum install chrony
sudo systemctl start chronyd
sudo systemctl enable chronyd
- Для Alt Linux выполните следующие команды в терминале:
sudo apt-get install chrony
sudo systemctl start chronyd
sudo systemctl enable chronyd
Вышеперечисленные операционные системы используют программы NTP или Chrony для синхронизации времени. После выполнения команд, система будет синхронизирована с серверами времени.
Системные требования
Кластер управления должен состоять как минимум из одного Master- и трех Worker-узлов. Для обеспечения отказоустойчивости кластер управления должен состоять как минимум из трех Master- и трех Worker-узлов. Кластер управления требуется устанавливать на технические средства с конфигурацией, указанной в таблицах ниже.
Конфигурация сети должна отвечать следующим положениям:
- Для виртуальных IP-адресов ControlPlane всегда используется второй IP-адрес в выделенной подсети.
- Все узлы кластера имеют доступ к зеркалу (Registry).
Клиентский кластер должен состоять как минимум из одного Master- и двух Worker-узлов. Для обеспечения отказоустойчивости кластер должен состоять как минимум из трех Master- и двух Worker-узлов. Для клиентского кластера предъявляются требования к количеству и вычислительным ресурсам серверов, указанные в таблицах ниже.
Количество узлов в кластере определяется требованиями к вычислительным ресурсам прикладного ПО с учетом факторов резервирования и механизмов обновления.
При превышении загрузки на значение более 80% ресурса рекомендуется добавлять дополнительный узел.
Метрики хранятся 7 дней, логи ротируются по заполнению.
Минимальные системные требования для кластера управления
Параметр | CPU (vCPU) | Memory (GiB) | Disk (GiB) | IOPS |
---|---|---|---|---|
Зеркало (Registry) | 2 | 4 | 150 | 300 |
Master-узел | 4 | 16 | 100 | 600 |
Worker | 8 | 32 | 300 | 600 |
Рекомендуемые системные требования для кластера управления
Параметр | CPU (vCPU) | Memory (GiB) | Disk (GiB) | IOPS |
---|---|---|---|---|
Зеркало (Registry) | 4 | 16 | 300 | 300 |
Master-узел | 12 | 16 | 200 | 600 |
Worker | 16 | 64 | 800 | 600 |
Для клиентских кластеров введено понятие инфраструктурного узла - Infra Worker - это такой Worker узел, на котором развернуты системные сервисы кластера. Требования ресурсам для развертывания кастомных сервисов зависят от нагрузки самих сервисов.
Минимальные системные требования для клиентского кластера
Параметр | CPU (vCPU) | Memory (GiB) | Disk (GiB) | IOPS |
---|---|---|---|---|
Master-узел | 4 | 16 | 100 | 600 |
Worker | 2 | 8 | 100 | 300 |
Infra Worker | 4 | 16 | 300 | 300 |
Рекомендуемые системные требования для клиентского кластера
Параметр | CPU (vCPU) | Memory (GiB) | Disk (GiB) | IOPS |
---|---|---|---|---|
Master-узел | 12 | 16 | 200 | 600 |
Worker | 2 | 8 | 100 | 300 |
Infra Worker | 16 | 16 | 800 | 600 |
Требования к балансировщику нагрузки
При использовании внешнего балансировщика сетевой нагрузки предъявляются следующие требования:
- Балансировку сетевой нагрузки требуется реализовывать только на уровне L4.
- Сетевой балансировщик должен поддерживать механизм сохранения выбора конечного узла на основании IP-адреса источника.
Пример конфигурации HAProxy
#---------------------------------------------------------------------
# myclustername cluster
#---------------------------------------------------------------------
frontend myclustername-api-server
bind 10.11.12.100:6443
default_backend myclustername-api-server
mode tcp
backend myclustername-api-server
balance source
mode tcp
server master1 10.11.13.1:6443 check
server master2 10.11.13.2:6443 check
server master3 10.11.13.3:6443 check
frontend myclustername-ingress-http
bind 10.11.12.100:80
default_backend myclustername-ingress-http
mode tcp
option tcplog
backend myclustername-ingress-http
balance source
mode tcp
server worker1 10.11.13.4:30080 check
server worker2 10.11.13.5:30080 check
frontend myclustername-ingress-https
bind 10.11.12.100:443
default_backend myclustername-ingress-https
mode tcp
option tcplog
backend myclustername-ingress-https
balance source
mode tcp
server worker1 10.11.13.4:30443 check
server worker2 10.11.13.5:30443 check
# где
# 10.11.13.100 - IP внешнего балансировщика
# 10.11.13.1 - master1
# 10.11.13.2 - master2
# 10.11.13.3 - master3
# 10.11.13.4 - worker1
# 10.11.13.5 - worker2
Требования к хостам
Хост с зеркалом
- Отключен selinux (permissive или disabled)
- Открыты и свободны порты Nginx (параметры http-port и https-port, по умолчанию 80 и 443)
- На хосте не установлен container runtime. Зеркало устанавливает свой podman. Работа с другим podman не гарантируется. Работа с docker на данный момент не поддерживается.
Узлы кластера
- должны резолвить хост с зеркалом по действующему FQDN;
- SElinux не должен быть в статусe disabled. Если SElinux в статусе disabled – до начала установки необходимо изменить конфиг
/etc/selinux/config
и перезагрузить хост; - недоступные репозитории должны быть отключены или удалены (например, родные репозитории дистрибутива);
- для linux пользователя должен быть создан домашний каталог в операционной системе (например, /home/shturval)
Требования к IP-адресам
IP-адреса узлов не должны изменяться в процессе эксплуатации кластера. Чтобы заменить узел кластера, необходимо вывести его из состава кластера, а затем добавить в кластер с новым адресом.
Требования к Master-узлам
IP-адреса Master-узлов кластера должны принадлежать одному широковещательному сегменту сети передачи данных и одной подсети.
Требования к виртуальным IP-адресам
- Для установки одного кластера требуется два виртуальных IP адреса (VIP адреса), т. е. они не должны быть настроены на каком-либо узле кластера.
- Первый VIP-адрес должен принадлежать той же подсети, что и IP-адреса узлов с ролью Master. Он используется для API-сервера кластера.
- Второй VIP-адрес должен использоваться на сетевом балансировщике нагрузки.
ПО может быть развернуто с доступом в сеть Интернет или без доступа сеть Интернет
Требования к доступам в сеть Интернет
При развертывании ПО с использованием сети Интернет всем узлам в кластере должен быть предоставлен доступ к r.shturval.tech.
Для подключения к указанным ресурсам требуется прямой доступ (использование прокси-серверов не поддерживается).
Требования к сетевым именам
Требования к сетевым именам узлов кластера
Каждый узел кластера должен иметь уникальное сетевое имя. Полностью определенное сетевое имя узла кластера должно быть корректным субдоменом DNS.
Сетевое имя узла кластера должно быть валидным DNS именем с длиной не более 63 символов.
Требования к сетевому имени кластера
Каждый кластер должен иметь уникальное сетевое имя. Это имя в сочетании с DNS-именем, которое используется в организации должно быть корректным субдоменом DNS.
(<cluster_name>.<base_domain>)
Сетевое имя кластера должно быть валидным DNS именем с длиной не более 63 символов.
Система доменных имен
Предъявляются следующие требования:
- В системе DNS должна быть создана зона.
- Для каждого узла кластера должны быть созданы записи с типом A в единственной доменной зоне.
- Созданные записи должны соответствовать следующим положениям, изложенным в таблице ниже.
Требования к DNS записям
Компонент | Запись | Комментарий |
---|---|---|
API-сервер | api.<shturval_cluster_name>.<base_domain>. | А-запись для программного интерфейса приложений управляющего кластера |
Ingress | *.apps.<shturval_cluster_name>.<base_domain>. | Wildcard-запись для доступа к прикладным функциям кластера управления |
API-сервер | api.<client_cluster_name>.<base_domain>. | А-запись для программного интерфейса приложений клиентского кластера |
Ingress | *.apps.<client_cluster_name>.<base_domain>. | Wildcard-запись для доступа к приложениям клиентского кластера |
- <base_domain> – DNS-зона организации;
- <shturval_cluster_name> – имя кластера управления;
- <client_cluster_name> – имя клиентского кластера.
Сетевые требования для удаленного доступа
- OpenSSH-сервис на каждом сервере должен отслеживать входящие подключения на порте TCP 22.
- На каждом сервере должна быть создана сервисная учетная запись пользователя. Имя сервисной учетной записи должно быть одинаковым для всех узлов кластера.
- На каждом сервере должна быть настроена аутентификация с использованием публичного ключа. Ключ должен быть одинаковым на всех серверах.
- В сервисной учетной записи должны быть настроены права на выполнение команды sudo без указания пароля.
Требования к работе в графическом интерфейсе
Корректная работа и доступность графического интерфейса платформы поддерживается в браузерах:
Браузер | Версия |
---|---|
Chrome | 99-126, 127, 128-130 |
Chrome for Android | 127 |
Edge | 99-126, 127 |
Safari, Safari on IOS | 15.4-17.4, 17.5, 17.6-18.0 |
Firefox | 93-128, 129, 130-132 |
Opera | 85-110, 111 |
Samsung Internet | 18.0-24, 25 |
Opera Mobile | 80 |
Android Browser | 127 |
Firefox for Android | 127 |
Браузеры, из которых графический интерфейс недоступен:
- IE;
- Opera Mini;
- UC Browser for Android;
- QQ Browser;
- Baidu Browser;
- KaiOS Browser.