有没有类似厨师在github上的公开食谱,这是社区认可的?
我正在用puppet开始构建系统,但是教程还不够,github上的东西还处于开发的后期阶段.
我有一个非常奇怪的问题.我在几台服务器上设置了puppet客户端,但是其中一台服务器有问题.当我调用时:
root@www ~ # puppet agent --server puppetmaster.domain.ltd --test
notice: Ignoring --listen on onetime run
info: Caching catalog for puppetclient.domain.ltd
info: Applying configuration version '1326444431'
notice: Finished catalog run in 3.15 seconds
Run Code Online (Sandbox Code Playgroud)
一切正常.新的更改将应用于系统.
当我尝试从服务器将更改提取到客户端时:
root@www ~ # puppet kick puppetclient.domain.ltd
Run Code Online (Sandbox Code Playgroud)
我在客户端的syslog上遇到错误:
Jan 15 14:01:23 www puppet-agent[20903]: triggered run
Jan 15 14:01:24 www puppet-agent[20903]: Could not retrieve catalog from remote server: Connection refused - connect(2)
Jan 15 14:01:24 www puppet-agent[20903]: Using cached catalog
Jan 15 14:01:24 www puppet-agent[20903]: (/Stage[main]/Cronapt/File[/etc/cron.daily/cronapt]) Could not …Run Code Online (Sandbox Code Playgroud) 我一直在尝试从/ vagrant /使用puppet到vagrant服务apache,我的清单看起来像这样:
class apache {
exec { 'apt-get update':
command => '/usr/bin/apt-get update'
}
package { "apache2":
ensure => present,
}
service { "apache2":
ensure => running,
require => Package["apache2"],
root => '/vagrant/'
}
}
Run Code Online (Sandbox Code Playgroud)
我真的很感激帮助......我对清单文档的糟糕程度感到震惊.
我开始在我目前的项目中使用木偶,我遇到了一些问题.
我正在使用配方来安装jruby,但我想在完成jruby安装后设置一个环境变量(在这种情况下,JRUBY_HOME并修改PATH以包含JRUBY_HOME/bin).
这是食谱:
class jruby {
$jruby_home = "/opt/jruby"
exec { "download_jruby":
command => "wget http://jruby.org.s3.amazonaws.com/downloads/1.7.0.RC2/jruby-bin-1.7.0.RC2.tar.gz",
path => $path,
timeout => 0,
unless => "ls /opt | grep jruby-1.7.0",
require => Package["openjdk-7-jre-headless"]
}
exec { "unpack_jruby" :
command => "tar -zxf jruby-bin-1.7.0.RC2.tar.gz -C /opt",
path => $path,
creates => "${jruby_home}-1.7.0.RC2",
require => Exec["download_jruby"]
}
file { $jruby_home:
ensure => link,
target => "${jruby_home}-1.7.0.RC2",
require => Exec["unpack_jruby"]
}
}
Run Code Online (Sandbox Code Playgroud)
那么,将/ opt/jruby添加为JRUBY_HOME然后将JRUBY_HOME/bin添加到PATH的最佳方法是什么?
ruby jruby environment-variables puppet production-environment
目前似乎Berkshelf仅限于管理Chef Recipes.
只是想知道是否有相当于Berkshelf的东西,但对于Puppet Modules?
我在项目中第一次使用Vagrant和Puppet而且我一直遇到问题.
我使用PuPHPet作为起点,我在default.pp清单中有以下代码段:
class { 'apache': }
apache::dotconf { 'custom':
content => 'EnableSendfile Off',
}
apache::module { 'rewrite': }
apache::vhost { 'awesome.dev':
server_name => 'awesome.dev',
serveraliases => [
],
docroot => '/var/www',
port => '80',
directories => [ { path => '/var/www/', allow => 'from all', allow_override => ['All'] } ],
env_variables => [],
priority => '1',
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我总是得到以下错误:
warning: Could not retrieve fact fqdn
Invalid parameter directories at /tmp/vagrant-puppet/manifests/default.pp:46 on node precise32
The following SSH command responded with a non-zero …Run Code Online (Sandbox Code Playgroud) 我没有找到有关如何显式设置vagrant环境变量的任何信息.
我正在尝试按照这些文档中的描述进行设置VAGRANT_DEFAULT_PROVIDER,vmware_fusion因此我并不总是必须使用vagrant up --provider=vmware_fusion.
我把这行放在我的Vagrantfile中.
VAGRANT_DEFAULT_PROVIDER = "vmware_fusion"
它不起作用,我认为这必然意味着我不知道我在做什么,而且必须做错了.当我运行vagrant up它仍然使用默认的虚拟框提供程序.
augtool Augeas接缝是 Puppet 修改配置文件的流行程序,但是如何修改augtool没有镜头的配置文件?例如:
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Compiz
Exec=compiz
NoDisplay=false
# name of loadable control center module
X-GNOME-WMSettingsModule=metacity
Run Code Online (Sandbox Code Playgroud)
在这个特定的例子中,我想更改NoDisplay为true.
题
是否可以在没有镜头的情况下修改配置文件?可以augtool尝试猜测配置文件的树结构吗?
我正在使用Puppet开源版.
我发现Puppet 3.7.5中有几个组件:
但我不知道他们是如何相互合作的.我见过一个简单的架构,其中只包括puppet-master和puppet-agent.
至于其他组件,我不知道他们是如何合作的.任何人都可以给我一个关于他们如何合作或任何数据流图的详细信息吗?
我有一个非常简单的要求,但我已经尝试了我能想到的所有转义序列,但无法获得所需的输出。
我需要几乎输出到一个文件中:
%{VAR}
Run Code Online (Sandbox Code Playgroud)
这是我的 YAML 文件:
myclass::outputstuff:
- Heres a litteral var %{VAR}
- Heres something else %{SOMETHING}
Run Code Online (Sandbox Code Playgroud)
还有我的 template.erb:
<%= @outputstuff.each do | ostuff | -%>
<%= ostuff -%>
<% end -%>
Run Code Online (Sandbox Code Playgroud)
但它像这样,它输出:
Heres a litteral var
Heres something else
Run Code Online (Sandbox Code Playgroud)
如果我像%%{VAR}其他帖子所建议的那样添加一个百分号,它会输出:
Heres a litteral var %
Heres something else %
Run Code Online (Sandbox Code Playgroud)
如果我添加一个像%\{VAR}它输出的反斜杠:
Heres a litteral var %\{VAR}
Heres something else %\{SOMETHING}
Run Code Online (Sandbox Code Playgroud)
我需要这个哈哈:
Heres a litteral var %{VAR}
Heres something else %{SOMETHING}
Run Code Online (Sandbox Code Playgroud) puppet ×10
vagrant ×4
apache ×2
augeas ×1
automation ×1
bash ×1
berkshelf ×1
chef-infra ×1
deployment ×1
escaping ×1
hiera ×1
jruby ×1
linux ×1
ruby ×1