Articles of puppet

如何跟踪虚拟主机和来宾和IP地址?

在内部,我们有几个VM主机。 我们不断在这些主机上提供新的客人。 什么工具,你们用来跟踪哪些主机,你有什么主机系统统计,你在这些主机上有什么客人,关于在客人上运行什么应用程序的笔记,这将是很高兴看到什么每个客人都列出虚拟IP,并能够将其追踪回主机? 我们使用VMWare

每个dynamic环境都有不同的层次结构

是否可以为给定的环境定义一个单独的hiera.yaml ? 目前我正在使用dynamic环境 。 每个人都有自己的hiera数据目录,根据我的hiera.yaml文件。 :yaml: :datadir: /var/lib/hiera/%{environment} 一个缺点是所有这些环境都受到相同的层次结构的影响。 我认为这对于许多共享木偶大师的团队来说不是很合适。 那么最好的select是什么?每个团队都有一个专门的Puppet master,有一套服务器要维护?

针对使用Puppet的用户pipe理点文件的build议

目标是在中心位置有一个点文件( .bashrc , .vimrc等)的集合。 一旦它在那里,Puppet应该推出文件到所有托pipe服务器。 我最初是想给用户FTP访问他们可以上传他们的点文件,然后有一个rsync cron作业。 但是,这可能不是最优雅或强大的解决scheme。 想看看别人是否有一些build议。

木偶:如何使用Puppet 3.0模板中的MySQL表中的数据?

我有一些数据的真实来源是在MySQL数据库中,数据的大小预计会在几千行的范围内(在最坏的情况下),我想用puppet来configuration文件一些具有这些数据的服务器(大部分是迭代通过模板中的这些行)。 我目前正在使用Puppet 3.0.x,而且我不能改变MySQL将成为这些数据的权威来源的事实。 请注意,数据来自外部,而不是来自木偶或受pipe节点。 那里有什么可能的方法? 你会推荐哪一个? 外部节点分类器在这里有用吗? 我的“最后的手段”是定期将表格转储到YAML文件中,然后通过Hiera读取到Puppet模板,或者直接将表格转储到一个或多个预先格式化的文本文件中以准备复制到节点。 关于系统用户有一个关于SF的未解答的问题,但根本问题可能类似于我 – 他试图从MySQL获取数据。

puppet将两行作为一行插入到configuration文件中

我创build了下一个Puppet清单文件: node 'puppetmaster' { package { "screen": ensure => "installed"} $enhancers = [ "pixman","pixman-devel","libXfont","tigervnc-server" ] package { $enhancers: ensure => "installed" } file { '/etc/skel/.vimrc': content => ":set nu\n :set incsearch\n :set ignorecase\n :set smartcase\n:set ts=2",} file { '/root/.vimrc': content => ":set nu\nset incsearch\n:set ignorecase\n:set smartcase\n:set ts=2",} file { '/etc/sysconfig/vncserver': content => 'VNCSERVERS="6:root"\nVNCSERVERARGS[6]="-geometry 1152×864"',} } […]

当主控从命令行运行时,在乘客作品下运行时,puppet主REST API返回403

我正在使用puppet install中提供的标准auth.conf作为在Nginx下通过乘客运行的puppet master。 但是,对于大部分的目录,文件和certitifcate请求,我得到一个403响应。 ### Authenticated paths – these apply only when the client ### has a valid certificate and is thus authenticated # allow nodes to retrieve their own catalog path ~ ^/catalog/([^/]+)$ method find allow $1 # allow nodes to retrieve their own node definition path ~ ^/node/([^/]+)$ method find allow $1 # […]

Ubuntu部署工具包

我们已经成功和愉快地使用Microsoft Deployment Toolkit来执行Windows桌面安装。 我们也有一系列的Ubuntu桌面,我们希望build立一个类似的安装方法。 我们的计划也是开始实施Puppet作为这个改变的一部分,以执行configurationpipe理。 我们要做的是使用一些方法(希望类似于MDT)在一台机器上获得Ubuntu的基本安装,然后使用Puppet来configuration其他的东西。 有没有一个Ubuntu的工具,可以自动化与预先configuration的基本选项(主机名,软件包,用户)的桌面安装?

傀儡onlyif与pgrep不起作用

我只想在puppet中使用一个exec,如果它的进程没有运行的话 exec { "execute me": onlyif => "pgrep -fc 'ruby execute.rb'", command => "execute me", } 所以在上面的情况下,如果进程“ruby execute.rb”已经在运行,exec不应该运行 pgrep -fc 'ruby execute.rb' will return 1. 然而 这个命令似乎总是在傀儡中运行。 在我的Linux机器上,当我做pgrep -fc'ruby execute.rb'我总是得到一个超过0的值。 我的命令有什么问题吗?

你如何在Puppet Manifest中使用variables?

我在Centos 7.2上使用带有Puppet Master的WSUS模块。 我的Puppet Agent服务器正在运行Windows Server 2012。 我想用一个variables的清单。 但是,当Puppet Agent服务器运行puppet代理时,它将显示“错误400,语法错误”。 我试图重写清单和每个我能想到的变化。 我不断收到一些错误。 这是一个清单的一个例子: class excellent { class { 'wsus_client': $cool = 'Saturday' server_url => 'http://acme.com', auto_update_option => 'Scheduled' scheduled_install_day => $cool, scheduled_install_hour => 1, } } 我试过在花括号{}中分配variables。 我试着用$ LOAD_PATH,–custom-dir和FACTERLIB。 但我不知道如何使用这三个中的任何一个。 我想在一个地方更改variables,并在其父类的范围内使用它。 我该怎么办?

为什么傀儡会排除一个文件资源没有错误?

最奇怪的事情发生在这个木偶运行(使用Puppet Apply ),它让我困惑。 我尝试了我平常的渠道find解决办法,但是我找不到任何关于这个主题的内容。 我很抱歉如此冗长,我只是不想留下任何东西:\ – 我的课 class c2c::profile::app::logio::stage_support { # Log.io plugin # Create plugin directories exec { "create_codec_dir": command => "/bin/mkdir –parents /etc/logstash/plugins/logstash/codecs –mode=0775", creates => '/etc/logstash/plugins/logstash/codecs', } # Install plugin file { "logio_plugin_file": # update: added in response to a serverfault comment ensure => file, path => '/etc/logstash/plugins/logstash/codecs/logio.rb', mode => '0775', owner […]