Questions tagged «puppet»

Puppet是一种配置管理工具(Unix和Windows),具有自己的域特定语言。

3
从Puppet模板调用Puppet函数?
从0.24.8开始,Puppet模板可以调用Puppet函数吗? 通过在清单中调用函数,将返回值分配给变量,然后在模板中使用lookupvar('variable'),我可以获得类似的功能,但我想裁掉中间人。
13 puppet 

2
木偶:如何创建和管理UNIX用户和组
上周,我全力以赴学习Puppet。现在,我遭受了精神上的缓冲之苦,对驯服这种野兽的信心也很小。我遇到了许多带注释的示例,但是由于它们的无数变化,我无法区分推荐的(最近的)Puppet样式和约定以及临时的“为我工作”方法。我不能忍受,因为它似乎与基本级别的东西有关。 所以。使用Puppet管理组和用户,用户的主要组等于他们自己的用户名,其他组可以lan用于lan登录,wheel管理员,shell在任意节点上具有shell mail的用户,用户,daemons各种守护程序。管理员登录名将出现在所有节点上,更糟糕的是,局域网登录名也可能是Shell登录名。 据我了解,如果您使用某个时候实现的虚拟定义,则可以多次定义用户。听起来不错,那么对于一个用户来说,如何与多个组一起使用?假设Bob可以同时使用LAN节点和节点beastie.wan;是他的登录名thebob然后定义了两次,分别在lanusers.pp中groups => ["lan"]和在shellusers.pp中groups => ["shell"]?如果Bob希望将其LAN密码与Shell密码分开,该怎么办? 我当前使用的代码没有虚拟定义,用户只是硬编码的单个包含。有一次,我遇到了一个使用虚拟机的示例,因为我不了解如何扩展代码,所以Puppet创建了一个主要组和我首先定义的必需组,然后将用户加入这些组中,这是我陷入困境的地方。 对。请正确提示我。
12 puppet  users  groups 

4
应用单个人偶模块时如何设置路径?
我正在尝试运行这样的单个模块: puppet apply --verbose --modulepath=moduleshere --noop -e 'include myclass' 但是,出现这种错误,表明未设置路径 Parameter unless failed: '[ -e "${logfile}" ]' is not qualified and no path was specified. Please qualify the command or specify a path. 我不想在每个这样的位置显式指定路径,并且在作为完整木偶游戏的一部分运行时,它可以很好地工作。运行单个模块时如何指定路径?
12 puppet 

4
使用Puppet删除未明确允许的SSH密钥
我正在使用puppet分发SSH密钥,如下所示: ssh_authorized_key { "alice@foo.com": ensure => present, key => 'xxxx', type => 'ssh-rsa', user => 'deploy', } 〜/ .ssh / authorized_keys文件最终包含来自多个类的键的混合,这是所需的结果。但是,如果将密钥手动添加到$ HOME / .ssh / authorized_keys中,Puppet会将其保留在原位。有没有办法始终删除清单中未明确定义的任何键? 我有木偶版本2.7.1。
12 ssh  puppet 

