我想知道是否有一台机器连接到多个不同的Puppetmaster实例是否有意义。 我的用例是我有不同的特权级别,我想授予服务器运营商。 我们已经运行了一个相当(~100)广泛的连接到一个Puppetmaster的Puppet客户端,在这个客户端上我们使用导出的资源来configurationNagios,Munin,Backups等等。 相当标准的东西。 但是现在我们有另一个项目,我们为客户build立了一个完全独立的 Puppetmaster,因为我们不想让他们访问我们的内部基础架构。 然而,我们希望将其服务器上的导出资源导入到我们的监控基础架构中,以便我们可以监控他们的机器。 我想另外一个方法来解决这个问题:是否有可能在一台机器上运行(多个?)Puppet客户端,连接到多个不同的Puppetmasters? 或者是否有办法在限制访问的同时在Puppetmaster之间共享导出的资源或数据? (我知道Puppet可以通过在一个负载均衡设置中部署多个Puppetmaster服务器进行水平缩放,这个问题不是这个问题)。
我试图从Windows 10工作站pipe理我们的两台QLogic SANBox 5800v光纤交换机。 不幸的是,由于我认为Java和IE兼容性问题,Web UI不能在Windows 10机器上工作。 首先,您必须通过兼容模式,可信站点和Java安全性设置来跳跃,但是使用最新版本的Java,我只是得到一个Javaexception(Access denied)消息。 目前,我使用GUI来pipe理这些交换机的唯一方法是使用旧版本的IE和Java版本的Vista电脑,这显然不太理想。 SANSurfer现在也被弃用,无论如何我无法在Windows 10上运行。 QLogic无法告诉我如何使用GUI来pipe理Windows 10,并build议我只使用CLI。 这涉及到我必须学习的命令和语法等,因为我没有对QLogic CLIpipe理进行适当的培训,所以我很担心,并且最终可能会导致活动开关失效。
我正在为我们的puppet模块和清单部署版本控制。 我想强制执行一个工作stream程,需要在检入更改之前进行puppet模块和清单代码检查。 这将是有用的,因为它将防止推动代码改变,例如语法错误或更致命的东西。 我最初的想法是部署一个完整的puppetmaster实例,其中可以完成清单和模块更改,并将其作为自身的一个节点。 然后可以用service puppetmaster restart && service puppet restart检查语法,并检查日志是否有错误。 我可以在清单和模块推送脚本中编写该工作stream程。 不过,我想这是一种更优雅的方式。
我有3种不同的方式来安装这个软件包,我更喜欢#1选项,但我想看看是否有理由使用选项#2或3或其他选项? (我这个问题的目标是获得不同方式的反馈,如果可能的话,不要在编译时安装…在这种情况下) 1。 p = package "snmp" do package_name value_for_platform( [ "centos", "redhat", "suse" ] => { "default" => "net-snmp" }, "default" => "snmpd" ) action :install end 第2位。 packages = case node[:platform] when "centos","redhat","fedora" %w{net-snmp} else %w{snmpd} end packages.each do |pkg| package pkg end 3。 package "snmpd" do action :install only_if do platform?("ubuntu", "debian") […]
我刚刚开始了一场演出,并inheritance了大量以下types的异构UNIX系统:hpux(11.11,11.31),aix,mpras,sun solaris(sun 8 9 10),redhat(as3,as4,as5 )和suse(9 10 11)。 从pipe理层的angular度来看,理想的做法是将所有这些系统configuration从希望的一个程序中进行控制和pipe理。 可以理解,这些操作系统中的每一个将具有不同的基本configuration。 要pipe理的项目包括修补程序,软件包和configuration文件。 我刚刚开始看cfengine,看着一些使用颠覆的自己动手的混血儿。 pipe理层希望尽可能使用商业软件包,并想知道您是否对这类应用程序或供应商有任何想法? 感谢您的想法,指针,经验等
我想用puppet把/etc/default/grub的一行改为: GRUB_CMDLINE_LINUX="cgroup_enable=memory" 我试图用augeas似乎做这个魔术: exec { "update_grub": command => "update-grub", refreshonly => true, } augeas { "grub-serial": context => "/files/etc/default/grub", changes => [ "set /files/etc/default/grub/GRUB_CMDLINE_LINUX[last()] cgroup_enable=memory", ], notify => Exec['update_grub'], } 它似乎工作,但结果string不引号,也我想确保任何其他值将被空格分隔。 GRUB_CMDLINE_LINUX=cgroup_enable=memory 是否有一些机制如何附加值和逃避整个事情? GRUB_CMDLINE_LINUX="quiet splash cgroup_enable=memory"
我找不到任何关于此的东西,但是我对使用/etc/services的内部软件有什么优点和缺点感兴趣? 在我的Linux发行版(Ubuntu 14.04) /etc/services结尾处是一个评论: # Local services 暗示这可能是一件好事。 有一点可以想到,在/etc/services中使用内部端口将使serv数据库成为常用知识的参考点,并为系统中的应用程序提供更好的默认端口源。
我们有一个现有的cfengine3社区安装有很多自定义的承诺,它运行在大约50台机器上。 我有兴趣切换到方向舵,我想知道迁移的最佳方法。 Rudder的最新版本似乎基于cfengine 3.6.3,我们正在运行最新的cfengine,它是3.7.1。 所以有一些语法不兼容。 它只会交换最新的cfengine二进制文件吗? 如果没有,迁移的正确方法是什么?
重新configuration托pipe生产站点的Apache服务器的最佳方式是什么? 我使用的基本工作stream程如下: 制作一个与生产相似的testing服务器 重新configurationtesting服务器,使其以我想要的方式工作 等到深夜,交通很低 将我对testing服务器所做的更改应用到生产服务器 重新启动Apache,用手指交叉,它的工作 如果出现任何问题,请回滚并重新启动 因为Apache需要像IP地址这样的东西硬编码到它的configuration中,所以将configuration文件完全从testing服务器复制到生产是不可能的(真的不是直接的)。 所以在生产中应用它们总是有可能出错。 令我完全疯狂的事情是这样的 在任何apacheconfiguration文件中的单一错字取消了该服务器上托pipe的所有网站! 人们如何在大型复杂的生产服务器上处理这个问题? 似乎必须有一种方法来检查configuration将执行什么,或者至less如果是有效的,没有冒着拆除现场的风险。 build议?
我正在考虑将configuration文件硬连接到我的SVNconfiguration库的工作副本。 有什么理由不以这种方式pipe理configuration文件? 假设/ home / user / confmgr / confs是我的configuration库的工作副本。 然后我可以硬链接configuration文件如下 – ln /etc/php.ini /home/user/confmgr/confs/php.ini ln /etc/httpd/conf/httpd.conf /home/user/confmgr/confs/httpd.conf 然后,当我需要编辑一个configuration文件,这是很简单的 cd /home/user/confmgr/confs vi httpd.conf /sbin/service httpd configtest /sbin/service httpd graceful svn commit -m 'adding virtual host to httpd.conf for new project'