Articles of configurationpipe

puppet:configuration文件被修改后强制服务重启

我如何确保如果新版本的configuration文件是通过从主存储库的puppet下载到托pipe服务器的相关服务之一重新启动。 典型的情况 – 假设有新的munin或apacheconfiguration。 傀儡客户发现它,覆盖本地文件…和… – 如何确保服务重新启动/重新加载? 非常感谢!

configurationpipe理:推和基于拉的拓扑

像Puppet和Chef这样的更为成熟的configurationpipe理(CM)系统使用基于拉式的方法:客户端定期轮询中央主站以获取更新。 他们中的一些人也提供了一种无主的方法(所以基于推送),但是声明它不是“生产”(Saltstack)或“不可扩展”(Puppet)。 我知道的唯一一个系统就是从一开始就是基于推动力的是Ansible。 拉式系统的具体可扩展性优势是什么? 为什么添加更多的推拉大师比push-agent更容易? 例如, agiletesting.blogspot.nl写道: 在“拉”系统中,客户彼此独立地联系服务器,所以整个系统比“推”系统更具可扩展性 另一方面,Rackspace展示了他们可以使用基于推送的模型处理15K系统 。 infastructures.org写道: 我们发誓维护基础设施,使用像SUP,CVSup,rsync服务器,或cfengine的工具拉方法。 每台客户端机器不需要将更改推送给客户端,而是需要负责在启动时对黄金服务器进行轮询,然后定期维护自己的rev级别。 在采用这个观点之前,我们开发了基于ssh,rsh,rcp和rdist的广泛的基于推送的脚本。 我们在r命令(或者ssh)中发现的问题是:当你运行一个基于r命令的脚本把一个变化推送到你的目标机器上时,可能性是,如果你有超过30个目标主机,在任何时候都会下降。 维护委托机器的列表成为一场噩梦。 在编写代码来纠正这个问题的过程中,你将最终得到精心devise的包装代码来处理:来自死亡主机的超时; logging和重试死的主机; 分叉并行,尝试在合理的时间内击中多个主机; 最后检测并阻止源机器上所有可用的TCP套接字与所有出站rsh会话的使用情况。 然后,你仍然有问题,就是为将来要安装的所有新主机安装映像,以及为明天将要重build的任何主机重复安装映像。 在经历了基于r-command复制的麻烦之后,我们发现它不值得。 我们不打算再次使用r-命令来pipe理基础架构,或者使用任何其他推送机制来pipe理基础架构。 它们不像基于拉的方法那样成比例。 这不是一个实现问题,而不是一个build筑问题? 为什么编写一个线程化的推式客户端比一个线程化的拉式服务器更难呢?

如何使用Ansible处理SSH端口更改?

我正在尝试使用Ansible来自动化新服务器实例的设置过程。 其中一个设置任务改变了默认的SSH端口,因此需要我更新主机列表。 如果无法将连接build立到默认的SSH端口,可以通过让Ansible回退到指定的端口来实现自动化?

自动化的Linux部署和小规模的configurationpipe理 – 值得吗?

我即将部署运行Debian的〜25台服务器。 机器将有不同的angular色 – networking服务器,Java应用服务器,代理服务器,MySQL盒子。 未来的环境可能不会增长太多 – 未来2年可能会增加2-5台服务器。 我可能会使用fai进行系统安装,但是我不确定是否值得添加cfengine或puppet集中式configurationpipe理。 configurationpipe理对于这种规模的环境是否有意义?

configurationpipe理工具(Puppet,Chef)能够保持安装的软件包是最新的吗?

对于那些已经在运行configurationpipe理工具的人来说,这可能是一个简单的问题。 像Puppet或Chef这样的configurationpipe理工具是保持已安装软件包最新的正确方法吗? 假设我运行了大量基于Debian和Ubuntu的服务器。 安全更新或错误修复出现时,configurationpipe理工具是否可以更容易地更新从存储库安装的软件包? 我目前运行“无人参与升级” ,让系统自动安装安全更新,但我仍然需要连接到服务器,并经常运行aptitude update && aptitude safe-upgrade 。 自然,这会变得无聊,乏味和容易出错的服务器越多。 像Puppet或Chef这样的工具是保持安装的软件包是否正确的正确方法? 是否有人使用这些工具来避免在15台服务器上手动运行aptitude或同等function? 我相当肯定这些问题的答案是“是的,当然!” 但是我在哪里可以find关于这个特定用例的更多信息? 我还没有时间深入研究木偶或厨师,菜谱或类只是显示安装一个特定软件包(比如ssh)的简单例子。 除了官方文档外,你是否有任何资源可以推荐(当然,只要知道这些工具是否适合我,那么我将研究这些文档)。

