puppet 资源及依赖关系及本地测试
admin
2023-02-27 16:22:09
0

一.本地pp 文件测试

       package {"nginx":
       #作用:安装nginx
       ensure=> latest,
}
       service {"nginx":
       #作用:启动nginx,并让设置开机启动
       ensure=> running,
       enable=> true,
       restart    => "systemctl restart nginx.service",
             #只有被通知或者订阅才会被触发重启
       subscribe  => file["/etc/nginx/nginx.conf"],
       #监听下面那个服务,若触发了,重启nginx
             #测试得出结论,如果新文件事先已经存在没有发生修改,重启nginx不会被触发。
}
       file{"/etc/nginx/nginx.conf":
       #作用:复制nginx配置文件
       ensure=>file,
       content=>template("/root/nginx.conf"),
}

puppet apply -v --noop cs.pp #测试运行,并不真正安装,用于看报错的
puppet apply -v cs.pp #真正运行安装

二.资源的依赖关系

before:表示需要依赖于某个资源
require:表示应该先执行本资源,在执行别的资源
notify:A notify B:B依赖于A,且A发生改变后会通知B
subscribe:B subscribe A:B依赖于A,且B监控A资源的变化产生的事件
subscribe例:

package {"httpd":
ensure=> present,
subscribe =>package["nginx"],
#表示订阅下面那个资源,如果下面那个资源执行不成功这个资源不会执行,下面资源执行成功了或者已经在执行完毕的状态了,本资源就会执行
}
package {"nginx":
 ensure=> present,
              }
notify例:
package {"httpd":
ensure=> present,
}
package {"nginx":
ensure=> present,
notify=>package["httpd"],
#表示该资源执行完毕通知上面那个资源,这个资源不执行成功,上面那个资源不会执行
}
依赖关系还可以使用->和~>来排序 例:
exec {"echo '1'>>/root/2333.txt":
 path    => ["/usr/bin", "/usr/sbin"],
}
exec {"echo '2'>>/root/2333.txt":
 path    => ["/usr/bin", "/usr/sbin"],
}
exec {"echo '3'>>/root/2333.txt":
 path    => ["/usr/bin", "/usr/sbin"],
}

exec["echo '3'>>/root/2333.txt"] -> exec["echo '2'>>/root/2333.txt"] -> exec["echo '1'>>/root/2333.txt"]
如果是正常输出结果应该为123,但是我用 -> 符号定义运行顺序最后输出结果为

puppet 资源及依赖关系及本地测试

三.几个常用的资源介绍

1.exec资源
exec { "mkdir  666":
#执行的命令
       cwd     => "/root/",
#在那个路径执行命令,给了如果路径不存在,执行失败
       creates => "/root/678",
#判断,如果有这个文件夹了就不执行了
        path    => ["/usr/bin", "/usr/sbin"]
#命令程序,到那个路径去找执行文件
}

2.package (安装软件)
package{["httpd.x86_64","nginx.x86_64"]:
 #以[,]隔开可安装多个软件
        ensure => purged,
        #latest安装最新的,installed 安装,purged 删除软件包
        provider => "yum",
        #以yum方式安装在yum源里安装
}

package{"nginx":
        ensure => installed,
        provider => "rpm",
        #以rpm本地文件安装,下面必须指定安装文件的路径,否则报错
        source => "/root/nginx-1.8.1-1.el7.ngx.x86_64.rpm"
}

3.service 和 flie
class xingjian{
service{"nginx":
     ensure =>  running,
     #设置成什么状态 running正在运行, stopped停止状态
     enable =>  true,
     #是否开启自启 true是,false否
     hasrestart => true,
     hasstatus => true,
     require => file['/etc/nginx/nginx.conf'],
     #在执行资源时,先检查下面那个资源是否执行
       }
file {"/etc/nginx/nginx.conf":
     #复制的路径
     ensure =>file,
     #文件类型,file直接复制原有类型,如果要填link的是创建链接文件,但是要创建链接文件的话,下面的source要换成target,如果填directory就是复制文件夹,需要在添加recurse='true'实现递归复制
     source =>"/root/nginx.conf",
     #源文件路径
     }
             }
4.cron(计划任务)
cron {"jihua":
     command => "/root/1.sh",
     ##执行脚本的路径名或者命令路径名
     ensure => "present",
     #present    如果该cron不存在则添加,absent     如果该cron存在则删除
     minute => "*/5",
     #5分钟运行一次,和crontab用法一样
     target => "root",
     #以什么用户执行脚本
}

5 user 和 group
         group{"yangzai":
               #组名
               ensure => present,
               gid => "2333",
               system => false,
               #是否为系统组
              # members:成员用户,
               }
         user{"yangzai":
                #用户名
               ensure =>present,
               system =>false,
               comment =>"233",
               #注释,一般描述运行啥软件
               shell =>"/bin/bash",
               #默认shell
               home =>"/home/yangzai",
               #家目录路径
               managehome => true,
               #是否创建家目录
               groups => "yangzai",
               uid => "2333"
   }
7. notify {"hello world":} #显示信息

相关内容

热门资讯

北京三位女大学生青海自驾游两死... 2024年7月,三位北京女大学生(小静、小田、小露)在青海省海西蒙古族藏族自治州德令哈市附近自驾游时...
德意燃气灶点着火后过几分钟熄火... 回答在:可能原因是熄火保护感应针故障、溢锅造成熄火、清洁炉头上的火盖未摆正,针对这几种问题,分别解决...
德意燃气灶打不着火什么原因 主要原因有,1、很大原因是电池没有电造成的。2、也有可能是由于点火针的位置不正,离内焰火盖距离比较远...
燃气热水器感应针是什么材质 燃气热水器燃烧室上面都有白色的磁棒,这是感应针。是热水器熄火保护最前端的一个部件,当火焰烧到感应针的...
燃气热水器感应针好坏判断 一般来说燃气热水器都有一个电板,当感应针出现故障的时候,都会显示相应的代码,通常感应针故障代码为E1...
热水器感应针位置 1、燃气热水器感应针的作用就是感应火焰是否正常燃烧,不燃烧时测量对地电阻大概在4M左右,当燃气燃烧时...
绿营利用台北鼠患制造恐慌,徐巧... 台北市近期爆发鼠患议题,引来绿营猛攻。中国国民党籍台北市长蒋万安5日召开记者会,宣布将派遣“鼠类侦防...
王世坚因称赞蒋万安被骂,蒋力挺... 据台湾联合新闻网、TVBS新闻网等台媒报道,民进党“立委”王世坚日前称赞台北市长蒋万安“心胸宽大、处...
全美汽油均价较伊朗战事前上涨5... 新华社北京5月7日电 美国汽车协会5日发布数据说,美国普通汽油当天平均零售价为每加仑4.48美元,较...
中国经济数据观丨十组数据看假日... 设计:穆问春文案:底东娜来源:交通运输部、商务部、文化和旅游部、公安部、国家移民管理局等