Автоматизация процессов#

На этом шаге отредактируйте описание узлов плоскостей управления и исполнения.

../../../../_images/general-green.svg ../../../../_images/gateway-green.svg ../../../../_images/autoexec-blue.svg ../../../../_images/content-white.svg ../../../../_images/eda-white.svg ../../../../_images/tls-white.svg ../../../../_images/postgres-white.svg ../../../../_images/general-green.svg ../../../../_images/gateway-green.svg ../../../../_images/autoexec-blue.svg ../../../../_images/content-dark.svg ../../../../_images/eda-dark.svg ../../../../_images/tls-dark.svg ../../../../_images/postgres-dark.svg

Система автоматизации процессов является наиболее развитой и вариативной, особенно в топологии уровня предприятия. Поэтому описание ее инвентаря существенно зависит от топологических особенностей. С помощью сети Automation Mesh система объединяет плоскости управления и исполнения.

Общие параметры#

Учетные данные системного администратора Automation Controller необходимы для прямого обращения к Automation Controller. Это обеспечивает обратную совместимость с версией 1 платформы.

Предупреждение

В текущей версии платформы допускается только учетная запись «admin», которая назначается по умолчанию.

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

[all:vars]
admin_password='p@ssw0rd!'
all:
  vars:
    admin_password: p@ssw0rd!

Система из одного управляющего и одного исполняющего узла#

Для создания сети Mesh из одного управляющего и одного исполняющего узла опишите соответствующий инвентарь следующим образом:

  • В группу automationcontroller добавьте запись об управляющем узле.

  • Создайте группу execution_nodes и добавьте в нее запись об исполняющем узле.

  • Создайте для группы automationcontroller переменные node_type и peers со значениями control и execution_nodes соответственно.

Пример описания системы из одного управляющего и одного исполняющего узлов:

# Control plane
[automationcontroller]
ctrl1.example.com

# Control plane variables
[automationcontroller:vars]
node_type='control'
peers='execution_nodes'

# Execution plane
[execution_nodes]
exec1.example.com
---
# Control plane
automationcontroller:
  hosts:
    ctrl1.example.com:
  vars:
    node_type: control
    peers: execution_nodes

# Execution plane
execution_nodes:
  hosts:
    exec1.example.com:

Переменная peers со значением execution_nodes указывает, что управляющие узлы из группы automationcontroller должны связываться с узлами группы execution_nodes. В этом примере не использованы промежуточные узлы (hop nodes).

Система из управляющих и исполняющих узлов#

Отказоустойчивая конфигурация требует наличия в системе по крайней мере двух управляющих и двух исполняющих узлов. Для этого опишите инвентарь следующим образом:

  1. Добавьте в группу automationcontroller записи об управляющих узлах.

  2. Создайте группу execution_nodes и добавьте в нее записи об исполняющих узлах.

  3. Создайте для группы automationcontroller переменные node_type и peers со значениями control и execution_nodes соответственно.

Пример описания системы из двух управляющих и двух исполняющих узлов:

# Control plane
[automationcontroller]
ctrl1.example.com
ctrl2.example.com

# Control plane variables
[automationcontroller:vars]
node_type='control'
peers='execution_nodes'

# Execution plane
[execution_nodes]
exec-1.example.com
exec-2.example.com
---
# Control plane
automationcontroller:
  hosts:
    ctrl1.example.com:
    ctrl2.example.com:
  vars:
    node_type: control
    peers: execution_nodes

# Execution plane
execution_nodes:
  hosts:
    exec-1.example.com:
    exec-2.example.com:

Все управляющие узлы здесь имеют прямой доступ ко всем исполняющим узлам.

Примечание

При наличии более одного узла в группе automationcontroller учитывайте принцип главного узла.

Кластер с удаленным исполнением#

Конфигурация с промежуточными узлами позволяет подключаться через них к удаленным исполняющим узлам.

Пример отказоустойчивого кластера с промежуточным узлом hop1, через который выполняется подключение к исполняющему узлу exec3:

# Control plane
[automationcontroller]
ctrl1.example.com
ctrl2.example.com

[automationcontroller:vars]
node_type='control'
peers='instance_group_local'

# Execution plane
[execution_nodes]
exec1.example.com
exec2.example.com
exec3.example.com
hop1.example.com

# Execution nodes with direct connection to control nodes
[instance_group_local]
exec1.example.com
exec2.example.com

# Hop node
[hop]
hop1.example.com

[hop:vars]
# Direct connection to control nodes
node_type='hop'
peers='automationcontroller'

# Remote execution node
[instance_group_remote]
exec3.example.com

# Direct connection to hop nodes
[instance_group_remote:vars]
peers='hop'
---
# Control plane
automationcontroller:
  hosts:
    ctrl1.example.com:
    ctrl2.example.com:
  vars:
    node_type: control
    peers: instance_group_local

# Execution plane
execution_nodes:
  hosts:
    exec1.example.com:
    exec2.example.com:
    exec3.example.com:
    hop1.example.com:

# Execution nodes with direct connection to control nodes
instance_group_local:
  hosts:
    exec1.example.com:
    exec2.example.com:

# Hop node
hop:
  hosts:
    hop1.example.com:
  vars:
    node_type: hop
    peers: automationcontroller

# Remote execution node
instance_group_remote:
  hosts:
    exec3.example.com:
  vars:
    peers: hop

Особенности этой топологии:

  • Управляющие узлы должны связываться с исполняющими узлами из группы instance_group_local напрямую, без промежуточных узлов.

  • Исполняющие узлы из группы instance_group_remote (в примере один узел) связываются с промежуточными узлами группы hop (в примере один узел), которые в свою очередь связываются с управляющими узлами в группе automationcontroller.

Главный узел#

При первом запуске установщика узел, указанный первым в группе automationcontroller описания инвентаря, становится главным узлом (primary node).

К главному узлу предъявляются следующие требования:

  • При развертывании или обновлении узлов Automation Controller главный узел всегда должен быть доступен.

  • Запись о главном узле в инвентаре установщика должна размещаться на первой позиции в группе automationcontroller.