📅  最后修改于: 2021-01-08 04:58:13             🧑  作者: Mango
在puppet中,所有程序都是用Ruby编程语言编写的,并以.pp扩展名添加,称为清单。 .pp的完整格式是人偶程序。
清单文件是木偶程序。这用于管理目标主机系统。所有的人偶程序都遵循人偶编码风格。
我们可以在任何清单中使用一组不同种类的资源,这些资源按定义和类分组。
人偶清单也支持条件语句。默认清单文件位于/etc/puppet/manifests/site.pp位置。
人偶清单包含以下组件:
Puppet提供了许多内置变量,我们可以在清单中使用它们。以及我们可以创建自己的变量来在人偶清单中定义。木偶提供不同类型的变量。一些经常使用的变量是字符串或字符串数组。
让我们看一个字符串变量的例子:
$package = "vim"
package { $package:
ensure => "installed"
}
循环用于多次运行同一组代码,直到定义的条件变为真为止。要执行循环,我们可以使用数组。让我们来看一个例子:
$packages = ['vim', 'git', 'curl']
package { $packages:
ensure => "installed"
}
Puppet允许我们使用不同类型的条件语句。例如if-else语句,case语句等。让我们来看一个示例:
if $Color != 'White' {
warning('This color is not good for wall')
} else {
notify { 'This color is best for wall': }
}
众所周知,我们可以创建资源。让我们从通知资源之类的常见资源开始。
notify { 'greeting':
message => 'Hello, world!'
}
在上面的代码中,通知是资源,消息是属性。消息具有以逗号分隔其值的属性,这是在Perl和其他脚本语言中识别键值对的一种非常通用的方式。
创建清单,并在该清单中编写以上脚本。首先,您必须切换到root用户。
nikita@puppetClient:~$ sudo su
root@puppetClient:~# vi helloworld.pp
在这里,我们可以看到清单是扩展名为.pp的文本文件。我们可以使用任何编辑器使用任何文本编辑器来创建或修改清单。
木偶的主要品质是易于测试代码。这样,无需处理复杂的测试环境,即可处理人偶清单。
为了应用清单,puppet使用apply命令,该命令告诉puppet应用一个单一的puppet清单:
# puppet apply helloworld.pp
Notice: Compiled catalog for puppetclient in environment production in 0.03 seconds
Notice: Hello, World!
Notice: /Stage[main]/Main/Notify[greeting]/message:
defined 'message' as 'Hello, World!'
Notice: Applied catalog run in 0.01 seconds
在这里,您可以看到Puppet已成功应用清单。此过程分许多步骤完成: