我在运行CentOS 6的机器上安装了Puppet master和agent
一切顺利,直到我尝试部署一个简单的示例模块:我得到了一个错误,在图片上解释。
尝试编辑文件没有帮助,每次从存储库
实际更新文件我尝试运行一个导致相同错误的不同模块
答案 0 :(得分:0)
错误是因为Ruby代码的格式不适用于旧的Ruby。 CentOS 6上游Ruby包是1.8.7,这是一个超级旧的Ruby版本,并且已经3 years since 2014的EOL。
为了解决这个问题,Puppet开始将Ruby和其他依赖项打包为all-in-one package since Puppet 4的一部分。这意味着当涉及EOL Ruby,OpenSSL和任何其他依赖时,它们没有任何依赖性:它们作为单个RPM捆绑和支持,而不会影响系统包。
这也意味着您不会破坏任何需要不同系统Ruby的应用程序,并且通常会使Puppet变得更容易。
除此之外,CentOS中的Puppet版本是3.X,which is also EOL。你应该升级到Puppet 4.这是一个方便的脚本,它将在CentOS 6上安装Puppet 4代理软件包:https://github.com/petems/puppet-install-shell
如果您因任何原因仅限于使用Puppet 3,那么有一些不太优选的解决方案: