使用Puppet进行多服务器管理

木偶软件允许您管理网络上所有主机上的软件配置。它简化了重复操作,并确保了大量机器之间状态和配置的完整性。一个集中的、单一的主服务器将配置更改和命令推送到从节点,双方都依赖SSL证书来保证安全性。

木偶它来自于企业和Apache许可的开源版本;我们曾与后者。其强大的面向对象的配置语言支持继承和代码重用。木偶可以运行和管理广泛的操作系统 - 的Linux,FreeBSD的,Solaris和甚至是Windows(部分) - 所以它适用于运行Linux的不同分布,甚至不同的操作系统异构服务器环境。

使用Puppet,您可以指定一个清单,其中声明您希望在系统上进行的配置,Puppet会找到达到这种状态的最佳方法。例如,如果你想在一个特定的服务器上安装httpd包,你不需要让Puppet运行yum命令;相反,您可以在一个Puppet配置文件中指定httpd包是必需的,并让Puppet找出安装它的最佳方式。

如何安装木偶

如果你想尝试Puppet,最好的安装方式是通过其官方库。支持许多Linux发行版;为CentOS您可以使用Red Hat Linux及其衍生工具的存储库。

要在CentOS 6上安装当前版本的Puppet repository,请运行rpm -ivh http://yum.puppetlabs.com/el/6/products/i386/puppetlabs -释放- 6 - 6. - noarch.rpm。有了Puppet repo之后,运行该命令安装傀儡在伪从节点上百胜-y安装木偶傀儡服务器在Puppet主服务器上。这些命令不仅可以安装Puppet,还可以安装它的所有依赖项,包括Puppet所基于的Ruby编程语言。理解Ruby可以帮助您设计高级配置ERB模板,但是Ruby只是底层的基础,您不需要了解它就可以使用Puppet。

一个值得注意的依赖项包是Facter,它是一个独立的跨平台工具,可以收集诸如主机操作系统、发行版、体系结构和网络接口等信息。来自Facter的信息对本地节点和主节点都可用。Puppet根据这个信息决定如何将指定的状态应用到每个本地机器。

要确保puppet在CentOS系统中自动启动和停止,请运行以下命令chkconfig傀儡上在从节点和主服务器上运行chkconfig puppet on && checkconfig puppetmaster on

如果你用iptables的防火墙,一定要允许从节点连接到主。默认情况下,TCP端口8140.上的主木偶服务侦听允许它在CentOS iptables的,运行以下命令:

输入-p TCP -dport 8140 -j接受服务iptables保存

最初的傀儡设置

Puppet在开始使用之前需要进行一些小的配置调整。首先,确保从节点可以连接到主节点。默认情况下,从服务器在完全限定域名“puppet”上查找主主机。You can specify a different FQDN for the master by placing the directive服务器= somehost.example.org(主要)每个节点上/etc/puppet/puppet.conf文件中的配置块。或者,您可以简单地在每个节点的/etc/hosts文件中硬编码默认的“puppet”地址,添加一行,如192.168.1.200木偶到该文件的每个实例。

主服务器上的SSL证书必须与节点连接到的FQDN对应。如果您为主服务器保留默认的“puppet”FQDN,那么在/etc/puppet/puppet.conf文件中添加两行代码。节标题(主)指示遵循主指令。指令本身是certname =木偶

现在节点应该知道在哪里找到主服务器,并且能够建立有效的安全连接,这样您就可以第一次手动启动伪服务器服务。在主运行中服务puppetmaster启动&&服务木偶启动。在节点上运行服务傀儡开始

当傀儡服务在节点上启动时,它们试图连接到主服务器,但是主服务器不允许它们自动连接。您必须对连接进行授权,并通过签署节点的证书来建立信任关系。

要查看主服务器上的当前签名请求,请运行该命令傀儡cert——列表。这将产生类似如下的输出:

“server2”(SHA256) 82: A8:费尔南多-阿隆索:BB: CE: 0 d: D5:0A: DB: 7: 3 e: 8 d: A5:62:5B: AC: 91:7D: 9 c: 65:51:5F: 80:50: F7: DB:艾德:36:87:EC: B4: C0“server3”(SHA256) 7 c: 5 c: 05:58: CC: 5: 1 c: D7:7C: 98: CC: C4:34:17: D5:35:1C: 11: E8: DC: 04:92:42:1C: 8 e: 58:36: EA: 5 c: 11:03:9B

要签署节点的证书,请运行命令傀儡cert——标志后跟节点名称:puppet cert——sign server2为例。确保主机的名称可以从主机中解析,以避免出现问题。最简单的方法是在主机文件中添加静态记录。

