客户端更新DNS信息

echo "192.168.10.129 puppet.pcdog.com">>/etc/hosts

echo "192.168.10.131 prdsh001.pcdog.com">>/etc/hosts

ping一下验证DNS

Puppet 实验十三 Foreman 基础使用_第1张图片

安装agent直接安装rpm包

rpm -ivh http://yum.puppetlabs.com/puppet5/el/7/x86_64/puppet-agent-5.5.6-1.el7.x86_64.rpm

a899e71f800d410087d2628fb5165648

主机已经加好了

Puppet 实验十三 Foreman 基础使用_第2张图片

审计里面是历史执行的菜单

Puppet 实验十三 Foreman 基础使用_第3张图片

监控中的报告,需要导入下,目前没有报告

Puppet 实验十三 Foreman 基础使用_第4张图片

主机列表已经贴图了

创建主机,其中比较重要的是主puppet服务器,因为foreman一般用在大型规模的范围中,所以某一个IDC中的主机应该都指向本地机房的头puppet

Puppet 实验十三 Foreman 基础使用_第5张图片

架构,配置信息

Puppet 实验十三 Foreman 基础使用_第6张图片

分区表,参考

https://www.theforeman.org/manuals/1.19/index.html#4.4.4PartitionTables

分区模板是正常配置模板的子集。它们是分开处理的,因为通常情况下,管理员希望使用不同的硬盘布局来部署相同的主机模板(包、服务等),以解决不同服务器的性能。

Foreman附带了针对通用操作系统的预先创建的模板,但是编辑模板、检查其内容和Family设置是很好的。如果家庭是错误的,一定要回到操作系统,并把它与操作系统联系起来。

每个主机分区表

在创建新主机时,将得到创建单独分区表的选项。这基本上是一个“一次性”分区表,它与主机一起存储,只用于该主机。它将分区表的选择从与选定OS相关联的正常表中替换。

动态分区表

一些操作系统允许您通过脚本创建分区表。目前,基于Ky启动和AutoYAST的系统可以使用此功能。从动态开始的分区模板被解释为脚本而不是静态分区表。提供模板需要支持这个特性(搜索@动态)。这使您可以在提供(或重新配置)过程中即时做出选择。

启动动态分区表

KyScript将使用一%个预脚本来运行动态分区表作为预安装BASH脚本。这个脚本需要在'/tMP/DekPult.CFG’中创建完整的KKESTEnter分区表。该分区表将由AnCONDA读取,使用%IOR/TMP/DISKPART.CFG进行安装。

Puppet 实验十三 Foreman 基础使用_第7张图片

置备模板

参考 https://www.theforeman.org/manuals/1.19/index.html#4.4.3ProvisioningTemplates

Puppet 实验十三 Foreman 基础使用_第8张图片

提供模板是Foreman灵活部署合适的操作系统的核心。有几种类型的模板,以及灵活的匹配系统来向不同的主机传递不同的模板。

FrEMAN具有更常见的OSS的预创建模板,但您需要查看这些模板。所有这些模板在默认情况下都被锁定,因此它们不能被修改。它们中的大多数都是通过参数定制的,但是如果您需要一些自定义功能,推荐的工作流程是克隆模板并编辑克隆。您可以解锁预先创建的模板并直接编辑它,但请注意,任何自定义更改都将在任何工长更新中被重写。如果您相信您的更改是值得的,包括在下一个工头发布,请考虑发送补丁到社区模板库,我们定期与我们的代码库同步。

模板种类 有几种模板类型:

PXELinux,PXEGrub,PXEGRUB2-部署到TFTP服务器,以确保主机用正确的内核选项(也称为PXE模板)引导正确的安装程序。

提供主要无人值守安装文件;例如启动或预存。

完成后安装脚本,用于在主配置完成后采取自定义操作

UsRyDATA数据-类似于完成脚本,可以将其分配给在用户可用数据的图像上构建的主机(例如OpenStack、EC2等)。

脚本-一个任意脚本,默认情况下不使用,对某些自定义任务有用

IPXE用于{g,i} pxe环境代替pxeliNUX(不与上面的PXE模板混淆)

在实践中,大多数环境只使用前3个。CREATE主机动作将PXELIUX模板部署到TFTP服务器。PXELIUX模板引导主机检索提供模板。Provision模板将指导安装程序在安装结束时检索并运行Finish模板,Finish模板将在重新启动之前通知Foreman构建完成。

主机组配置

主机组在某些方面与继承的节点技术详细,即它是可命名或视为单元的类别的高级分组。然后可将其视为模板,并在创建新主机时进行选择,保证使用预先定义的状态配置该主机。 除规定构建这个主机类型需要包含的 puppet 类别外,您还可以为主机组分配变量及置备信息,以便细化 puppet 运行时行为。 当 puppetmaster 编译主机配置时,会在外部节点信息中包含主机组类别和主机组变量。

使用主机组时有两种策略。 您可以创建代表高端主机配置的 puppet 类别,例如:host-type-ldap-server 类别,它包含所有其他模块所需功能,或者您也可以决定创建名为 host-type-ldap-server的主机组,并在该主机组配置中添加所需类别。 这两个选项都是个人决定,由您说了算(主要区别是参数/变量设置)。

Puppet 实验十三 Foreman 基础使用_第9张图片

全局参数

https://www.theforeman.org/manuals/1.19/index.html#global-parameters

Puppet 实验十三 Foreman 基础使用_第10张图片

环境设置

在小规模环境下,一个foreman可以管理多个环境的多个主机

Puppet 实验十三 Foreman 基础使用_第11张图片

puppet 类

Puppet 实验十三 Foreman 基础使用_第12张图片

可能用的是最多的,我先从服务器搜索几个模板

puppet module search puppetlabs-ntp

puppet module install puppetlabs-ntp

puppet module list

Puppet 实验十三 Foreman 基础使用_第13张图片

虽然有些错误,但是NTP模块已经下载下来了

导入模块

Puppet 实验十三 Foreman 基础使用_第14张图片

Puppet 实验十三 Foreman 基础使用_第15张图片

编辑下ntp的参数

Puppet 实验十三 Foreman 基础使用_第16张图片

Puppet 实验十三 Foreman 基础使用_第17张图片

Puppet 实验十三 Foreman 基础使用_第18张图片

编辑下该主机的类

Puppet 实验十三 Foreman 基础使用_第19张图片

添加ntp和那些参数

Puppet 实验十三 Foreman 基础使用_第20张图片

Puppet 实验十三 Foreman 基础使用_第21张图片

点yaml可以看下配置

Puppet 实验十三 Foreman 基础使用_第22张图片

客户端

Puppet 实验十三 Foreman 基础使用_第23张图片

经过一长串目录拉取

Puppet 实验十三 Foreman 基础使用_第24张图片

ntp服务已经安装并且已经配置了

Puppet 实验十三 Foreman 基础使用_第25张图片

cat /etc/ntp.conf

Puppet 实验十三 Foreman 基础使用_第26张图片

把所有的生产环境的机器都加到PrdGroup,然后组应用NTP的类,实现批量安装模块/类等功能

Puppet 实验十三 Foreman 基础使用_第27张图片

Puppet 实验十三 Foreman 基础使用_第28张图片