Назад | Перейти на главную страницу

Вывод ресурсов Puppet - о чем он мне говорит?

Меня немного смущает вывод puppet resource команды, и документация мне не помогает.

Если я сбегу puppet resource user myuser например, это дает:

user { 'myuser':
  ensure  => 'present',
  comment => 'Ubuntu',
  gid     => '1000',
  groups  => ['cdrom', 'floppy', 'sudo', 'audio', 'dip', 'video', 'plugdev', 'netdev'],
  home    => '/home/myuser',
  shell   => '/bin/bash',
  uid     => '1000',
}

Эта команда дает один и тот же вывод независимо от того, является ли учетная запись пользователя «Оскученной» или нет. В этом случае к узлу не применены манифесты Puppet, влияющие на этого пользователя. Я могу удалить эту учетную запись, и она больше не будет создана. Итак, о чем мне говорит этот вывод? В ensure => present атрибут, конечно, не говорит мне, что Puppet обеспечит наличие учетной записи.

В основном это говорит мне: «Если вы хотите, чтобы Puppet сохранил эту учетную запись пользователя в текущем состоянии конфигурации, вот что вы бы вставили в манифест»? Или я совершенно неправильно понял суть?

Puppet можно использовать для аудита состояния вашей системы. Частью функциональных возможностей аудита состояния вашей системы является возможность фактически считывать состояние некоторого ресурса. Puppet изменяет вещи в системе только тогда, когда ресурс не такой, каким должен быть. Он должен иметь возможность загружать текущее состояние ресурса, чтобы решить, требуется ли изменение.

В puppet resource команда просто предоставляет эту функциональность. Он не очень часто используется напрямую, но иногда полезен для отладки. Вы, безусловно, можете использовать его, чтобы понять, как составить манифест, если хотите. В любом случае функциональность абсолютно необходима для основных функций марионетки. Ресурс марионетки - это всего лишь часть того, что было раскрыто, потому что оно иногда бывает полезно.