Топология#

На этой стадии необходимо выбрать топологию платформы и подготовить соответствующие ресурсы.

../../../_images/day0-model-green.svg ../../../_images/day0-ws-green.svg ../../../_images/day0-topology-blue.svg ../../../_images/day0-offline-white.svg ../../../_images/day0-conf-white.svg ../../../_images/day0-model-green.svg ../../../_images/day0-ws-green.svg ../../../_images/day0-topology-blue.svg ../../../_images/day0-offline-dark.svg ../../../_images/day0-conf-dark.svg

В обзоре архитектуры вы познакомились с двумя протестированными вариантами топологии, их особенностями, преимуществами и недостатками. Это позволило вам определить вариант топологии, наиболее подходящий для ваших бизнес-планов. Следующий шаг состоит в планировании и подготовке ресурсов для выбранной топологии.

Ресурсы 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 используется минимальное количество ресурсов.

../../../_images/aa-k8s-base-light.svg ../../../_images/aa-k8s-base-dark.svg

Для обслуживания различных сегментов инфраструктуры Automation Controller подключается к сети Mesh, в которой установлены исполняющие узлы.

Требования к рабочему узлу Kubernetes#

Минимальные требования к рабочему узлу, на котором развертываются все центральные компоненты Astra Automation:

Параметр

Минимальное значение

Рекомендуемое значение

Количество ядер CPU

4

≥ 8

Объем RAM

16 GB

≥ 32 GB

Дисковое пространство

100 GB

≥ 250 GB

Тип дискового накопителя

SSD

SSD

IOPS

3000

≥ 3000

Примечание

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

В любом случае необходимо убедиться, что для установки подов доступны 16 ГБ RAM.

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

Хранить контент приватного реестра рекомендуется в хранилище 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 имеют несколько реплик (не менее трех) на разных рабочих узлах кластера. Для еще большего повышения уровня доступности используют кластер Kubernetes, распределенный по зонам доступности.

  • Для управления сложными распределенными инфраструктурами задействована сеть Mesh, в которой предусматривают распределение нагрузки по множеству исполняющих узлов (exec nodes) с применением переходных узлов (hop nodes) для маршрутизации трафика. Для критически важных сегментов используют несколько исполняющих узлов.

../../../_images/aa-k8s-enterprise-light.svg ../../../_images/aa-k8s-enterprise-dark.svg

Требования к рабочему узлу Kubernetes#

Минимальные требования к ресурсам для развертывания всех центральных компонентов Astra Automation с учетом только одной реплики для каждого Kubernetes pod, остаются теми же, что и для базовой топологии.

Примечание

Для оценки полного объема требуемых ресурсов необходимо учитывать количество реплик.

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

Хранить контент приватного реестра рекомендуется в хранилище 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