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

Chr*_*own 3 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',
}
Run Code Online (Sandbox Code Playgroud)

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

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

Zor*_*che 5

Puppet 可用于审核系统状态。审核系统状态的部分功能是能够实际读取某些资源的状态。Puppet 只在资源不是它应该是的时候改变系统上的东西。它必须能够加载资源的当前状态来决定是否需要更改。

puppet resource命令只是公开了该功能。它不经常直接使用,但有时对调试很有用。如果需要,您当然可以使用它来帮助您弄清楚如何编写清单。在任何情况下,该功能对于 puppet 的主要功能都是绝对需要的。puppet 资源只是一些已经暴露的管道,因为它偶尔有用。