我在Debian Squeeze 6.0.4上运行Puppet的默认configuration。 服务器的FQDN是master.example.com。 客户端的FQDN是client.example.com。 我可以联系木偶大师并发送CSR。 我使用puppetca -sa签名,但客户端仍然不能连接。 这两台机器有准确的date和时间。 这是在/ var / log / syslog中显示的内容: Apr 3 17:03:52 localhost puppet-agent[18653]: Reopening log files Apr 3 17:03:52 localhost puppet-agent[18653]: Starting Puppet client version 2.6.2 Apr 3 17:03:53 localhost puppet-agent[18653]: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify […]
我一直在尝试创build一个在Centos 5服务器上使用puppet安装postgres 9.1的清单。 我一直在尝试修改http://wiki.postgresql.org/wiki/YUM_Installation上的说明,以便实现这一点,并且当我通过手动过程时,我已经能够。 因此,在我看来,这是一个傀儡清单 package { 'postgresql91-server': ensure => installed, source => 'http://yum.postgresql.org/9.1/redhat/rhel-5-x86_64/pgdg-centos91-9.1-4.noarch.rpm' } 但是试图应用这个清单我得到 err: /Stage[main]//Package[postgresql91-server]/ensure: change from absent to present failed: Could not find package postgresql91-server 那里有什么专家木偶能够帮助我?
当文件(/ usr / local / bin / papply)不存在时,我只想执行下面的命令。 不知道该放什么。 exec { 'git add url': command =>'git remote add origin https://github.com/testing/puppet.git', require => Exec['git init'], cwd => '/home/vagrant/django', user => 'vagrant', onlyif => "not sure what to put here" }
在我的木偶configuration中,我需要在模板中使用它之前小写一个variables值。 如何做到这一点? 有没有办法在puppet清单中小写一个variables值? 我需要在模板中执行此操作吗? 更一般的:我可以在清单中使用的string操作函数在哪里。 我是否必须编写自己的自定义ruby函数来实现这个function?
我听说很多关于使用Cobbler与Puppet / Cfengine一起快速部署和configuration。 你能指点我一些教程或分享你如何做的经验吗? 也很想听听用于快速configuration和部署的其他任何系统。 谢谢。
我曾经使用过木偶这样的工具来pipe理个人系统,而且成功率很高。 傀儡堕落的地方在于它不擅长pipe理个人服务器之外的依赖关系。 例如,在MySQL服务器上,我configurationpuppet来执行以下操作: 在计算机上configuration身份validation以启动我的LDAP服务器 configurationapt使用我的本地存储库镜像 安装MySQL包 写my.cnf 启动MySQL 在数据库中创build用户 在这组步骤中,有一些依赖关系已解决 – 例如,除非安装了软件包,否则我无法启动数据库服务,除非正确configurationapt repo,否则我无法执行此操作。 这个MySQL服务器是主 – >主复制设置中的一个框。 在一个理想的世界里,puppet(或者其他类似的工具)会让我performance出这样一个事实:服务器B需要等到服务器A可用,然后尝试与它build立复制关系。 这里有很多文字 – 基本上我问的是:像puppet这样的工具可以像这样pipe理机器间的依赖吗?
我期待从基于密码(我开始变得不知所措)切换到基于SSH密钥的系统。 我想知道是否有任何SSH密钥pipe理系统或服务器解决scheme,这将允许我分发和撤销机器上的密钥? 或者最好的方法是使用Puppet来完成这个任务? 如果是的话,那么每个客户端机器(这里描述: pipe理SSH密钥的最佳系统? )的单个密钥对的方法是最好的?
我怎样才能将现有的木偶客户迁移到一个新的puppetmaster服务器? 我宁愿不手动去每个客户端框,并生成一个新的证书。 当试图显而易见 – 从/ etc / puppet和/ var / lib / puppet到新服务器的所有文件 – 我们得到证书错误 /etc/init.d/puppetmaster start * Starting puppet master Could not run: Retrieved certificate does not match private key; please remove certificate from server and regenerate it with the current key 我可以通过将/var/lib/ssl/certs和/var/lib/ssl/private_key文件从old_hostname复制到new_hostname ,这基本上是将puppet客户端迁移到一个新的puppet master主服务器不见了,只用备份) 不幸的是,我的客户仍然知道有什么不妥之处,并给我以下错误: sudo puppetd –test –server newservername.example.net –noop info: Retrieving […]
我主要是兼职开发人员, 并pipe理我的项目在这里和那里的服务器。 我想自动为我的项目提供Web /应用程序/数据库服务器 我pipe理Windows和Linux服务器(VPS,云和专用)的混合物, 我简单地看了一下受调查的Chef / Puppet / Ansible; 我想find一些东西: 很容易学习和理解。 我不想花费数周的时间来理解一个复杂的技术。 理想情况下不需要服务器(“主服务器”)来保存configuration 支持configurationWindows和Linux服务器 随附合适的文档以开始使用 有没有人有什么build议最适合的工具? 谢谢
(在这个问题上,我很抱歉,我通常是一个程序员,而不是系统pipe理员,但是我自己做了一些事情的自动化,并且清理了一些其他自动化的东西,但是没有以最漂亮的方式。:-) 我一直在环顾各种各样的工具,将软件部署自动化到cfengine,Puppet和Chef等一堆服务器上。 到目前为止,木偶看起来是最有吸引力的,但我当然还没有承诺任何东西。 这些工具看起来像是可以很好地保持一堆服务器与预先打包的软件的最新状态。 我没有得到的是:如何使用工具(如Puppet)来pipe理我们自己的内部软件的部署? 我觉得我很茫然,因为我看过一千个教程展示了如何让Apache ensure => latest (这非常酷),但是没有什么和我今天的用例相对应,这更像是: 当一个人按下button时, 从版本控制库B中拉出分支A. 运行命令C来编译它 将二进制文件D复制到服务器E1到E10 在每台服务器上运行命令F使所有更改生效 木偶听起来不错,我完全看到声明式,幂等configuration优于一些shell脚本的优点,但我还没有看到任何教程“你想更新你的shell脚本到Puppet(或厨师,或cfengine),所以这就是你应该做”。 有这样的事吗? 其他人是否明白如何把Puppet文档中提供的内容复制到我想要的行为上? 我只是没有得到它? 到目前为止,听起来对于我来说,人类(#1)会手动打包Puppet外部的软件(#2和#3),手动更新Puppetconfiguration,这将触发Puppet更新服务器。 .. 也许? (我在这里有点困惑,因为我敢肯定你可以告诉。) 谢谢!