Топология#
На этой стадии необходимо выбрать топологию платформы и подготовить соответствующие ресурсы.
В обзоре архитектуры вы познакомились с двумя протестированными вариантами топологии, их особенностями, преимуществами и недостатками. Это позволило вам определить вариант топологии, наиболее подходящий для ваших бизнес-планов. Следующий шаг состоит в планировании и подготовке ресурсов для выбранной топологии.
Ресурсы Kubernetes#
Для развертывания центральных компонентов Astra Automation необходим кластер Kubernetes. Кластер может быть в собственном центре обработки данных или в облаке, см. Примеры подготовки кластера Kubernetes.
Необходимое количество ресурсов как в кластере Kubernetes, так и за его пределами существенно зависит от выбранной топологии.
Ресурс |
Базовая |
Уровень предприятия |
|---|---|---|
PG gateway pod |
1 |
3+ |
AC web pod |
1 |
3+ |
AC task pod |
1 |
3+ |
Automation Mesh ingress |
1 |
3+ |
PAH web pod |
1 |
3+ |
PAH api pod |
1 |
3+ |
PAH worker pod |
1 |
3+ |
PAH redis pod |
1 |
3+ |
PAH content pod |
1 |
3+ |
PAH content storage |
External |
External |
EDA api pod |
1 |
3+ |
EDA activation pod |
1 |
3+ |
EDA worker pod |
1 |
3+ |
EDA stream pod |
1 |
3+ |
EDA scheduler pod |
1 |
3+ |
Redis pod |
1 |
6+ |
PostgreSQL |
Pod + PV |
External |
Execution plane |
External execution node |
External execution nodes + hop |
В таблице использованы следующие сокращения:
PG – Platform Gateway;
AC – Automation Controller;
PAH – Private Automation Hub;
EDA – контроллер Event-Driven Automation;
PV – Kubernetes Persistent Volume.
Базовая топология#
В базовой топологии для развертывания Astra Automation используется минимальное количество ресурсов.
Для обслуживания различных сегментов инфраструктуры Automation Controller подключается к сети Mesh, в которой установлены исполняющие узлы.
Требования к рабочему узлу Kubernetes#
Минимальные требования к рабочему узлу, на котором развертываются все центральные компоненты Astra Automation:
количество ядер CPU: 4;
объема RAM: 16 ГБ;
дисковое пространство: 100 ГБ;
скорость операций ввода-вывода, IOPS: 3000.
Требования к сетевому хранилищу#
Хранить контент приватного реестра рекомендуется в хранилище S3, размеры которого зависят от объема контента. Для хранения контента, полученного из облачного реестра Automation Hub, необходимо зарезервировать 3 ГБ пространства. Для загрузки дополнительного контента, например из Ansible Galaxy, может понадобиться в несколько раз больший объем, но обычно не более 40 ГБ.
Требования к исполняющему узлу Astra Automation#
Для ВМ, используемой для установки исполняющего узла (exec node), предъявляются следующие минимальные требования.
Параметр |
Значение |
|---|---|
Количество ядер CPU |
8 |
Объем RAM |
16 GB |
Дисковое пространство |
60 GB |
Тип дискового накопителя |
SSD |
IOPS |
3000 |
Настройка сетевых фильтров#
Для обеспечения взаимодействия компонентов платформы необходимо обеспечить установление требуемых сетевых связей по соответствующим портам TCP как представлено в таблице.
Источник |
Назначение |
Служба |
Порт TCP |
|---|---|---|---|
Admin workstation |
Kubernetes cluster |
HTTPS |
6443 |
User workstation |
Platform Gateway |
HTTP/HTTPS |
80/443 |
Content pod |
External S3 |
HTTPS |
443 |
Automation Controller |
Execution node |
Receptor |
27199 |
Execution node |
Platform Gateway |
HTTP/HTTPS |
80/443 |
Execution node |
Управляемый сегмент |
SSH |
22 |
Топология уровня предприятия#
Эта топология по сравнению с предыдущей преследует две основные цели, для достижения которых применяются соответствующие изменения:
Для обеспечения высокой доступности все ресурсы Kubernetes имеют несколько реплик (обычно 3) на разных рабочих узлах кластера. Для еще большего повышения уровня доступности используют кластер Kubernetes, распределенный по зонам доступности.
Для управления сложными распределенными инфраструктурами задействована сеть Mesh, в которой предусматривают распределение нагрузки по множеству исполняющих узлов (exec nodes) с применением переходных узлов (hop nodes) для маршрутизации трафика. Для критически важных сегментов используют несколько исполняющих узлов.
Требования к рабочему узлу Kubernetes#
Минимальные требования к ресурсам для развертывания всех центральных компонентов Astra Automation с учетом только одной реплики для каждого Kubernetes pod, остаются теми же, что и для базовой топологии:
количество ядер CPU: 4;
объема RAM: 16 ГБ;
дисковое пространство: 100 ГБ;
скорость операций ввода-вывода, IOPS: 3000.
Примечание
Для оценки полного объема требуемых ресурсов надо учитывать количество реплик.
Требования к сетевому хранилищу#
Хранить контент приватного реестра рекомендуется в хранилище S3, размеры которого зависят от объема контента. Для хранения контента, полученного из облачного реестра Automation Hub, необходимо зарезервировать 3 ГБ пространства. С учетом дальнейшего расширения рекомендуемый объем составляет 40 ГБ.
Требования к исполняющему и переходному узлам Astra Automation#
Для ВМ, используемой для установки переходного или исполняющего узла, предъявляются следующие минимальные требования.
количество ядер CPU: 8;
объема RAM: 16 ГБ;
дисковое пространство: 60 ГБ;
скорость операций ввода-вывода, IOPS: 3000.
Требования к внешней СУБД PostgreSQL#
Astra Automation работает только с PostgreSQL версии 15 с установленным расширением hstore. Критически важными являются следующие характеристики:
Для каждого из следующих компонентов Astra Automation необходимо наличие базы данных и учетной записи для управления ею:
Platform Gateway;
Automation Controller;
Private Automation Hub;
контроллер Event-Driven Automation.
Пример создания с помощью команд SQL:
-- Creating users for Astra Automation CREATE USER automationgateway WITH PASSWORD 'gateDBpaS$12345'; CREATE USER automationcontroller WITH PASSWORD 'ctrlDBpaS$123456'; CREATE USER automationhub WITH PASSWORD 'hUbPa55I2345b'; CREATE USER automationedacontroller WITH PASSWORD 'edapassword'; -- Creating databases CREATE DATABASE automationgateway OWNER automationgateway; CREATE DATABASE automationcontroller OWNER automationcontroller; CREATE DATABASE automationhub OWNER automationhub; CREATE DATABASE automationedacontroller OWNER automationedacontroller;
Поддержка ICU (International Components for Unicode). Проверка и инициализация:
-- Validating ICU в PostgreSQL SELECT * FROM pg_available_extensions WHERE name = 'icu'; -- Initializing DB with ICU initdb -D pgdata --locale-provider=icu --icu-locale=en
Работающий сервис Autovacuum для исключения бесконтрольного увеличения размера таблиц.
Настройка сетевых фильтров#
Для обеспечения взаимодействия компонентов платформы необходимо обеспечить установление требуемых сетевых связей по соответствующим портам TCP как представлено в таблице.
Источник |
Назначение |
Служба |
Порт TCP |
|---|---|---|---|
Admin workstation |
Kubernetes cluster |
HTTPS |
6443 |
User workstation |
Platform Gateway |
HTTP/HTTPS |
80/443 |
Content pod |
External S3 |
HTTPS |
443 |
All pods |
External PostgreSQL |
TCP |
5432 |
Automation Controller |
Execution nodes |
Receptor |
27199 |
Automation Controller |
Hop nodes |
Receptor |
27199 |
Execution nodes |
Platform Gateway |
HTTP/HTTPS |
80/443 |
Execution nodes |
Управляемый сегмент |
SSH |
22 |