Puppet 资源输出 - 它告诉我什么?

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',
}

无论用户帐户是否已 Puppetized,此命令都会给出相同的输出。在这种情况下,节点没有应用影响此用户的 Puppet 清单。我可以删除此帐户,并且不会重新创建它。那么,这个输出告诉我什么?该ensure => present属性肯定不是告诉我 Puppet 将确保该帐户存在。

这基本上是在告诉我“如果您希望 Puppet 将此用户帐户保持在当前配置状态,那么您需要在清单中保留以下内容”吗?还是我完全误解了这一点?

答案1

Puppet 可用于审计系统状态。审计系统状态的部分功能是能够实际读取某些资源的状态。只有当资源不符合预期时,Puppet 才会更改系统上的内容。它必须能够加载资源的当前状态,以决定是否需要更改。

puppet resource命令只是公开了该功能。它不经常直接使用,但有时对调试很有用。如果您愿意,您当然可以使用它来帮助您弄清楚如何编写清单。无论如何,该功能对于 puppet 的主要功能是绝对必要的。puppet 资源只是公开的一小部分管道,因为它偶尔有用。

相关内容