Puppet教程

Puppet Manifest

Puppet Manifest

在puppet 中,所有程序都是用Ruby 编程语言编写的,并添加了.pp 的扩展名,称为清单。 .pp 的完整形式是 puppet 程序。
清单文件是 puppet 程序。这用于管理目标主机系统。所有的木偶程序都遵循木偶编码风格。
我们可以在任何清单中使用一组不同类型的资源,按定义和类分组。
木偶清单也支持条件语句。默认清单文件位于/etc/puppet/manifests/site.pp 位置。

清单组件

Puppet 清单具有以下组件:
文件: 文件是可以直接部署在 Puppet 客户端上的纯文本文件。比如yum.conf、httpd.con等 资源: 资源是我们需要评估或改变的元素。资源可以是包、文件等。 模板: 这用于在节点上创建配置文件,我们可以稍后重用。 节点: 代码块,其中定义了与客户端相关的所有信息和定义。 类: 类用于对不同类型的资源进行分组。

编写清单

使用变量

Puppet 提供了许多我们可以在清单中使用的内置变量.我们也可以创建我们自己的变量来在 puppet manifest 中定义。 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!'
}
上面代码中,notify是资源,消息是属性。 消息 具有用逗号与其值分隔的属性,这是在 Ruby、PHP、Perl 和其他脚本语言。
创建一个清单并在该清单中编写上述脚本。首先,您必须切换到 root 用户。
nikita@puppetClient:~$ sudo su
root@puppetClient:~# vi helloworld.pp

Puppet Manifest
Puppet Manifest
在这里,我们可以看到清单是以 .pp 扩展名命名的文本文件。我们可以使用任何编辑器使用任何文本编辑器创建或修改清单。

应用清单

木偶的主要品质是易于测试您的代码.在这里,为了在 puppet manifests 上工作,不需要配置复杂的测试环境。
为了应用 manifest,puppet 使用 apply 命令,它告诉 puppet 应用单个 puppet manifest:
# 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 Manifest
这里可以看到,Puppet已经成功应用了manifest。这个过程由很多步骤完成:
从清单编译或构建 Puppet 目录。 使用依赖和排序信息来决定评估顺序。 评估所需资源以决定是否应实施更改。 创建、更新或删除资源-通知中将生成一条消息。 提供有关目录应用程序的详细输出。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4