Puppet 是用于配置管理和部署的开源软件。它成立于2005年,是多平台的,甚至有自己的声明性配置语言。

通常管理和维护相关的数据库系统(或者软件),由监控和日常维护组成。这甚至适用于那些通过调度工具由脚本或命令操作的任务。然而,在大型基础架构上执行这些任务时,复杂性会成倍增加。Puppet通常可以解决这类大规模问题,因为Puppet以非常敏捷的方式集中并自动化了这些操作的性能。
Puppet在执行配置的客户机/服务器级别的架构中工作;这些操作被扩散并在所有客户端(也称为节点)上执行。
代理节点通常每30分钟运行一次,收集一组信息(处理器类型、体系结构、IP地址等…),也称为事实,然后将信息发送给主服务器,主服务器正在等待回答,以查看是否有任何新的配置要应用。
这些事实将允许主节点为每个节点定制相同的配置。

用一种非常简单的方式来说,Puppet是当今最重要的开发工具之一。在这个博客中,我们将看到以下内容…
- Puppet和PostgreSQL的用例
- 安装Puppet
- 配置和编程Puppet
- 为PostgreSQL配置Puppet
以下描述的Puppet(5 . 3 . 10版)的安装和设置是在一组使用CentOS 7.0作为操作系统的主机中执行的。
Puppet和PostgreSQL的用例
假设您的防火墙在托管您所有一种数据库系统服务器,那么就有必要拒绝所有到PostgreSQL的出站连接,并尽快这样做。

Puppet是这种情况下的完美工具,尤其是因为速度和效率至关重要。我们将通过管理参数来讨论“为PostgreSQL配置Puppet”一节中给出的这个示例侦听地址(_ d)。
安装Puppet
在主主机或代理主机上执行一组常见步骤:
第一步
更新/etc/hosts包含主机名及其IP地址的文件
192.168.1.85 agent agent.severalnines.com
192.168.1.87 master master.severalnines.com puppet
第二步
在系统中添加傀儡存储库
$ sudo rpm –Uvh https://yum.puppetlabs.com/puppet5/el/7/x86_64/puppet5-release-5
对于其他操作系统或CentOS版本,最合适的存储库可以在中找到木偶公司百胜仓库。
第三步
网络时间协议服务器的配置
$ sudo yum -y install chrony
第四步
这编年史用于同步来自不同NTP服务器的系统时钟,从而保持主服务器和代理服务器之间的时间同步。
一旦安装完毕编年史必须启用并重新启动它:
$ sudo systemctl enable chronyd.service
$ sudo systemctl restart chronyd.service
第五步
禁用SELinux参数
在档案上/etc/sysconfig/selinux必须禁用参数SELINUX(安全性增强的LINUX),以免限制两台主机上的访问。
SELINUX=disabled
第六步
在安装Puppet之前(主或代理),必须相应地定义这些主机中的防火墙:
$ sudo firewall-cmd -–add-service=ntp -–permanent
$ sudo firewall-cmd –-reload




