Puppet简介

IT基础设施自动化管理工具,作者:Luck Kanies,官方站点:www.puppetlabs.com

  管理设施的整个生命周期:

    provisioning、configuration、orchestration、reporting

Puppet安装

  (1)官方的yum仓库

    CentOS 6.*:

      # rpm -Uvh https://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm

    CentOS 7.*:

      # rpm -Uvh https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm

  (2)EPEL源

Puppet基础应用

  puppet <subcommand> [options] <action> [options]

  使用puppet help获取相应帮助

  1.资源定义

    ①定义法则

      A.资源类型定义时必须使用小写字符

      B.资源名称(title)仅是一个字符串,但同一个类型中其必须唯一

    ②定义格式

type {'title':
attribute1 => value1,
attribute2 => value2[,]
}

    ③资源的特殊属性

      NameVar,ensure,Metaparameters

Metaparameters:
//资源引用:
Type['title'] //依赖关系:
被依赖的资源中使用before
依赖的资源中使用require
->:链式依赖 //通知关系:
被依赖的资源中使用notify
监听其他资源的资源使用subscribe
~>:链式通知

    ④常用资源类型

/*管理组*/group

    /*常用属性*/
name:组名,NameVar
gid:GID
ensure:present,absent
system:true,false
members:组内成员
/*管理用户*/user

    /*常用属性*/
name:用户名,NameVar
uid:UID
gid:基本组ID
groups:附加组
home:家目录
shell:默认shell
system:true,false
commet:注释信息
ensure:present,absent
expiry:过期期限
password:设置用户密码
/*管理文件*/file

    /*常用属性*/
force:强制运行,可用值{yes|no|true|false}
group:属组
owner:属主
mode:权限,支持八进制格式权限,以及u,g,o赋权方式
path:目标路径
source:源文件路径,可以是本地文件路径(单机模型),也可以使用puppet:///modules/module_name/file_name
target:当ensure为'link'时,target表示path指向的文件是一个符号链接文件,其目标为此target属性所指向的路径;此时content及source属性自动失效
content:直接给出文件内容,支持\n,\t
source:从指定位置下载文件
ensure:file,directory,link,present,absent
/*运行外部具有‘幂等性’的命令*/exec

    /*常用属性*/
command:运行的命令,NameVar
creates:此属性指定的文件不存在时才执行命令
cwd:以此属性指定的路径下执行命令
user:以指定用户身份运行命令
group:指定组
onlyif:给定一个测试命令;仅在此命令执行成功($?为0)时才运行command指定的命令
unless:给定一个测试命令;仅在此命令执行失败($?不为0)时才运行command指定的命令
refresh:接收到其他资源发来的refresh通知时,默认是重新执行exec定义的command,refresh属性可改变这种行为,即可指定仅在refresh时运行的命令
refreshonly:仅在收到refresh通知时,才运行此资源
returns:期望的状态返回值,返回非此值时表示命令执行失败
tries:尝试执行的次数
timeout:超时时长
path:指明命令搜索路径,其功能类似PATH环境变量;其值通常为列表['path1','path2',...];日过不定义此属性,则必须指定命令的绝对路径
/*管理周期性任务*/cron

    /*常用属性*/
ensure:present,absent
command:要执行的job
hour:时
minute:分
month:月
monthday:日
weekday:周
name:job名称
user:运行时以哪个用户身份运行
environment:运行时的环境变量
/*管理程序包*/package

    /*常用属性*/
configfiles:替换程序时,原来的配置文件如何处理{keep|replace},默认值是keep
ensure:installed,latest,VERSION(2.3.1-2.el7),present,absent
name:程序包名称
source:程序包来源,可以是本地文件路径或URL
provider:指明程序包的提供者
/*管理服务*/service

    /*常用属性*/
name:服务名称,NameVar
ensure:启动(running),停止(stopped)
enable:是否开机自启{true|false}
hasrestart:是否支持restart参数
hasstatus:是否支持status参数
path:服务脚本查找路径
pattern:用于搜索此服务相关的进程的模式;当脚本不支持restart/status时,用于确定服务是否处于运行状态
restart:用于服务重启
start,status,stop..

