Используйте эти системные требования SaltStack Config, чтобы определить, поддерживается ли ваша система.

Поддерживаемые операционные системы для Salt

SaltStack Config выполняется в системе Salt, которая представляет собой систему управления автоматизацией и настройкой с открытым исходным кодом. Чтобы приступить к использованию SaltStack Config для управления конфигурацией, также необходимо установить и запустить службу Salt Minion на всех узлах, которыми вы планируете управлять с помощью SaltStack Config.

Сама система Salt спроектирована как служба, не зависящая от операционной системы, которая может управлять узлами большинства стандартных операционных систем. Список поддерживаемых операционных систем Salt см. в разделе Поддержка платформы Salt.

Поддерживаемые операционные системы для SaltStack Config

Архитектура для SaltStack Config лучше всего будет работать на базе одной из следующих систем.

  • RHEL 7.4–7.9
  • RHEL 8
  • RHEL 9
  • CentOS 7
Важно!:

Если используемая версия RHEL 7 меньше 7.4, перед запуском сценария установки версию OpenSSL необходимо обновить до 1.0.2k. Если эта версия недоступна через обновление YUM или у сервера нет прямого доступа к Интернету, получите следующие пакеты из RedHat или с предпочтительного общедоступного сервера-зеркала.

  • openssl-1.0.2k-12.el7.x86_64.rpm
  • openssl-libs-1.0.2k-12.el7.x86_64.rpm

Определение архитектуры служебного сервера

В контексте системы SaltStack Config служебным сервером обычно называется узел в производственной среде, который подключен к системе SaltStack Config и управляется этой системой через один или несколько главных серверов Salt.

Система Salt предназначена для работы с любой операционной системой, которая может использоваться на служебном сервере. В дополнение к стандартным операционным системам (Linux, Windows, МАКОС) Salt предоставляет специализированное программное обеспечение служебных серверов (как правило, называемых «нативными служебными серверами») для операционных систем, уникальных для различных сетевых устройств, таких как Arista, Juniper, AIX и Solaris.

В этой таблице указаны минимальные требования к памяти для службы Salt Minion в различных операционных системах.

Операционная система Минимальные требования к памяти
Служебный сервер AIX ОЗУ 512 МБ
Служебный сервер MacOS ОЗУ 4 ГБ
Служебный сервер Linux ОЗУ 512 МБ
Служебный сервер Windows ОЗУ 4 ГБ
Другие сетевые устройства, включая служебные прокси-серверы ОЗУ 40 МБ для каждого управляемого устройства

Подсчитайте количество главных и служебных серверов Salt

Несмотря на то что пропускную способность системы трудно определить до завершения установки, можно оценить свои потребности по числу служебных серверов (узлов) в системе, которыми будет управлять SaltStack Config. В последнем разделе этого руководства содержатся дополнительные измерения для определения пропускной способности системы.

По мере перевода все большего количества служебных серверов Salt под управление системы SaltStack Config архитектуру системы, возможно, придется масштабировать.

В этой таблице указано рекомендуемое количество требуемых главных серверов Salt в зависимости от количества управляемых служебных серверов (узлов) Salt в системе.

Служебные серверы Главные серверы Salt (16 ЦП/16 ГБ)
5 000 1
10 000 2
15 000 3
20 000 4
25 000 5
30 000 6
35 000 7
40 000 8
45 000 9
50 000 10
55 000 11
60 000 12
65 000 13
70 000 14
75 000 15
80 000 16
85 000 17
90 000 18
95 000 19
100 000 20

Оценка требуемого количества узлов RaaS

В этой таблице указано рекомендуемое количество узлов RaaS в зависимости от количества управляемых служебных серверов (узлов) Salt в системе.

Служебные серверы Узлы RaaS с 16 ЦП/16 ГБ Узлы RaaS с 32 ЦП/32 ГБ
5 000 1
10 000 1
15 000 1
20 000 1
25 000 2
30 000 2
35 000 2
40 000 2
45 000 1 1
50 000 1 1
55 000 1 1
60 000 1 1
65 000 2
70 000 2
75 000 2
80 000 2
85 000 1 2
90 000 1 2
95 000 1 2
100 000 1 2

Оценка требуемого количества узлов PostgreSQL

В следующих двух таблицах указано рекомендуемое количество узлов базы данных PostgreSQL, которые могут понадобиться, в зависимости от количества управляемых служебных серверов (узлов) Salt в системе.

Служебные серверы Узлы PostgreSQL с 8 ЦП/8 ГБ Узлы PostgreSQL с 16 ЦП/16 ГБ Узлы PostgreSQL с 24 ЦП/24 ГБ Узлы PostgreSQL с 32 ЦП/32 ГБ
5 000 1
10 000 1
15 000 1
20 000 1
25 000 1
30 000 1
35 000 1
40 000 1
45 000 1
50 000 1
55 000 1
60 000 1
Служебные серверы Узлы PostgreSQL с 48 ЦП/48 ГБ Узлы PostgreSQL с 56 ЦП/56 ГБ Узлы PostgreSQL с 64 ЦП/64 ГБ
65 000 1
70 000 1
75 000 1
80 000 1
85 000 1
90 000 1
95 000 1
100 000 1

Оценка требуемого количества узлов Redis