在主服务器上,要验证证书已经签名,可以使用命令傀儡证书——名单——全部。在输出中,一个证书名称前的加号表示它已经被签名:+“server1”(SHA256)为例。

在节点上,要验证它们能够连接到主节点,请检查/var/log/messages文件,Puppet在默认情况下将其日志发送到该文件。当您成功地创建了与master的关系时,您应该看到如下条目:

server2 puppet-agent[2429]:在0.14秒内完成目录运行

这意味着节点可以连接到主目录并下载和运行目录。目录是什么?很高兴你发问!

伪清单和目录

木偶的配置文件被称为清单。它们包含木偶使用带来节点的期望状态的指示。舱单被编译成一个目录。编译过程中解决依赖,并正确地重新排序的说明。例如,假设你想安装httpd软件包,并把一个要求,即PHP包存在。在这种情况下木偶检查并安装PHP第一必要时再在httpd软件包继续进行安装。

当节点连接到主目录时,它下载目录并在本地运行。运行目录意味着进行检查以确保当前节点状态与主服务器上配置的状态相对应。默认情况下,傀儡从服务器每30分钟连接到主服务器以进行同步。可以在/var/log/messages文件中跟踪Puppet的活动。

/清单被存储在主目录中的等/木偶/清单/使用,默认情况下,.PP的延伸。当你想包括一个名为something.pp文件,你可以删除扩展;木偶寻找要导入的文件时自动追加.PP。

文件的网站。pp是木偶默认加载的主要清单。要从一个简单的示例开始,请创建一个包含以下内容的示例:

节点“server2”{}节点“server3”{包含后缀}导入“后缀”

节点指令有一个节点的FQDN,并指定每个节点的配置。而进口指示?正如一门编程语言,以使配置更加可读和可重用你应该分开在不同的文件中原子片的配置(称为木偶班),并使用导入进口指令。这里我们导入后缀文件的内容。pp,它位于/etc/puppet/manifests/中,与site.pp相同的目录。postfix类看起来像这样:

service {"postfix": ensure =>运行,enable => true,}}

首先,应该安装后缀包(确保安装= >)。你不必告诉傀儡要运行什么命令;它根据Facter提供的详细信息自动查找并使用正确的包管理器。

上述清单亦显示应启动postfix服务(确保= >运行),并添加到默认运行级别(使= > true),这意味着它将随系统启动和停止。

一旦有了上面的类,您就可以将它包括在节点的定义中,就像我们在node server3中所做的那样,以确保节点符合用于后缀的清单。

关于清单的最后一点注意事项:在文件站点中进行更改时。Puppet通过重新加载其配置来自动检测并强制执行它们。如果您更改了导入到站点的文件。pp,你必须更新站点的时间戳。使用命令执行pp触摸site.pp让傀儡认识到这些变化。

Puppet可以通过它的manifest在异构系统上编辑文本文件、提供静态文件、执行安装和调整配置。您可以从官方文档

报告

Puppet支持报告其目录运行情况。在配置之后,节点可以向主服务器发送关于已成功执行和未成功执行的更改和操作的报告。要启用报表,您必须配置节点来发送报表,并配置主节点来接受报表。在节点上,编辑文件/etc/puppet/puppet.conf并添加(代理)部分含有一个新行报告= true。在服务器上,编辑/etc/puppet/puppet.conf,但这次去的(主)部分并添加两行。首先,reportdir = /etc/puppet/reports,指定报表将存储在其中的目录。第二个,报告=商店,为接收到的日志定义默认操作。

在重新启动节点和主服务器上的Puppet之后,您应该开始在目录/etc/puppet/reports中看到报告每个节点在那里创建自己的目录,并以其主机名命名。

傀儡报告yaml格式,是详细和冗长的。每个报告以应用清单的文件名开始;例如,文件:/etc/puppet/manifests/postfix.pp。有一条线信息标签描述发生了什么事:信息:"ensure changed 'stopped' to 'running'"。此消息意味着Puppet已经根据清单中的指令启动了服务。最后一行指定事件发生的时间,例如时间:2012-12-16 07:00:57.326020 +02:00

Puppet报告提供的信息比上面的简单示例多得多。你不会想手动分析它们;工具,如木偶的仪表板可以帮助您可视化报告。

本文只提供了一个光秃秃的介绍,木偶的许多功能。木偶是很强大,但需要一些知识,以及操作它。幸运的是,大量的教育资源可以帮助教你木偶;通过探索开始官方木偶文档

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对最重要的话题发表评论。

版权©2012Raybet2

工资调查:结果在