|
《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.ppclass 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
|
|
|