Puppet学习之语法(3)

《Puppet实践》学习笔记

1.基本概念

资源(Resource):是puppet最基本的元素。资源可以是文件,服务,软件包,自定义脚本等。
属性(Attribute):属性,定义资源能够做什么。
类(class):将多个资源组织起来进行重新定义。
模块(modules):多个类的封装在一起。
模板(templates):
变量(variables):通常使用facter收集agent本地信息,并以变量的形式传递给puppet server。
参数(parameter):传递给变量的实际值。
节点(node):即puppet agent的hostname,多个agent可以归并至主机组(hostgroup)中。node的节点名,应该和hostname一致。
举例说明如下:
vi /etc/puppet/modules/nginx/manifests/init.pp
class nginx {
file {
'nginx.conf' :
mode => 640,
owner => root,
group => root,
}

service {
'nginx':
hasrestart = > true,
hasstatus => true,
subscribe => File["nginx.conf"],
}
}
在nginx模块中,定义了一个类ngnix,这个类中有两个资源,其中subscribe将两个资源关联起来。

2.命名规则
主机名和资源名,没有严格要求。
模块名,以小写字母开头。
类名,以小写字母开头,双冒号“::”将子类和父类关联
变量名:以$开始,赋值用“=”
参数名:以$开始,第一个字符必须是小写字母。

3.语法规则
3.1语法概括:
以大括号“{}”分类,以冒号“:”声明,以逗号“,”属性结束。
3.2缩进
必须使用两个空格标示缩进。
不能使用文字制表符。
尾部不能有空格。
宽度不能超过80字符
使用=>符号进行对其。
3.3注释说明
两种方式:
#这是注释
/*这是注释*/

3.3变量的引用
3.3.1包含变量的字符串引用
不包含变量的字符串,应该使用单引号(‘’)。
引用变量使用双引号(“”)
字符串中所有变量,使用大括号{}
举例:
"/etc/$(file).conf"

3.3.2对变量本身的引用
不需要使用引号
mode => $my_mode

3.4资源
资源名采用单引号(‘)或者双引号(“)括起来,以冒号(:)结束。
声明资源时,首先指定ensure

猜你喜欢

转载自blog.csdn.net/biheyu/article/details/41613071
今日推荐