我想用 puppet 来管理一些服务器。即使在阅读了几十页文档之后,我也不清楚如何使用模块以及如何将它们与 hiera 一起使用。作为第一个实验,我希望在一个节点上创建一个用户“管理员”并找到这个模块 - > https://github.com/camptocamp/puppet-accounts
我的 /etc/puppet/hiera.yaml 看起来就这么简单
---
:backends:
- yaml
:hierarchy:
- node/%{::fqdn}
- common
:yaml:
:datadir: /etc/puppet/hieradata
我的 /etc/puppet/hieradata/node/node1.example.com.yaml 包含这个
---
accounts::users:
admin:
uid: 1010
comment: admin
accounts::ssh_keys:
admin:
comment: ad
type: ssh-rsa
public: AAAAAAAAAAAAAA
这在我把它放在我的 /etc/puppet/manifests/site.pp 之后起作用了
hiera_include('classes')
class
{
'accounts':
ssh_keys => hiera_hash('accounts::ssh_keys', {}),
users => hiera_hash('accounts::users', {}),
usergroups => hiera_hash('accounts::usergroups', {}),
}
accounts::account
{
'admin':
}
这是好习惯吗?对我来说,将这些东西放入 site.pp 感觉不对,因为当我以后使用更多模块时它会变得混乱。但是还有什么地方可以放呢?我也不明白这是如何将数据与逻辑分开的,因为我在 node1.example.com.yaml 和 site.pp(管理员)中都有数据。一些帮助会很棒..