【Puppet】什么是Puppet——精通Puppet配置管理工具

【Puppet】什么是Puppet——精通Puppet配置管理工具

时间:2013-09-10 08:09:03      作者:vaster      标签: puppet      分类:

第1章  开始使用Puppet

     1.1  什么是Puppet

Puppet是一个基于Ruby,并使用GPLv2协议授权的开源软件,它即能以“客户端-服务端”的方工运行,也能独立运行。它可以用来管理Unix(包括OSX)、Linux以及Windows平台。

Puppet管理一台主机的整个生命周期:  初始化——安装——升级——维护——服务迁移/下架

   Puppet模型:

1-1_Puppet模型

1.1.1 部署

通常情况下,Puppet都是以简单的客户端-服务端模型进行部署。服务端称“Master”,客户端称“Agent”,客户端本身,被定义为一个节点。

PuppetMaster在一台主机上以守护进行的方工运行,它包含了环境所需的所有配置,PuppetAgent则通过 SSL协议进行加密和验证的连接与PuppetMaster进行通信。

当Agent已经获得需要的配置或没有任何可以被应用的配置时,就不会做任何事情,这样就意味着,它不会在重复操作的情况下,浪费服务器资源。

每个客户端都可以以守护进行的方工来运行Puppet(如使用cron),也可以手动启动。通常的做法是以守护进行的方式启动,并周期性地与Master进行通信(默认30min),以此来保证配置已符合他们的需求。

另一种部署方式:即抛开Master以独立方式运行,这种模式下,配置放置在被管理的主机上,然后通过手动运行puppet程序来执行和应用这些配置。

1.1.2 配置语言及资源抽象层

配置项在Puppet中被称为“资源”,大部分配置工具,如shell或perl脚本是命令或者过程式的(即要该如何做),而Puppet用户只需要声明它们的主机应该处于什么状态即可,如何达到这种状态由Puppet负责。

  • 配置语言

example:实现在一个有RedHat、Ubuntu、Solaris的主机环境中,为所有主机安装上vim程序。

手工操作步骤:

连接到目标主机(包含输入密码或提供密钥) 
检查是否安装了vim 
没有安装则使用平台上适当的命令来安装它(yum、apt-get) 返回安装结果
返回安装结果

Puppet完成方法(定义vim配置资源):

package { "vim":    
//可看作package["vim"]的资源
      ensure => present,   
      //ensure用于指定包的状态(安装/卸载);present表示希望安装上它、absent表示希望卸载它}
}

资源包的组成:类型[package](软件包、服务或定时任务)、标题[vim]及一系列属性[ensure]资源抽象层

  • 资源抽象层

 

asdfasdfa

 

 

 

 

 

时间:2013-09-10 08:09:03      作者:vaster      标签: puppet      分类:
  • 分享到:
  • 微博
  • QQ空间
  • 腾讯微博
  • 微信

Copyright © 2015 Gitblog | Proudly powered by Gitblog.