设为首页 收藏本站
查看: 1008|回复: 0

[经验分享] Puppet 之 相关概念和命令介绍

[复制链接]

尚未签到

发表于 2018-8-1 12:26:14 | 显示全部楼层 |阅读模式
  1  概述
  puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。
  puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个puppet客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配置文件来配置客户端. 配置完成以后,puppet客户端可以反馈给服务器端一个消息. 如果出错,也会给服务器端反馈一个消息。
  双license授权,官网:https://puppet.com/products/open-source-projects,官方安装,可以通过配置yum仓库安装,另外服务包在epel源里有,可以直接通过yum安装,命令:yum install puppet
  本文将介绍puppet的相关概念和命令使用
  
  2  相关概念
  puppet的工作模型:
  工作模型有两种:
  单机模型(standalone):手动应用清单;
  master/agent:由agent周期性地向Master请求清单并自动应用于本地;server端要安装server和agent包;
  程序环境:
  配置文件:/etc/puppet/puppet.conf
  主程序:/usr/bin/puppet
  puppet主程序将所有的程序集成在一个主程序里,用子命令来实现相关功能的调用,和之前的linux哲学思想不一样,linux哲学思想是每一个程序文件只实现一个功能
  资源抽象的纬度:
  即RAL如何抽象资源:
  RAL由“类型”和提供者(provider)共同实现;其中
  类型:具有类似属性的组件,例如package、service、file;
  将资源的属性或状态与其实现方式分离;
  仅描述资源的目标状态,也即期望其实现的结果状态,而不是具体过程;
  资源定义:
  向资源类型的属性赋值来实现,可称为资源类型实例化;
  定义了资源实例的文件即清单,manifest;
  manifests:分为:resource(资源清单) 和 node(站点清单)
  定义资源的语法:键值对,attribute1为可用参数,title就是资源的名字,同一类型的资源名字不能相同,这个是必须要定义的参数的值
  type {'title':
  attribute1         => value1,
  atrribute2        => value2,
  ……
  }
  其中资源属性(attribute)中的三个特殊属性:
  Namevar: 可简称为name;,名称变量(namevar),name可省略,此时将由title表示;
  ensure:定义资源的目标状态;
  Provider:指明资源的管理接口,默认可不指定,会根据系统自动选择
  资源引用:
  Type['title']:引用类型的首字母必须大写;如Package['redis'],字母P大写
  元参数:
  metaparameters,有如下两种
  依赖关系:before  和  require,定义先后关系,当某个条件执行后,才会执行接下去的资源;
  通知关系:notify 和 subscribe,通知相关的其它资源进行“刷新”操作;
  
  3  相关命令
  puppet程序:格式
  Usage: puppet <subcommand> [options] <action> [options]
  相关subcommand介绍如下:
  help         显示 Puppet 帮助.
  apply             应用本地的puppet清单
  describe       显示有关资源类型的帮助
  agent           puppet agent守护进程
  master          puppet master守护进程
  module        在Puppet Forge上创建,安装和搜索模块
  puppet help
  puppet help <subcommand> :查看特定子命令的帮助.
  puppet help <subcommand> <action>: 查看特定子命令action的帮助.
  puppet apply
  puppet apply:将独立Puppet资源清单应用于本地系统。standalone模式下,资源清单在本地
  格式如下:
  puppet apply  [-d|--debug] [-v|--verbose] [-e|--execute] [--noop] <file>
  puppet describe
  puppet describe:打印有关Puppet资源类型,提供者和元参数的帮助。
  格式如下
  puppet describe [-h|--help] [-s|--short] [-p|--providers] [-l|--list] [-m|--meta] [type]
  -l:列出所有资源类型;
  -s:显示指定类型的简要帮助信息;
  -m:显示指定类型的元参数,一般与-s一同使用;

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-544782-1-1.html 上篇帖子: puppet安装部署 下篇帖子: Puppet 之 八大资源介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表