加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Puppet自动化集群管理基础篇

发布时间:2019-04-17 22:53:26 所属栏目:教程 来源:360技术
导读:Puppet作为开源的集群管理框架,有着简单易用、快速部署、使用范围广等特性,已经积累了超过250家的用户,包括阿里巴巴、新浪、Oracle等大公司。本文作者将带领大家了解puppet技术及其简单的应用。 背景简介 在传统的服务器集群管理中,每增加一台服务器,

资源是puppet系统的核心,抽象的足够彻底,相似的资源被抽象成了一种资源类型,如程序包资源、文件资源、服务资源和exec资源等。资源属性与其实现方式剥离开来,仅仅描述资源的状态,而不是其具体的实现过程,即可达到资源的同步。

(1) 资源定义

资源定义即向资源类型的属性赋值,也称为资源类型的实例化。资源的定义在pp文件中完成,其目录结构一般如下所示:

Files文件夹用于存放该软件包的配置文件,manifests文件夹用于存放资源的实例,即类文件,templates用于存放模板。

定义的资源语法如下:

Type即为资源的类型,比如程序包资源package,文件资源file等,title是一个字符串,在同一类型中必须唯一,每个属性用“,”隔开。通过将class、条件控制语句与资源的定义相结合,即可实现资源的模块化,达到易复用的效果。

(2) 常用资源

基于公司内部运维组的需求,puppet主要从程序包、配置文件、服务、exec四个方面展开应用,本文主要对前两种资源展开介绍。另外,我们可以利用“Puppet describe 资源名称”命令查看资源的详细描述。

1)程序包package

puppet

Package资源的描述如上图所示,下来我们将对package资源的主要属性进行介绍:

  • name:包名,可以省略,如果省略,将继承title的值。
  • ensure:指定软件包的状态,安装、卸载还是升级。需要卸载时,指定为“absent”;需要保证最新版本时,指定为“latest”;需要保证某一版本时,指定为版本号。
  • source:指定程序包的来源。如果本地yum仓库已经包含该包,则可以不指定。
  • provider:指明安装方式。

使用案例如下:

其中,package_name和package_ensure是传入的参数值,通过对属性以参数的形式赋值,可以大大提高模块的复用性。

2)配置文件file

file资源的描述如上图所示,下来我们将对file资源的主要属性进行介绍:

  • ensure:文件的状态,值有absent、present、file、directory和link。
  • path:文件路径,不指定时为title的值。“ensure=>absent”共用。
  • owner:文件的属主。
  • Group:文件的属组。
  • Mode:文件的权限。
  • Source:文件来源。

使用案例如下:

服务和exec资源在这里不再赘述,可以利用上述提到的命令,查看资源的详细介绍和参数的使用方法。从以上案例可以看出,采用puppet描述语言,结合常用的逻辑控制语句,可以快速的开发出不同资源的类模块。

结论

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读