Articles of configurationpipe

我怎样才能通过木偶configuration智能主机的exim4?

我试图通过傀儡自动化的设置。 我遵循这里描述的方法,这为我几个包工作,但为了进出口我有一个问题:一个select没有正确应用在一个新的系统。 在设置exim或运行dpkg-reconfigure exim4-config ,我select了如下面截图所示的smarthost选项 将select导出到文件导致以下(剥去一些部分) $ debconf-get-selections | grep exim exim4-config exim4/dc_other_hostnames string my.other.hostname exim4-config exim4/dc_eximconfig_configtype select mail sent by smarthost; received via SMTP or fetchmail exim4-config exim4/no_config boolean true exim4-config exim4/hide_mailname boolean true exim4-config exim4/dc_postmaster string exim4-config exim4/dc_smarthost string my.smarthost.com::port exim4-config exim4/dc_relay_domains string exim4-config exim4/dc_relay_nets string exim4-base exim4/purge_spool boolean false exim4-config exim4/mailname string […]

在盐命令的主人的名字

我对盐很新,所以有可能我错过了一些东西,但是我无法弄清楚。 我使用salt作为命令执行工具(到目前为止没有configurationpipe理)。 我无法find一种方法来从盐唾手可得的configuration,并把它们放到git存储库。 我最终试图实现的是给盐主这样的configfiles列表 /etc/ssh/ssh_config /etc/vim/vimrc etc. 并得到salt-master运行获取这些文件,把它放在文件夹中 /srv/salt/minions/configs/minion01/etc/ssh/ssh_config /srv/salt/minions/configs/minion02/etc/ssh/ssh_config 那么我可以让主人把所有的东西都推到我们的git服务器上,并且让所有的configuration版本化。 我知道salt可以处理状态,但我发现的一切都是关于将文件从主文件推送到备用文件以保持状态,但是我只想从所有服务器收集所有更新configuration并自动对其进行版本。 有一个命令叫 salt \* cp.push /etc/ssh/ssh_config 这将configuration文件推到/ var / cache /盐/ minion / minion01 /文件/ etc / ssh / ssh_config,这似乎是完美的,但我不知道如何告诉盐做文件更改(我们有几个服务器和大量的configuration到版本…),只有取得它,如果它已经改变,所以我不必每隔五分钟左右(通过cron)获取所有文件。 任何人都有一个想法如何用盐做到这一点? 问候,Mohrphium

是否有理由将SSH私钥存储在盐柱中而不是作为国家一部分的文件?

我有一套系统(在AWS中)都需要相互无密码的SSH访问。 我写了一个Salt状态,它复制一个密钥对(我以前生成的公钥/私有SSH-RSA密钥),并将相应的条目添加到用户的authorized_keys文件中。 现在我将公钥和私钥作为文件存储在Salt状态,并将它们存入我的状态定义中。 不过,我注意到在salt.states.file.managed()文档中提供了一个将私钥存储在Pillar中的示例,然后使用contents_pillar获取私钥的内容。 是否有一个原因,我可能要存储我的私人(甚至是公共)关键内容在Pillar而不是只是在国家的目录中的文件? 我不确定是否有安全优势,因为内容最终会在每个系统上结束。 我用Pillar做了其他一些事情,但不确定是否有一个好的案例在这里使用它。

Ansible – 使用主机IP作为文件副本的variables

我正在寻找与Ansible进行configurationpipe理的方法。 我有结构repo / 1.2.3.4 / file.conf。 Ansible可以获得每台主机的IP 1.2.3.4并将文件部署到主机上吗? 使用variables将使configuration更容易。 – copy: src=/repo/$IP/file.conf dest=/etc/file.conf owner=foo group=foo mode=0644

如何在单个nginx服务器上托pipe和pipe理数千个低stream量网站

我们公司已经创build了简单的CMS应用程序,它计划出售给成千上万的小公司。 现在,我们的CMS应用程序将html文件吐出到目录结构中的预configuration目录,如下所示: root: /foo.com /bar.com /……. 使用虚拟主机pipe理这些网站是不现实的。现在,我们正在使用一个简单的机架模块,根据HTTP_HOSTfind正确的文件,并通过从硬盘读取文件返回适当的html。 这显然不是一个最佳的解决scheme。 你们会做什么来解决这个问题?

指定Puppet自定义事实的先决条件?

我写了一个自定义Puppet的事实,需要安装biosdevname工具。 我不知道如何正确设置,以便在工具尝试实例化自定义事实之前安装此工具。 事实是在这个过程的早期加载的,所以我不能简单地在清单中放置一个package { biosdevname: ensure => installed } ,因为在Puppet得到这个的时候,这个自定义事实已经失败了。 我很好奇,如果我能通过Puppet的运行阶段来解决这个问题的话。 我试过了: stage { pre: before => Stage[main] } class { biosdevname: stage => pre } 和: class biosdevname { package { biosdevname: ensure => installed } } 但是这不起作用……木偶在进入pre阶段之前加载事实: info: Loading facts in physical_network_config ./physical_network_config.rb:33: command not found: biosdevname -i eth0 info: Applying configuration version […]