В следующих двух таблицах указано рекомендуемое количество узлов базы данных Redis, которые могут понадобиться, в зависимости от количества управляемых служебных серверов (узлов) Salt в системе.

Служебные серверы Узлы Redis с 4 ЦП/4 ГБ Узлы Redis с 8 ЦП/8 ГБ Узлы Redis с 12 ЦП/12 ГБ
5 000 1
10 000 1
15 000 1
20 000 1
25 000 1
30 000 1
35 000 1
40 000 1
45 000 1
50 000 1
55 000 1
60 000 1
Служебные серверы Узлы Redis с 16 ЦП/16 ГБ Узлы Redis с 20 ЦП/20 ГБ
65 000 1
70 000 1
75 000 1
80 000 1
85 000 1
90 000 1
95 000 1
100 000 1

Оптимизация архитектуры после установки на основе пропускной способности

После завершения установки SaltStack Config можно использовать показатели мониторинга системы для более качественного определения пропускной способности системы и потребностей ее архитектуры.

При определении области мониторинга необходимо учитывать следующие факторы.

  • Объем трафика в системе событий. Система событий (также иногда называемая «шиной событий») используется для передачи данных между процессами как главным сервером Salt, так и служебными серверами Salt. Если шина событий перегружена, попробуйте увеличить размер выделенной памяти.
  • Возвращаемые результаты заданий в час. В системе SaltStack Config термин «задания» используется для всех команд, задач и операций, выполняемых системой SaltStack Config. Каждое задание отправляет свои выходные данные в SaltStack Config для создания отчетов и сбора данных. Количество возвращаемых результатов заданий, генерируемых системой в заданный час, может влиять на потребности архитектуры.
  • Объем данных хранилища pillar. Данные хранилища pillar представляют собой данные, которые должны храниться на главном сервере Salt. Хранилище pillar в основном используется для хранения секретной и другой конфиденциальной информации, например данных учетных записей, криптографических ключей и паролей. Объем данных, которые хранятся на главном сервере Salt (и к которым позже при необходимости обращаются служебные серверы), необходимо учитывать при расчете потребностей в памяти и объеме хранилища данных.
  • Данные конфигурации — файлы сопоставления. Эти файлы предназначены для хранения данных, которые не относятся к конфиденциальным и не включаются в файлы состояний. В отличие от данных хранилища pillar, такие файлы сопоставлений не возлагают дополнительную нагрузку на ресурсы главных серверов Salt.
  • Количество настраиваемых параметров grain. Параметры grain используются в Salt для указания целевых служебных серверов для выполнения конкретного задания или команды. Параметры grain относятся к основным данным и характеристикам каждого служебного сервера. Salt поставляется с большим количеством предварительно созданных параметров grain. Для выбора целевых служебных серверов можно, например, использовать их операционные системы, имя домена, IP-адрес, ядро, память и многие другие свойства системы. Также можно создать настраиваемые параметры grain, чтобы отличать одну группу служебных серверов от другой с учетом уникальной целевой характеристики, которая вам требуется в системе. Количество создаваемых настраиваемых параметров grain может влиять на потребности архитектуры.
  • Количество маячков и реакторов. Система маячков представляет собой средство мониторинга, которое может прослушивать различные системные процессы на служебных серверах Salt. Маячки могут запускать реакторы, которые впоследствии могут участвовать во внесении изменений или устранении проблем. Например, если истек срок ожидания ответа от той или иной службы, реактор может перезапустить эту службу. В случае совместного применения с реакторами маячки могут создавать автоматические предварительно записанные ответы на проблемы, связанные с инфраструктурой и приложениями. Реакторы расширяют возможности Salt благодаря реализации автоматических ответов при использовании предварительно записанных состояний исправления. Если в системе есть маячки и реакторы, которые регулярно активируются, это может привести к необходимости масштабировать архитектуру системы.
  • Требуемая емкость диска. Возможно придется увеличивать емкость диска с учетом количества управляемых служебных серверов и объема данных, которые необходимо сохранить в хранилище (этот объем может изменяться из года в год). Например, если имеется система с высокой пропускной способностью и она применяется в отрасли с жестким административным регулированием, где данные необходимо хранить в течение 7–8 лет, может быть необходимо использовать диски и хранилища повышенной емкости.
  • Критически важные бизнес-операции. При оценке степени важности системы SaltStack Config для среды определите, насколько серьезное влияние сможет оказать на ваш бизнес выход системы SaltStack Config из строя. Если система выйдет из строя на один или несколько часов, приведет ли это к серьезным проблемам? Если да, возможно, в архитектуре системы SaltStack Config будет нужно реализовать функцию высокой доступности.

В зависимости от этих факторов, оцените возможность постоянного масштабирования ресурсов и мониторинга проблем, влияющих на производительность системы. Например, увеличение объема выделенной памяти на 4 ГБ ОЗУ с 4 ЦП.

На следующем рисунке приведен пример архитектуры системы SaltStack Config с высокой доступностью.

Как показано на этом рисунке, несколько систем высокой доступности подключены к нескольким главным серверам Salt. Системы высокой доступности также часто обеспечивают резервирование для базы данных PostgreSQL и баз данных Redis, чтобы обеспечить возможность их аварийного переключения друг на друга. Следует отметить, что текущие решения высокой доступности для баз данных PostgreSQL и Redis поддерживают только аварийное переключение вручную.