Questions tagged «puppet»

Puppet是一种配置管理工具(Unix和Windows),具有自己的域特定语言。


7
版本控制工头和木偶
我是第一次设置Foreman,但不确定如何将所有配置置于版本控制下。我知道我可以对在Puppet主机上安装的每个模块使用Git,但希望使用更全面的解决方案,该解决方案不仅包含模块,还包含与每个主机关联的类以及主机上设置的任何变量。任何建议以及相关的工作流程将不胜感激。如果相关的话,我确实将GitLab设置为站点上的中央Git服务器,并计划尽快设置诸如Jenkins的CI服务器。

3
木偶:尝试配置木偶客户端以供首次使用,但证书出现问题
我正在尝试配置客户端“ Itai-test”以从称为“ puppetmaster”的人偶服务器接收人偶设置。 在我运行的服务器上: [root@puppetmaster requests]# puppet cert --generate itai-test.domain Error: A Certificate already exists for itai-test.domain [root@puppetmaster requests]# puppet cert --sign itai-test.domain Error: Could not find certificate request for itai-test.domain [root@puppetmaster requests]# 在the客户端上,我运行了: [root@itai-test temp]# puppet agent --server puppetmaster.domain --waitforcert 60 --test Notice: Did not receive certificate Notice: Did …

3
是否可以使用Puppet来确保目录中存在多个文件而不定义所有文件?
我有数百个一次性服务器,这些服务器具有需要在目录中显示的不同配置文件。这些文件的副本位于木偶母版上。 在我的一个类中,我有一组默认配置,这些配置总是推送到节点,如下所示: file { "/etc/someprogram/config/000-default": ensure => "present", owner => "root", group => "root", mode => 0764, source => "puppet:///modules/someprogram/000-default", } 我想要的是这样的: $filearray = directory listing of /etc/puppet/modules/someprogram/files/$fqdn with each file as an element into array $filearray.each( file { "/etc/someprogram/config/$filename": ensure => "present", owner => "root", group => "root", mode …

2
使用Puppet从PPA安装软件包
我正在尝试自动预配置docker的VM。 我的默认init.pp看起来像: class { 'apt': always_apt_update => true, } package { [ #'build-essential', #'vim', #'curl', #'zsh', #'git-core', #'htop', #'wget', #'linux-image-generic-lts-raring', 'python-software-properties' #'lxc-docker' ]: ensure => 'installed', } apt::ppa { 'ppa:dotcloud/lxc-docker':} # refresh apt source exec { "apt-update": command => "/usr/bin/apt-get update && apt-get install lxc-docker --force-yes", returns => 100 } …
8 puppet  vagrant 

2
没有APT推荐与p
我使用puppet管理一堆Debian服务器,其中包括安装软件包。我在多个系统上安装的一个软件包是nmap,用于验证防火墙规则是否正确设置。在Debian 7.0上,如果启用了APT :: Install-Recommends,那么您会得到一堆废话以及nmap(请参见下文)。 我不希望安装所有包含建议启用nmap的废话。一种解决方案是使用来更新我的apt配置APT::Install-Recommends "0";。但我不想将其设置为默认值。我想推荐的大多数时间都包括在内。推荐的软件包大部分都很好,而且我没有得到很多我不需要的东西。但是有一些软件包带来了我不想要/不需要的东西。 package { 'nmap': ensure => installed, require => Class['apt'], } 使用“ apt”软件包提供程序时,是否有任何方法可以控制是否通过p安装了推荐内容? 我不想弄混aptitude提供商,因为apt和aptitude并不完全兼容。 有推荐 root@fw-01:~# apt-get install nmap Reading package lists... Done Building dependency tree Reading state information... Done ... The following NEW packages will be installed: fonts-droid fonts-liberation ghostscript gnuplot gnuplot-nox groff gsfonts …
8 debian  puppet  apt 

4
在Puppet中向/ etc / hosts文件添加一段文本的最佳方法是什么?
我还希望保留手动编辑主机文件的功能,至少要保留前10行。 #Public IP's - eth0 192.168.1.103 front-01 192.168.1.106 front-02 #Private IP's - eth1 192.169.40.201 priv0-0 192.169.40.202 priv0-1 192.169.40.207 priv1-0 192.169.40.208 priv1-1 #Virtual IP's - eth0:1 192.169.50.202 vip-01 192.169.50.205 vip-02 将这些主机条目放在/ etc / hosts的底部,将是完美的。做这个的最好方式是什么?有没有比编写8条主机行清单更好的方法? # create a simple hostname and ip host entry host { 'front-01': ip => '192.168.1.103', } 可能有一些服务器组在/ …
8 puppet 

2
简单的Windows + Linux服务器配置?厨师/人偶/ Ansible等[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我主要是一名开发人员,兼职开发人员;并在这里和那里管理我的项目的服务器。 我想自动为我的项目配置Web /应用程序/数据库服务器 我同时管理Windows和Linux服务器(VPS,云服务器和专用服务器) 我已经简要地研究了调查过的厨师/木偶/ Ansible;我想找到一些东西: 很容易学习和理解。我不想花数周的时间来理解一项复杂的技术。 理想情况下,不需要服务器(“主服务器”)来保存配置 支持Windows和Linux服务器的配置 随附适当的文档以开始 是否有人对哪种工具最合适有任何建议? 谢谢
8 puppet  chef 

1
如何为定义类型的通知或订阅设置处理程序?
如何在人偶中将处理程序添加到已定义的类型?例如,如果我有: define foo::bar ($baz) { ... } 我如何拥有处理程序foo::bar来处理包含 ... notify => Foo::Bar['zippidy'] ... ? 处理程序在收到通知时将在条件逻辑中运行各种Exec。
8 puppet 

4
如何在Puppet中将字符串转换为整数?
我想检查变量的内容是否为奇数。但是我需要一个整数。 $ip_array = split($ipaddress, '.') $odd_ip = $ip_array[3] % 2 if $odd_ip == 1 { notice("is odd") } 有没有简单的方法可以将字符串转换为整数?
8 puppet 

2
如何从人偶运行Shell脚本?
我需要安装使用新手来npm完成的安装,我对应该如何做感到有些困惑。curl http://npmjs.org/install.sh | shpuppet 我很清楚创建一个package {}调用exec目标的条目,但是当我npm从源代码安装时,这不会削减它。 显然,我不想npm每次都进行构建puppet,因此我需要某种方式来检查它是否已安装,因此仅制作一个exec {}也是不够的。 我能做什么?
8 puppet  node.js 

3
木偶导出资源以获取.erb文件变量?
场景:我的配置文件由.erb包含以下代码段的文件定义。 <% backupclients.each do |backup_files| -%> Job { Name = "Server" JobDefs = "DefaultJob" Client = <%= backup_files %>-fd Pool = TeraMonth Write Bootstrap = "/var/lib/bacula/<%= backup_files %>.bsr" } <% end -%> 服务器的配置文件需要为每个客户端主机重复输入。如果我要创建一个简单的数组,则可以正常工作。但是,我想要做的是让每个主机自己注册,然后使用<<| |>>类似于对nagios_*类型的用法进行编译的方式收集数据。 为此的标准示例涉及导出类型。 class ssh { @@sshkey { $hostname: type => dsa, key => $sshdsakey } Sshkey <<| …
8 puppet 

2
如何为aptitude或apt-get提供dpkg配置参数?
安装gitolite时,我发现: # aptitude install gitolite The following NEW packages will be installed: gitolite 0 packages upgraded, 1 newly installed, 0 to remove and 29 not upgraded. Need to get 114 kB of archives. After unpacking 348 kB will be used. Get:1 http://security.debian.org/ squeeze/updates/main gitolite all 1.5.4-2+squeeze1 [114 kB] Fetched 114 …


2
将人偶客户端迁移到新的人偶大师
如何迁移现有的puppet客户端以指向新的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,这基本上是什么在提出 木偶客户迁移到新的木偶大师(旧木偶大师服务器跑掉了,只有使用备份) 不幸的是,我的客户仍然知道有些不对劲,并给我以下错误: sudo puppetd --test --server newservername.example.net --noop info: Retrieving plugin …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.