3
适用于Linux和Windows的服务器凭据管理
我们是一家相对较小的商店(就系统管理员数量而言),其中包含RHEL,Solaris,Windows 2003和Windows 2008服务器。总共约200台服务器。 对于我们的管理员帐户(root在Linux和admnistratorWindows中),我们有一个密码方案,该方案取决于数据中心位置和服务器的其他两个记录的属性。 在Linux上,我们目前的做法是创建一个共享的非特权帐户在那里我们可以su来root。在基于Windows的系统上,我们创建一个具有管理员特权的附加帐户。这两个帐户共享相同的密码。 事实证明这是非常低效的。当有人离开我们的商店时,我们必须: 更改管理员帐户的密码方案 为每台服务器生成一个新的管理员密码 提出新的非管理员帐户密码 触摸每台服务器并更改密码 我想知道在类似环境中是否有人可以建议一种更合理的方式来管理这些凭据。一些相关信息: 尽管我们的大多数服务器都属于AD域,但并非全部。 我们使用Puppet管理所有Linux服务器(我想到了密钥身份验证,但是只能解决上面提到的#3问题)。 我们为Cobbler提供Linux服务器。 我们大约有10%的硬件专用于VMWare。在这些情况下,我们使用VMWare模板进行服务器构建。 任何想法或建议将不胜感激。这个问题已经存在了一段时间,我终于想解决它。

2
为什么要使用人偶参数化类?
通常,当使用复杂的人偶模块时,我将在节点级别或类内部设置变量。例如, node 'foo.com' { $file_owner = "larry" include bar } class bar { $file_name = "larry.txt" include do_stuff } class do_stuff { file { $file_name: ensure => file, owner => $file_owner, } } 在这种情况下,参数化类如何/何时/为什么提供帮助?您如何使用参数化的类来构造人偶模块?
12 linux  puppet 

3
Ansible,Chef,Puppet或____:具有最强的Windows支持和最小的初始化占用空间
我们主要(但不是排他性地)赢服务器。 最好是,我们可以启动操作系统,而几乎不执行任何操作或不执行任何操作以使其准备好接收命令(我们知道我们可能需要在其上创建具有代理或ssh服务器的基础映像)。 需要能够安装mongodb,基于Java的应用程序,iis config等。 哪个工具具有最强的Windows支持/社区功能,以及(如果可能)最轻的初始化占用空间? 操作答案:Powershell DSC。 这不是完整的故事(它不能完成厨师/人偶/等等的全部工作),但是它可以满足很多需求,效果很好,并且在win 8.1 / 2012-R2 / 10中是开箱即用的。我们对此感到非常高兴。


1
一旦Puppet-dashboard或PuppetDB处理了Puppet-report,可以将其删除吗?
人偶报告在以下位置使用了大量磁盘空间: /var/lib/puppet/reports /var/lib/mysql 假定它会将所有报告存储在MySQL数据库中,因为两个路径的大小都差不多。该resource_statuses表由行的每个代表在报告文件中的行。 在Puppet-dashboard或PuppetDB处理完报告后,可以安全地删除/ var / lib / puppet / reports中的报告吗? 处理报告的最佳做法是什么? 有没有办法让Puppet-dashboard 在处理完Yaml报告文件后自动删除它们?


4
自动化Linux更新的最佳做法
我们正在努力为基于RHEL / RHEL的服务器执行自动更新。 最初的想法:使用Puppet,我们禁用默认存储库并指向我们自己的存储库。然后,我们使用ensure => latest要自动更新的软件包。 问题:我们看到某些服务在更新(duh)后重新启动。 问题:对于如何更好地自动化Linux更新以及缓解服务自动重启的策略,是否有人有任何建议?我们希望包含Puppet的解决方案,但是,如果我们需要使用其他服务,那么这不是破坏交易的方法。 编辑 可能的解决方案:我提交了一个实现@ voretaq7和@ewwhite建议的解决方案的解决方案。似乎这是我暂时要走的路线。如果您还有其他建议,请发表评论或提出答案。

11
许多服务器的系统更新
我们有许多服务器,但仍想全部更新。实际的方法是,任何系统管理员都需要从一个服务器到另一个服务器,并创建一个aptitude update && aptitude upgrade-仍然不酷。 我正在寻找一种更好,更智能的解决方案。木偶可以做这项工作吗?你怎么做呢?


5
如何使用Puppet部署应用程序(在.tar.gz中)?
我是Puppet的初学者,我想知道我是否在使用Puppet部署应用程序的正确方法。 这些应用程序位于tar.gz文件中,该文件包含具有版本号的文件。因此,我这样做是为了进行部署(我在服务器上运行,并重新启动客户端以获取新的tarball): nodes.pp node 'server1.domain.com' inherits basenode { apps { apps: version => 56, apps_name => "apps_tarball.tgz", } init.pp (modules) exec {"apps_wget": command => "/usr/bin/wget http://web_server/${version}-${apps_name} -O /tmp/${container_zip_name}", unless => "test -f /tmp/${version}-${apps_name}", require => [ Package["wget"] ], } exec {"apps_unzip": cwd => "/usr/local/apps/path", command => "/usr/bin/unzip /tmp/${version}-${apps_name}", unless => …

2
Puppet中的filebucket配置
如何配置和使用Puppet文件桶? 我想: 将文件存储桶数据存储在单个服务器上 必要时能够审核/解析/修剪文件存储桶 确保在客户端->主服务器之间安全地传输文件桶数据
11 linux  unix  puppet 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.