如何在 CentOS 上安装和配置 Puppet, FedoraUbuntu 或 Opensuse

什么是木偶?

Puppet 是一个直观的任务控制软件,它提供了一种从中央主服务器管理 Linux 和 Windows 服务器功能的简单方法。 它可以在主要由“显现” 文件,用于受控服务器的组或类型。

系统要求

Puppet 使用主/客户端设置在主服务器和客户端服务器之间进行通信。 主服务器将需要比客户端服务器使用更多的资源。 这 资源 主服务器上所需的主要取决于:

  • 正在使用的远程代理(服务器)的数量
  • 这些远程代理检查主服务器的频率
  • 每个远程代理上正在管理多少资源
  • 使用的清单文件和模块的复杂性

注意 Puppet 主服务器必须在称为“ *尼克斯 “ 操作系统。 目前,Puppet master 不能在 Windows 环境中运行。

掌握硬件要求

Puppet 主服务器的最低硬件要求将基于上述多个因素,并在 Puppet 的指南中注明。

客户端软件平台

Puppet-agent(或客户端)包可用于这些平台:

平台

依赖项

如果您通过存储库使用官方分发包安装 Puppet 客户端,那么系统的包管理器通常会确保安装了正确的依赖项。 如果在没有受支持包的平台上安装代理,则还必须手动安装依赖包、库和 宝石

  • 红宝石 2.5.x
  • CFPropertyList 2.2 或更高版本
  • 因素 2.0 或更高版本
  • MessagePack 中的 msgpack gem,如果您使用的是 msgpack 序列化

计时和名称解析

在安装客户端之前,您需要准备、审查和考虑某些网络要求。 最重要的方面包括时间同步和实现名称解析的想法。

计时

您需要确保网络时间协议 (NTP) 服务到位,以确保主服务器(充当证书颁发机构)和客户端之间的时间同步。 建议这样做是因为如果服务器时间漂移不同步可能会出现问题。 您可能会遇到奇怪的证书问题。 NTP 之类的服务(在大多数服务器上都可用)可确保准确计时,并降低发生此类错误的风险。

名称解析

该组件的第二部分是决定一个可迭代的命名约定。 为了 example,通过使用像 puppet.domain.com 这样的主名称建立了这种命名约定的连续性。 这也允许最佳的主站通信,并且所有未来的代理都可以到达主站。 您可以通过使用 CNAME 记录(名称转发 DNS 条目)来简化此操作,以确保主服务器始终可访问。

防火墙配置

在主/客户端设置中,主服务器必须具有端口 8140 打开以允许来自远程客户端的传入连接。 您可以使用以下任一命令来检查端口是否已打开并正在侦听:

root@master [~]# netstat -tulpn | grep LISTEN |grep 8140
root@master [~]# lsof -i -P -n | grep LISTEN |grep 8140

如果上述命令没有返回任何内容,则您需要打开端口 8140。要在 UFW 防火墙中打开该端口,请使用以下命令:

root@master:~# ufw allow 8140/tcp
Rules updated
Rules updated (v6)
root@master:~#

木偶安装

通常,Puppet 默认使用大约 2 GB 的 RAM。 计划这个数量加上运行服务器操作系统本身所需的任何额外 RAM。 如果您计划创建 2 GB VPS 服务器或专用服务器,如果您打算将其用作 Puppet Master,请选择具有 4 GB RAM 的服务器。

Puppet 可用于多种操作系统变体,包括:

  • 红帽/CentOS/Fedora
  • Debian/Ubuntu
  • SUSE Linux 企业服务器

上述所有操作系统的基本安装步骤如下:

可用的 Puppet 存储库

root@master [~]# wget https://apt.puppetlabs.com/puppet-release-bionic.deb
root@master [~]# dpkg -i puppet-release-bionic.deb
root@master [~]# apt update
root@master [~]# apt install puppetserver

注意我们的完全托管服务器(cPanel 或 Plesk)不是 Puppet 实施的好选择,因为其他存储库可能会发生冲突。

安装木偶大师的软件

红帽/CentOS/Fedora

yum install puppetserver

Debian/Ubuntu

apt-get install puppetserver

SUSE/OpenSuse

zypper install puppetserver

启动 Puppet Master 服务

红帽/CentOS/Fedora

systemctl start puppetserver

Debian/Ubuntu

service puppetserver start

SUSE/OpenSuse

/etc/rc.d/puppetmaster start

安装 Puppet 客户端软件

百胜:

yum install puppet-agent

易于:

apt-get install puppet-agent

齐珀:

zypper install puppet-agent

人偶配置

Puppet 包含大约 200 个不同的配置设置,位于 puppet.conf 文件。 对于大多数服务器,您只需要在文件中调整大约 20 个或更少的设置,具体取决于您的服务器设置。 您可以使用下面的命令来设置所需的值。

puppet config set <SETTING NAME> <VALUE> --section <CONFIG SECTION>

我们列出了 5 个最需要的设置以满足您的特定需求:

  • dns_alt_names – 这是作为 Puppet Master 的允许主机名列表。
  • 环境超时 – 此设置默认为 0,除非您有特殊原因更改它,否则应保持不变。 您可以将此设置调整为 无限, 使 master 刷新您的标准代码部署过程的一部分。
  • 环境路径 – 环境路径定义了 Puppet 可以找到任何独特环境的特定目录的位置。 吨
  • 基本模块路径 – 这是包含在各种环境中使用的 Puppet 模块的目录列表。
  • 报告 – 指示使用下面列出的报告处理程序。
    • HTTPS – 通过 HTTP/HTTPS 将报告作为 POST 请求发送到在 报告网址 环境。
    • 日志 – 将报告发送到本地默认日志目标(通常 系统日志)
    • 存储 – 主机将 YAML 数据转储发送到本地目录(由 报告目录 在设置 puppet.conf)

配置参考 在修改服务器以满足您的特定需求时提供更全面的可用选项阵列

更多信息

总体而言,Puppet 是您日常工具集的一个有吸引力的补充,用于管理和自动化繁琐的任务。 安装和配置后,它将轻松维护您的日常服务器任务。 您可能需要查阅 Puppet 文档以获取有关此主题的更深入信息,或查阅以下资源以获取更多信息。

我们能帮你什么吗?

如果您想了解有关此软件如何使您当前的 VPS 设置受益的更多信息,只需通过电话、聊天或票证与我们联系,我们最有帮助的托管人之一将与您联系,就如何最好地提供建议您可以将此流程集成到您现有的基础架构中! 我们期待与您交谈!