Articles of 木偶

木偶节点的定义

这是一个简单的问题,我的时间被盗了,让我发疯。 非常简单,我不明白为什么这个正则expression式没有得到运行,当我在puppet中定义一个新的节点: 主机名:api01.eu-west-1.compute.internal 节点定义 3: node ^api\d+\.eu-west-1\.compute\.internal { 4: include sudo 5: package { 'vim': ensure => preset } 6: } 我的错误: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not parse for environment production: Could not match ^api\d+\.eu-west-1\.compute\.internal at /etc/puppet/manifests/nodes.pp:3 on node api01.eu-west-1.compute.internal 谢谢

Puppet 3.0.0错误:无法创build资源来pipe理部分中的Puppet文件和目录

从Puppet Labs YUM存储库升级一个节点到Puppet 3.0.0之后,获取升级的节点会抛出一个pipe理错误: [sudo puppet agent –test –trace]错误:无法创build用于pipe理段[:main,:agent,:ssl]中的Puppet文件和目录的资源:File [/ var / lib / puppet / state / graphs]:类path中的“/ var / lib / puppet / state / graphs”的Munging失败:未初始化的常量Puppet :: FileCollection /usr/lib/ruby/gems/1.8/gems/puppet- 2.7.19 / lib / puppet / type / file.rb:62:in unsafe_munge' /usr/lib/ruby/site_ruby/1.8/puppet/parameter.rb:209:in '/usr/lib/ruby/site_ruby/1.8/puppet/parameter.rb:209:in munge'/ usr / lib / ruby​​ / site_ruby / 1.8 / puppet […]

木偶日志去哪了?

我跑puppet apply并得到一个错误。 有什么方法可以获得有关此错误的更多详细信息? 错误:/ Stage [main] / XX / Service [xx]:无法调用refresh:无法重新启动Service [xx]:执行'/etc/init.d/xx restart'返回1:在/ etc / puppet /舱单/ XX / xx.pp:20

木偶3.0:我应该能够从另一个模块的类似命名的子类调用模块?

我有一个名为drbd的模块,我需要在另一个名为hacluster模块中使用。 起初,我想这样分类drbd的东西在自己的class级: modules/drbd/[stuff] # this is the DRBD module modules/hacluster/manifests/init.pp # class hacluster { include hacluster::drbd } modules/hacluster/manifests/drbd.pp # class hacluster::drbd hacluster::drbd类像这样安装和configurationDRBD: class hacluster::drbd { class { 'drbd': service_ensure => undef, service_enable => false, } class { 'drbd::global_common': …more stuff… } drbd::resource {'r0': …stuff…} drbd::resource {'r1': …stuff…} } …但是Puppet不喜欢我从hacluster :: drbd类中调用drbd模块: Error: Could not retrieve […]

使用Puppet和Foreman部署虚拟机有什么好处?

我是使用虚拟化技术的新手。 我读过关于木偶和工头。 如果我没有弄错,这些软件可以用来自动化安装和configuration服务器,包括真机和虚拟机。 这个video显示了一个例子。 参考这个网站 ,在云计算环境中,我们可以创build虚拟机模板,并用它来部署许多类似configuration的虚拟机。 虚拟机模板是可用于创build和configuration虚拟机的虚拟机的主副本。 参考上面提到的Youtubevideo,如果我们使用Puppet和Foreman来安装和configuration虚拟机,似乎我们需要在所有的虚拟机中重复安装和configuration过程。 为什么我们不能使用VM模板?

如何自动configuration或镜像我的开发Ubuntu安装到其他开发机器?

我有很多包和configuration来完成我的开发机器。 我的团队中有其他开发人员,希望他们有相同的设置,以确保工具的兼容性和可用性。 如何自动configuration其他开发机器? 我发现木偶和厨师做同样的多个服务器。 我会毫不犹豫地学习或使用它们,除非它们是为了我的使用案例的矫枉过正。 我也发现Remastersys用自定义的现场光盘重复我的安装,但我期待着: 在已安装的系统上运行我的设置。 是发行不可知的。 Remastersys似乎不适合。 那么,我应该看什么工具来完成它? 示例用例: 希望在全新安装Ubuntu或Arch之后安装x,y,z软件包。 我可以去发行不可知论? [给我的开发者select发行版 – 仍然保持相同的包,没有额外的努力。] configuration简单的服务器,如MySQL或PostgreSQL。 经常使用像Meld,Google Chrome,Firefox等工具 我的用例不是类似于服务器的用例。 我想要的是重复我的设置,让我从底层的系统细节解耦。 壳牌脚本可以是一个选项,但它真的很难像shell脚本那样维持如此低的水平。 我想这是一个普遍的问题来解决。 必须有我缺less的东西。

Puppet在脚本里面生成variables

我正在迁移一系列将服务器部署到Puppet的bash脚本。 几乎所有的function都被移植到了Puppet中,但是我看不到如何迁移bash脚本的一部分: 安装PHP。 使用PHP脚本,生成随机密码并将其作为variables存储在bash脚本中。 在bash脚本的其他地方使用该variables来设置MySQL根密码。 我怎样才能像这样dynamic设置puppetvariables? 顺便说一句,我正在使用傀儡独立版本使用puppet apply因为我没有一个单独的服务器充当傀儡主。 此外,如果有人想知道为什么这样做,这是MySQL的根密码是不存在的地方除了使用它的框,并没有写入任何(可读)的文件。

如何在puppet中configuration数组的参数化类?

我的目标是定义一个类,它需要input一个数组对。 由于我不知道如何定义一个数组对,我只是要使用一对数组来代替。 class student($username, $full_name){ notify {"user": message => "username: ${username}\n"} notify {"fullname": message => "fullname: ${full_name}\n"} exec {'finger': command => "/usr/bin/finger ${username}", logoutput => true } } $users = ['elion', 'azee', 'root'] $names = ['El Lion', 'Avery Zee', "Rooty Root"] class { 'student': username => $users, full_name => $names } 在做一个'puppet apply file.pp'后,我希望输出遍历两个数组,打印出通知,然后按照数组给出的顺序指出学生(听起来很可怕)。 我试过这个,结果发生了什么,是傀儡将数组合并成一个string,所以$ […]

在puppet中定义的可选属性

在puppet中定义可选属性的正确方法是什么? 现在我正在这样做: define($command = "none") { } 然后像(在模板中): <% if command != "none" %> do something with <%= command %> <% end %> 有没有更适当的方法来定义可选属性? 更类似于零或空而不是“无”?

你可以安装木偶没有ruby1.8?

我需要在Ubuntu 12.04服务器上安装puppet 3.2.0或更高版本以及ruby 2.0.0-p247。 没有ruby1.8的安装木偶吗? 大多数我的经验来自CentOS,所以我可能会错过简单的apt。 我的设置: 确保没有ruby存在 root@gitlab:~# which ruby root@gitlab:~# ruby –version The program 'ruby' can be found in the following packages: * ruby1.8 * ruby1.9.1 Try: apt-get install <selected package> 从官方ppa安装木偶 root@gitlab:~# cat /etc/apt/sources.list.d/puppetlabs.list deb http://apt.puppetlabs.com precise main deb-src http://apt.puppetlabs.com precise main deb http://apt.puppetlabs.com precise dependencies deb-src http://apt.puppetlabs.com precise dependencies 最新版本的puppet被列在apt中 root@gitlab:~# […]