仍然试图让傀儡“做我想做的事”(我仍然不知道如何正确地谈论它)…
我有以下问题:Apache服务器托pipe多个客户端的静态内容,并且这个静态内容是版本化的:
node the.node.name { client { 'c1': version => 'v1', # otherstuff } client { 'c2': version => 'v2', } }
有30多个客户以这种方式定义。 总共有2到4个版本的内容随时可以安装。
现在,随着时间的推移,版本发展迅速。 现在我只能实现安装新的内容,但永远不会删除过时的内容。
你将如何去引用计数安装的版本,并卸载过时的版本?
将你的静态内容存储在一个git仓库中。 为您想要的每个版本的内容创build一个分支。 使用puppet创build一个存储库(如果没有),确保检出正确的分支,并自动更新存储库。 Git会负责添加和删除文件。 在任何给定的时间重新分配你的分支来进行适当的修改。
或者,您可能会发现带有正确标志的rsync(删除主文件中不存在的文件)也可能起作用。
最简单的解决scheme可能是在添加和删除软件包时存在pipe理开销。
package { 'c1_v8': ensure => present, } package { 'c2_v7': ensure => present, } package { 'c1_v1': ensure => absent, } package { 'c2_v2': ensure => absent, }
你可以使用像hiera w / puppet-hiera这样的外部数据源来pipe理哪个软件包应该放在哪个服务器上。