从运行的系统上生成 Puppet 配置清单

优质
小牛编辑
134浏览
2023-12-01

除了使用 cft 从系统管理员的控制台会话生成 Puppet 配置清单以外, 还可以使用 puppet resource 从系统中已存在的配置生成 Puppet 配置清单。 例如,你可以使用 puppet resource 生成系统中所有用户的配置清单。 这对于生成工作系统的快照并将这些配置快速转换到 Puppet 是相当有用的。

操作步骤

  1. 要生成指定用户的配置清单,请运行:

    # puppet resource user john
    user { 'john':
      password_min_age => '0',
      password_max_age => '99999',
      uid    => '1002',
      password => '!',
      gid    => '1001',
      groups   => ['git'],
      ensure   => 'present',
      comment  => 'John Arundel',
      home   => '/home/john',
      shell  => '/bin/bash'
    }
    
  2. 要生成指定服务的配置清单,请运行:

    # puppet resource service ntp
    service { 'ntp':
      ensure => 'running',
      enable => 'true'
    }
    
  3. 要生成指定软件包的配置清单,请运行:

    # puppet resource package exim4
    package { 'exim4':
      ensure => '4.71-3ubuntu1'
    }
    

更多用法

你可以使用 puppet resource 检查 Puppet 每种可用的资源类型。 在上面的例子中,我们针对一个资源类型的具体实例生成了配置清单, 然而你也可以使用 puppet resource 导出一种资源类型的所有实例:

# puppet resource user
user { 'Debian-exim':
  ensure       => 'present',
  uid        => '117',
  gid        => '124',
  home       => '/var/spool/exim4',
  password     => '!',
  password_min_age => '0',
  password_max_age => '99999',
  shell      => '/bin/false'
}

user { 'avahi':
  ensure       => 'present',
  uid        => '104',
  gid        => '111',
  home       => '/var/run/avahi-daemon',
  password     => '*',
  password_min_age => '0',
  comment      => 'Avahi mDNS daemon,,,',
  password_max_age => '99999',
  shell      => '/bin/false'
}
...

这会产生许多输出!