0
有沒有辦法將一個Puppet文件插入其他Puppet文件?木偶 - 包括另一個文件
我們確實擁有很多帶有由Puppet管理的SSH密鑰定義的服務器,並且我希望爲所有SSH密鑰定義提供一個單獨的文件。主要目標是僅在少數地方更新密鑰定義,而不是我們所有的服務器定義。
非常感謝您
有沒有辦法將一個Puppet文件插入其他Puppet文件?木偶 - 包括另一個文件
我們確實擁有很多帶有由Puppet管理的SSH密鑰定義的服務器,並且我希望爲所有SSH密鑰定義提供一個單獨的文件。主要目標是僅在少數地方更新密鑰定義,而不是我們所有的服務器定義。
非常感謝您
使用class - 這是對資源(如您的SSH密鑰資源),你可以用一個行添加到節點或從其他類的容器。當您添加它時,該節點將獲取其中的所有資源。
class sshkeys {
ssh_authorized_key { '[email protected]':
ensure => present,
user => 'foo',
type => 'ssh-rsa',
key => 'AAAAB3Nza[...]qXfdaQ==',
}
ssh_authorized_key { '[email protected]':
# more...
}
}
,然後在node
塊,使用include
:
node foo.example.com {
include sshkeys
}
類定義可以是在相同或在清單目錄中另一個文件,最好就可以開始將它們放入a module layout ,即/etc/puppetlabs/puppet/environments/production/sshkeys/manifests/init.pp
Puppet會自動加載它。模塊可以幫助您封裝功能,因爲您可以將文件,模板和更具體的清單和類存儲在一起。