我如何pipe理数百个IPMI BMC?

我有超过200台电脑可以提供IPMI服务。 这些服务器是由几家不同的公司(SuperMicro,Dell等)生产的,大约有5个不同的供应商有6-7个BMC模型,每个模型都有它自己的特性。 到目前为止,我们一直在使用DHCP和手动configuration每个BMC来configurationBMC。 手动configuration可以使用可启动CD-ROM,BIOS(如果支持)configuration,从主机操作系统使用ipmitool , freeipmi等实用程序完成,或者使用ipmitool远程执行,如果我们可以确定设备。 不过,这种手动configuration相当繁琐。 在某些情况下,我们希望在所有BMC上全局更改设置,这要求pipe理员对几十个盒子运行一个命令。 由于BMC由不同的供应商提供,每个BMC型号可能都有自己的特性,所以相同的命令并不总是适用于所有的BMC。 是否有任何工具可以让我在几十个盒子上批量configurationBMC? 假设我想要查询几十个不同的BMC上的参数,或者更改密码,禁用HTTP访问WebUI或者禁用臭名昭着的密码零安全漏洞。 任何可以让我更新BMC固件的实用程序奖励积分,这是缓解多个安全漏洞所必需的

Linuxpipe理员如何改进他们的shell脚本和自动化技能?

在我的组织里,我和一些NOC的工作人员,初级工程师和一些高级工程师合作。 所有的重点都放在Linux上。 公司发展才能的一个有趣的步骤是从NOC到高级工程队伍。 把人才库看作是一个相对较新的人才,我发现技能组合中有一个分化趋势会随着时间的推移而增长。 有一些工程师能够很好地了解一种或几种特定的技术,并不断沉浸其中,例如MySQL,防火墙,SAN存储,负载均衡器等。 还有其他人是通才,可以导航多种技术。 所有人都学习了足够的Linux(命令,进程)来完成他们每天所需要的和使用的任务。 一些员工之间的差异化因素是他们如何包含脚本,自动化和configurationpipe理方法。 例如,我们有两名工程师负责Amazon AWS CloudFormation的大部分工作,另一名负责处理大部分Puppet基础设施。 也许四分之一的工程师擅长BASH shell脚本。 在DevOps技能在求职市场中 令人难以置信的高度需求的背景下,我很好奇其他组织如何促进这些技能的发展并培养他们的内部人才。 脚本似乎不是一个特别可教的概念。 系统pipe理员如何改进他们的shell脚本? 对于那些没有/不能跟上DevOps范式的工程师,还有一个地方吗? 我们是否简单地认为,随着这些技术的发展,有些人会被抛在后面呢? 可以吗?

Configuration Management是否可用于less量的服务器?

如果我使用Ansible或Puppet这样的东西,而我只有两台服务器,那是否会破坏使用这些产品的目的呢? 我想,如果我configuration了一台服务器,我可以使用其中的一个在另一台上复制它。

如何从Ansible和Vagrant启用额外的debugging输出?

我正在调查Ansible服务器和应用程序configuration。 我的应用程序目前在Vagrant中configuration了shell脚本。 我没有重写我的脚本,而是拿了一个样本 ,试图部署它。 似乎部署得很好,但是在看起来像一系列成功的步骤后,我看到了失败的消息: » vagrant provision ~/vm/blvagrant 1 ↵ [default] Running provisioner: ansible… PLAY [web-servers] ************************************************************ GATHERING FACTS *************************************************************** ok: [192.168.9.149] TASK: [install python-software-properties] ************************************ ok: [192.168.9.149] => {"changed": false, "item": ""} TASK: [add nginx ppa if it ubuntu 10.04 and up] ******************************* ok: [192.168.9.149] => {"changed": false, "item": "", "repo": "ppa:nginx/stable", "state": […]

你推荐什么工具来跟踪Linux / Unix服务器上的变化

我为电子邮件,caching,Web服务,过滤,防火墙/路由等多个angular色pipe理多个Linux服务器。 由于我不拥有这些电脑,只提供远程支持,像Puppet这样的中央pipe理系统似乎并不是正确的工具。 (如果你认为我错了这个假设,请纠正我) 你推荐哪些工具来跟踪configuration文件,软件包安装等的变化? 我想像etckeeper可能接近我所需要的东西,但我想知道是否有更好的东西。 更新 我们将备份这些系统,我不希望这种types的工具可以替代备份。 这是关于跟踪configuration的变化,并build立一个系统,以了解什么时候,谁,以及希望为什么改变。