Puppet VS Ansible + какой лучший инструмент для автоматического удаленного управления [закрыто]

есть много удаленных инструментов для задач автоматизации, таких как puppet или ansible

моя цель - выполнять множество удаленных задач на машине Linux как:

  1. блок выполнения команды Linux,

  2. копирование файлов с главной машины на удаленные машины Linux

  3. запуск сценария на удаленной машине Linux

и так далее

4
задан 16 August 2015 в 15:26
1 ответ

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

Puppet and Chef(и, вероятно, другие системы Configuration Management):

  • Loosely Convergent. Это может занять полчаса, прежде чем все увидит обновления. Иногда это нормально. Иногда это не так.
  • Не очень хорошо справляются с командами ad-hoc. Если вам нужно запустить git-pull в заданном каталоге прямо сейчас , то это займёт достаточно много времени.
  • Надежные методы для программного определения типов машин. Это облегчает проблему "что нужно, что нужно".
  • В основном, на основе агентов. Узлы опрашивают центральную систему на предмет обновлений, а не центральную систему, рассылающую обновления по расписанию. Это большая часть "непоследовательности".

Возможные и другие неагентные системы:

  • Разрешить специальные команды в качестве основной функции. Нужно ли запускать apt-get update openssl на всем? Полегче!
  • Разрешите более тесную конвергенцию. Вы можете сделать как в течение 30 минут , так и сделать это прямо сейчас на всем .
  • Обычно нужны процессы управления инвентаризацией . Где что-то вроде марионетки можно заставить делать такие вещи, как развернуть nginx на машинах с RAMSIZE >= 2048GB и это будет работать для любой такой системы, Ansible и тому подобное нужно сказать, что этой системе нужен nginx. Это усложняет проблему "что-нибудь-необходимо-что".

Я не буду углубляться в масштабируемость, т.к. все это довольно легко справляется с 1000 узлов. Все становится по-другому, когда попадаешь в 10 000 узлов.

Я знаю развёрнутые системы, которые используют систему типа Puppet/Chef в дополнение к Ansible. Puppet/Chef используется для поддержания базовой конфигурации системы, а ansible используется для удаленного командования и для задач, требующих гораздо более тесной согласованности (например, для установки app-code). Иногда лучше всего использовать и то, и другое.

.
8
ответ дан 3 December 2019 в 02:50

Теги

Похожие вопросы