Puppet基础应用的更多相关文章

  1. 1、puppet基础

    Puppet:IT基础设施自动化管理工具 参考文章: https://yq.aliyun.com/articles/120228 http://www.51niux.com/?id=105 http: ...

  2. Puppet基础

    基础架构图介绍 自动化运维框架:  自动化监控: puppet介绍 常用的批量工具介绍: OS Provisioning:PXE,Cobbler OS Configuration:ansible,pu ...

  3. 自动化运维工具之Puppet基础入门

    一.简介 puppet是什么?它能做什么? puppet是一个IT基础设施自动化运维工具,它能够帮助系统管理员管理基础设施的整个生命周期:比如,安装服务,提供配置文件,启动服务等等一系列操作:基于pu ...

  4. Advanced Puppet 系列的前言

    什么是Advanced 在网络上,你能找到大量关于Puppet的安装,配置以及基础用法的文章和博客.你在通过一段时间的实战后,熟练掌握了Puppet基础用法,随着你管理的集群日益扩大,你的部署逻辑越来 ...

  5. puppet一个完整的实例

    一个具体实例来简单说明puppet的具体结构 创建第一个配置 puppet的组成清单这主要包含这几个部分 资源,文件,模板,节点,类,定义 puppet中有个模块的定义,这个比较重要,基本是puppe ...

  6. ansible puppet saltstack三款自动化运维工具的对比

    一.基础介绍 ansible基础介绍可参考:http://www.linuxidc.com/Linux/2017-12/149671.htm puppet基础介绍可参考:http://www.linu ...

  7. ansible超详细使用指南

    在工作中有用到ansible用于自动部署和环境配置,这里整理了一份很详尽的使用指南,如果有用到的可以看看.关于使用ansible自动部署一个网站和docker化,将在下一篇文章中介绍,敬请期待.文章内 ...

  8. DveOps路线指南

    学习DevOps所需的技能 1. 编程语言 python  java javascrit 2. 学习不同的操作系统概念 进程管理,线程和兵法,套接字,I/O管理,虚拟化,内存储存储和文件系统. 3. ...

  9. [翻译]用 Puppet 搭建易管理的服务器基础架构(4)

    我通过伯乐在线翻译了一个Puppet简明教程,一共分为四部分,这是第四部分. 原文地址:http://blog.jobbole.com/89214/ 本文由 伯乐在线 - Wing 翻译,黄利民 校稿 ...

随机推荐

  1. POJ 3304 /// 判断线段与直线是否相交

    题目大意: 询问给定n条线段 是否存在一条直线使得所有线段在直线上的投影存在公共点 这个问题可以转化为 是否存在一条直线与所有的线段同时相交 而枚举直线的问题 因为若存在符合要求的直线 那么必存在穿过 ...

  2. 面试系列八 es写入数据的工作原理

    (1)es写数据过程 1)客户端选择一个node发送请求过去,这个node就是coordinating node(协调节点) 2)coordinating node,对document进行路由,将请求 ...

  3. 【2011集训贾志鹏】Crash 的数字表格

    题面 题目分析 (默认\(n<m\)) 题目要求\(\sum\limits_{i=1}^n\sum\limits_{j=1}^mlcm(i,j)\). 由\(lcm(i,j)=\frac{i\c ...

  4. springboot指定项目访问路径前缀

    springboot默认的运行方式是没有项目前缀的 如果这时候我们要加上调试或者发布,可以使用下面的方法加上 方法:

  5. MYSQL批量创建表的存储过程

    因为业务需要,创建了100个表,但是这些表的结构都是一样的,作为程序员,就是要解决这种重复劳动.然而这种事情还要单独写个php脚本的话太麻烦了吧,所以就干脆学了一下直接用Mysql存储过程怎么实现: ...

  6. 菜鸟nginx源码剖析数据结构篇(十一) 共享内存ngx_shm_t[转]

    菜鸟nginx源码剖析数据结构篇(十一) 共享内存ngx_shm_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csdn ...

  7. VS2010-MFC(利用MFC向导生成单文档应用程序框架)

    一.VC++与MFC 讲VC++免不了要提MFC,MFC全称Microsoft Foundation Classes,也就是微软基础类库.它是VC++的核心,是C++与Windows API的结合,很 ...

  8. HDU 1069 Monkey and Banana (动态规划)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069 简单记录一下 思路:把长方体的各种摆法都存到数组里面,然后按照长宽排序,再dp即可 转移方程 d ...

  9. python collections模块 之 orderdict

    普通字典善于隐射,其次追踪插入顺序.而 orderdict 更善于后者.因为 orderdict 内部维护了一个双向链表,大小会是普通字典的两倍. 增加方法: popitem(last=True) 移 ...

  10. Spring Boot配置公共的线程池

    内存资源很宝贵,线程池资源不宜过多的创建,同一个应用,尽量使用统一的线程池,并且相关参数需要设置适当,不造成资源的浪费,也不影响性能的提升. import java.util.concurrent.T ...