Puppet基础应用

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 <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..
时间: 2024-10-12 02:01:45

Puppet基础应用的相关文章

puppet基础篇(练习篇)

puppet基础篇(练习篇) 本文分为两部分:一.安装配置及命令用法:二.puppet资源基础练习 1.安装配置及命令用法 #在epel仓库安装 yum install ./facter-2.4.6-1.el7.x86_64.rpm  ./puppet-3.8.7-1.el7.noarch.rpm  [[email protected] puppet]# puppet helpUsage: puppet <subcommand> [options] <action> [option

45 puppet基础、资源详解、配置语言、puppet类与模板及模块

01 puppet基础 配置: node1:192.168.1.131 CentOS7.2 node2:192.168.1.132 CentOS7.2 [[email protected] ~]# rpm -ivh epel-release-latest-7.noarch.rpm [[email protected] ~]# yum list all | grep -i "puppet" puppet.noarch                           3.6.2-3.e

puppet基础学习(二)

puppet基础学习(二) 六.ResourceOrdering(资源定序) 使用变化参数before , require , notify , subscribe catalog是对一个给定的系统的所有资源及关系的编译,在编译catalog时,除非我们指定资源的执行顺序,不然puppet是以其自己的顺序管理,大多数时候puppet指定适当的方式,例如puppet管理用户gigabyte应该存在和文件夹/home/gigabyte/bin应该存在并属于用户gigabyte时,puppet会自动指

puppet基础学习(一)

puppet基础学习(一) 一. Installation(模块安装) 模块安装地址: 开源版 puppet agent --configprint modulepath /etc/puppet/environments/production/modules:/etc/puppet/environments/common:/etc/puppet/modules:/usr/share/puppet/modules 企业版 /etc/puppetlabs/puppet/modules/ 模块下载地址

puppet 基础篇

puppet [TOC] 1.什么是puppet 很多公司经常情况下会遇到这么一个问题,新应用开发完成之后,运维人员耗费了大量的时间在测试环境上完成了项目的部署,而迁移到线上环境依旧需要逐字逐句的变更配置,没日没夜的加班之后,才能够勉强保证新应用在线上环境正常运行.而与此同时,公司的领导层已经暴跳如雷,"我已经投入了大量的资金下去,为什么部署一个新的应用依旧需要花费这么久的时间?" puppet的创始人luke kanies就曾经在这种环境中备受煎熬.于是他就开始思考,如何让系统管理员

运维自动化之锋芒毕露puppet 基础详解。

puppet简介 Puppet是一个IT基础设施自动化管理工具,它能够帮助系统管理员管理基础设施的整个生命周期:供应(provisioning).配置(configuration).联动(orchestration).及报告(reporting). 基于puppet,可实现目标管理的幂等性.自动化重复任务.快速部署关键性应用以及在本地或云端完成主动管理变更和快速扩展架构规模等. 基于ruby语言开发,在版本(2.7.0)以后遵循(Apache2.0 license). 基本工作模型 Master

Linux Puppet基础知识

Puppet可以批量配置多个节点,减少运维人员在重复的.繁琐的工作中花费的时间:可以轻松的管理几千个节点: 官网地址:https://puppet.com/ Puppet相对于ansible来说,其不仅要运行master端,且在每个被管控节点上还要安装并运行agent端: master:puppet server agent:agent周期性(默认为30分钟)的到master端请求与自己相关的配置,进而在本地执行(所以说agent才是真正管理节点的部件),然后将执行结果报告给master端: N

puppet基础(一)

puppet是一种Linux.Unix.windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系. 特点: (1)puppet的使用模型: 单机环境运行 master/agent环境运行 (2)puppet的运行具有幂等性: 也就是只要agent加入master,无论命令发送给agent执行多少次,其结果都是一样的.

学习puppet不得不掌握的基础知识

目录 1.puppet简介 2.puppet工作原理 3.puppet的安装 4.puppet常用资源类型 5.puppet的表达式与条件判断语句 6.puppet类 7.puppet模块 8.总结 1.puppet简介 puppet是一个为实现数据中心自动化管理而设计的配置管理软件,能够管理IT基础设施的整个生命周期:供应(provisioning)配置(configuration).联动(orchestration)及报告(reporting).puppet基于C/S架构,类似于zabbiz