我正在使用Puppet仪表板作为我的ENC,我不确定如何引用或使用/etc/puppet/manifests/site.pp类和组分类。 我在仪表板中定义了两个组: CentOS6和SLES11 。 如果我想要在CentOS6组中包含特定的模块列表,并在SLES11组中包含特定的模块列表,那么我的site.pp应该是什么样的? 我正在尝试做这样的事情: # /etc/puppet/manifests/site.pp node basenode { include hosts include ssh::server include ssh::client include authentication include sudo include syslog include mail } node 'CentOS6' inherits basenode { include profile } node 'SLES11' inherits basenode { include usrmounts } 我在我的模块中有特定于操作系统的case语句,但是有一些模块只适用于某些发行版。 所以我想我有两个问题: 这是以特定于操作系统的方式应用模块/资源的最佳方法吗? 还是上面让你想吐? 无论#1,我仍然好奇如何在我的清单中从仪表板中引用类,组和节点。 我已阅读外部节点文档,但我没有看到它们如何对应于清单。 谢谢大家。
我做到了 sudo puppet agent –test err: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed warning: Not using cache on failed catalog err: Could not retrieve catalog; skipping run 我删除了ssl目录,但没有任何帮助。 我阅读文档,似乎没有任何工作。 任何build议在哪里解决? 客户端在主服务器上签名。 谢谢。 是时间同步? 我检查date ,他们都好像。 openssl x509 -text -in /var/lib/puppet/ssl/certs/… 奇怪…我没有ssl目录? 我应该用什么来产生? 有太多的命令…我只是要小心。 这是运行sudo […]
在尝试一次安装多个软件包时,我在Puppet代理上收到以下错误: err: /Stage[main]/Template::Infrastructure/Package[undef]/ensure: change from absent to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install undef' returned 1: Error: Nothing to do 产生错误的代码是: $ packages = ['qemu-kvm','qemu-kvm-tools','drbd84-tools','kmod-drbd84'] 包{ $ ::包: 确保=>“已安装”, require => Class ['yumrepos :: elrepo'] } 问题是间歇性的。 是否有更好的方法来一次安装多个包而无需为每个包安装一个包资源?
我们正在扩展我们的木偶基础设施,并希望将CA组件从木偶主服务器分离到另一台服务器。 部分更改还涉及puppetmaster的服务器名称更改。 我遇到了一个问题,我不能让ca_server指令在[main]或[agent]部分正常工作。 这只是没有生效。 所以当我将server =更改为新的服务器名称时,由于服务器名称已更改且不再与该证书相匹配,因此会中断代理签入的能力。 我不是傀儡专家,但我想我需要做的是创build一个新旧名称(安全)的SAN证书,然后重新签署所有的代理节点,这是成为皇家PITA。 有没有更快/更聪明的方法来做到这一点? 我们已经有了数百个代理节点,单独重新签名将是一项艰巨的任务。
我正在通过木偶文件。 其中一个练习是使用一些条件逻辑来编写一个通用的安装清单: 练习:使用$ operatingsystem这个事实来编写一个在基于Debian(“debian”,“ubuntu”)和Enterprise Linux(“centos”,“redhat”)机器上安装构build环境的清单。 (这两种系统都需要gcc软件包,但是Debiantypes的系统也需要build-essential。) 我写了代码,但是因为我的机器是一个centos机器,我没有办法检查分支是否工作: $build_packages = $::operatingsystem ? { /(?i)centos|redhat/ => 'gcc', /(?i)debian|ubuntu/ => ['gcc','build-essential'], default => undef } notify {"build_packages": message => "Build packages for ${::operatingsystem} are: ${build_packages}\n", before => Package['build'] } package {'build': ensure => installed, name => $build_packages } 我的问题是,如果我在Debian或Ubuntu系统上,这是否工作? 特别是,如果我将$build_packages设置$build_packages一个数组,包资源是否会正确安装这两个包? 还是应该重新定义这样的资源? package {$build_packages: ensure => installed }
我们有一个基本的'nginx'类,节点的类包含这个基类,并将它们的configuration文件添加到/etc/nginx/conf.d下 我想让nginx服务在一个位置订阅/etc/nginx/conf.d,这样编写节点类的人不必记得添加notify => Service['nginx'] 。 我已经尝试使用下面的这个Puppet代码,但它没有工作(即,我修改application.conf后,nginx服务没有重新加载)。 这可能吗? 模块/ nginx的/ init.pp class nginx { package { 'nginx': ensure => installed, } service { 'nginx': ensure => running, enable => true, hasstatus => true, hasrestart => true, require => Package['nginx'], subscribe => File['/etc/nginx', '/etc/nginx/conf.d'], } file { ['/etc/nginx', '/etc/nginx/conf.d']: ensure => directory, owner => application, group => […]
我正在使用puppet来pipe理我的ec2应用程序实例,这也涉及用户pipe理。 但最近我注意到一个错误,我无法login用户名的任何我通过木偶添加。 检查一个损坏的实例(我在这种情况下使用密钥)后,我发现/ etc / shadow密码字段(第二列)是空的.ie没有散列密码在其中。 我找不到用户创build更新散列密码的原因..因为我有用户模块中提供散列密码..相信我我使用一个非常简单的木偶“用户”模块,但由于某种原因,它不是更新用户的密码。 注意:模块在我的本地机器(Centos 6.3)上工作正常, 这是我的'user.pp'模块和日志: 1)附加user.pp. 2)木偶运行日志: mnotice: /Usertgrochowicz/ensure: created mnotice: /Userjpollard/ensure: created mnotice: /Userbottle/ensure: created mnotice: /Userjburgar/ensure: created mnotice: /Userrahul/ensure: created mnotice: /Userjfenocchi/ensure: created mnotice: /Userdwhite/ensure: created mnotice: /Userbporter/ensure: created mnotice: /Userasavarin/ensure: created mnotice: /Userehalfin/ensure: created mnotice: Finished catalog run in 1.69 seconds mnotice: Finished catalog run in 0.21 […]
我需要在我的环境中设置审计,特别是文件完整性监视。 我试过OSSEC ,但发现它很麻烦。 自从我发现了auditd (已经安装在我的CentOS 6系统上),发现它是一个简单但强大的审计解决scheme。 我知道命令行工具aureport用于生成统计信息或由auditdlogging的文件更改列表,它很好地工作。 不过,目前我已经有大约100台Linux主机,并且需要find一个更stream畅的方式来提醒重要文件的更改。 是否有任何开源报告工具或仪表板位于auditd之上,用于聚合networking中的多个主机? 在searchnetworking和github时我没有看到任何东西。 作为奖励,将auditd报告的文件更改与来自puppetmaster / puppetDB主机的木偶报告中的文件更改报告相结合以显示预期的更改并且不会触发警报或显示在报告。 现有解决scheme的任何build议或关于此文件完整性监测主题的提示?
我正在考虑一种方便的方式来跟踪我的VPSconfiguration,并部署在一个点击(或多或less一个)。 我一直在阅读并查看不同的configuration部署工具,傀儡似乎是最受欢迎的,只能回到原点。 即使Puppet提供的function吸引了我很多,我可能会使用它,我似乎无法轻松地find简单的方法。 我必须维护和更改/ etc中的configuration文件,我真正想要摆脱的是ssh – > vim或nano,或者sftp …我希望在我的开发计算机上拥有整个文件夹,并享受其权力和速度的崇高文本编辑,然后做混帐提交,混帐推, – >重新启动一些东西和hopla,我们更新。 在傀儡范式中,它似乎更像是: file {'/tmp/test1': ensure => file, content => "Hi.\n", } git最初的担忧并不是完全适合这种部署的工具(也不能完全确定所有涉及到的风险),这让我读到了木偶/厨师, 现在你如何解决这个问题,并且你有使用git / git-deploy / etckeeper的生产系统来离线编辑你的/ etcconfiguration?
我有一个木偶安装,我试图检查雾的版本(云configuration),但我没有回应,所以我认为它没有安装。 我需要雾才能利用木偶的vmware克隆能力。 在任何情况下,似乎雾是通过ruby安装,但是当我看着fog.io它不是类似于我看到在哪个php / apache / mysql等涉及的雾维基页面,并没有提及.fog文件。 人类,我想确保我安装正确的雾为我的傀儡configuration。