个性化阅读
专注于IT技术分析

Puppet类用法示例

本文概述

Puppet类是将Puppet资源组合在一起作为一个单元的集合。类用于对节点的基本方面进行建模。 Puppet使用类使结构可重用和组织。每个节点只能评估一次类。

类在Puppet模块内部的清单文件中描述。使用类的主要原因是为了减少任何清单文件或其他p代码中相同代码的重复。

定义类

在使用类之前, 我们必须定义它, 这是通过class关键字, 类的名称, 花括号和一组代码来完成的。代码的这一部分不会自动评估代码。

语法如下:

class my_class {
  ... puppet code ...
}

声明类

类的声明部分评估该类中的代码并应用其所有资源。代码的这一部分实际上做了一些事情。

语法如下:

class my_class {
  ... puppet code ...
}
include my_class
class unix { 
   file { 
      '/etc/passwd': 
      owner => 'superuser', group => 'superuser', mode => 644; 
      '/etc/shadow': 
      owner => 'nikita', group => 'nikita', mode => 440; 
   } 
}

让我们看另一个与上面的示例相似的简单示例:

class unix { 
   file { 
      '/etc/passwd': 
      owner => 'superuser', group => 'superuser', mode => 644; 
   }  
   
   file {'/etc/shadow': 
      owner => 'nikita', group => 'nikita', mode => 440; 
   } 
}

参数化类别

参数用于允许类请求外部数据。如果某个类必须将其自身配置为事实以外的数据, 则通常将通过参数将数据插入该类中。

让我们看一个例子:

class windows_ntp (  
  String $server = 'time.windows.com', ) { 
  registry::value { 'NtpServer':
    key  => 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters', data => "${server}, 0x9", }
  service { 'w32time':
    ensure => running, enable => true, }
}

在上面的示例中, 我们创建了一个Windows_ntp类, 该类将注册表资源和服务资源分组在一起以配置Windows时间服务。 windows_ntp类接受时间服务器地址作为名为$ server的参数。


赞(0)
未经允许不得转载:srcmini » Puppet类用法示例

评论 抢沙发

评论前必须登录!