zoukankan      html  css  js  c++  java
  • 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基础应用

      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:直接给出文件内容,支持
    ,	
        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..
  • 相关阅读:
    《MySQL必知必会》第六章:过滤数据
    《MySQL必知必会》第七章:数据过滤
    《MySQL必知必会》第五章:排序检索数据
    Java高级特性:clone()方法
    Java基础知识详解:abstract修饰符
    Java虚拟机:虚拟机内存区域和内存溢出异常
    Java虚拟机:源码到机器码
    Java虚拟机:本地方法栈与Native方法
    [LeetCode] 1481. Least Number of Unique Integers after K Removals
    [LeetCode] 331. Verify Preorder Serialization of a Binary Tree
  • 原文地址:https://www.cnblogs.com/trymybesttoimp/p/6360321.html
Copyright © 2011-2022 走看看