木偶企业与开源

我有兴趣学习使用Puppet。 我反复看到的一个例子是用户pipe理。 据Puppet网站介绍 ,“configurationpipe理 – 用户账号”是Puppet Enterprise中唯一存在的function。 然而,我所看到的例子并没有提到需要企业版本。 FAQ的部分内容是: 我们只有一个开源版本的Puppet。 那么如果希望同时pipe理超过10个节点的用户,那么还需要为Puppet Enterprise支付费用吗? 我猜测那里的模型可能与Red Hat类似? 像Ubuntu这样的分布式软件包实际上是对木偶企业的分布?

使用ssh创build隧道时,Command或Shell任务挂起

我正在使用Ansible推送configuration。 我有一个剧本里面的任务,我想在MongoDB的后台启动一个SSH隧道。 我正在使用的任务命令是 – name: Start tunnel service shell: ssh -f -N -L 27018:localhost:27017 mongo@remote-server 但是无论我做什么,我都不可能继续下去。 相反,它会挂起或者像是在等待某个东西来返回响应。 如果我在正常情况下在shell中运行这个命令,它没有任何问题,我可以连接到远程mongo实例。 起初我以为是因为我正在build立一个新的服务器,ssh的known_hosts正在等待用户回应是/否继续前进。 在这种情况下,我尝试了两个选项。 首先,我尝试将服务器的指纹添加到known_hosts文件中。 从shell运行后,它并没有要求一个known_hosts条目,但是ansible也是挂着的。 我也试过了 ssh -o StrictHostKeyChecking=no -f -N -L 27018:localhost:27017 mongo@remote-server 但是,这个选项也会产生同样的问题。 我尝试在ansible的命令和shell模块之间切换,而不会对问题做任何改变。 我最近的实验是在命令前尝试nohup,但是这也不起作用。 nohup ssh -f -N -L 27018:localhost:27017 mongo@remote-server 也试图得到有创造力的想法,如果一个不同的过程能够运行命令,然后它会发送一个响应回合,我试图把它作为一个Upstart任务包装。 我把shell命令放在一个/etc/tunnel.sh文件中,并且把upstart脚本放在/etc/init/tunnel.conf 。 但是这也不起作用,似乎实际启动脚本时遇到麻烦。 如果我运行sudo service tunnel start它将启动,但有麻烦停止。 尽pipe通过一个命令来执行这个命令并没有做任何事情,只是像所有其他的实验一样坐在那里挂起来。 – name: Start tunnel service […]

configurationpipe理工具故障转移行为

我目前正试图将“DevOps”出售给我的pipe理层,我正在调查的其中一项是configurationpipe理工具。 对我们来说最重要的事情之一是我们有一个系统具有高可用性和良好的故障转移行为。 对于CF引擎,这不是一个问题,因为每个节点都可以configuration为作为服务器运行,如果服务器不可用,运行将继续。 对于木偶,您可以selectMaster / Masterless模式以及他们的优缺点。 对于Chef,初始运行需要主服务器获取策略,但是在此之后,如果主服务器不可用,任何运行都将继续使用当前的策略。 对于Salt,如果主服务器出现故障,则不执行configuration,因为所有操作都在主服务器上完成 对于Ansible(如盐),如果主服务器出现故障,则不再强制执行configuration,因为所有操作都是由主服务器完成的 我没有在此列表中包含Windows PowerShell DSC,因为我当前的用户案例是,我将使用PowerShell DSC协助pipe理Windows系统,使用Puppet,Chef,Ansible,Salt或CF-Engine作为整体pipe理工具 我想知道,如果我对各种工具的理解是否正确,是不是原因?

基于rpm的系统configurationpipe理

场景: 我有一个基于RPM的计算机的networking,需要标准化,有时需要更新一些可预测的* NIXconfiguration文件: nsswitch.conf , ntp.conf , ldap.conf , syslog.conf等。 (我在启动的时候控制了我可以设置的设置,并且狡猾的logging更改掩盖了大部分networking变化,但是有时我需要到达机器并旋转旋钮。) 现在,我可以修改现有的软件包,并将新软件包引入这些Boxen RPM库,我的想法是通过引入“仅configuration”RPM来标准化它们的configuration 题 然而,立即replace其他RPM所拥有的/etc文件的想法给了我一个暂停。 有没有人有这个努力的实际指导,特别是build议这样做安全吗?