首页 > 代码库 > 【Linux】【Services】【Configuration】puppet

【Linux】【Services】【Configuration】puppet

---恢复内容开始---

1. 简介

1.1. 官方网站:https://docs.puppet.com/

1.2. puppet是IT基础设施自动化管理工具,他的整个生命周期包括:provisioning,configuration,orchestration,reporting

1.3. puppet是master/agent模型的,但是agent可以独立执行操作,agent是真正执行相应管理操作的核心部件,他会周期地去master请求与自己相关的配置

1.4. puppet的工作模式:

  声明性、基于模型:

    定义:使用puppet配置语言定义基础配置信息

    模拟:模拟测试运行

    强制:强制当前与定义的目标状态保持一致

    报告:通过puppet api将执行结果发送给接收者

1.5. puppet有三个层次:

  配置语言

  事务层

  资源抽象层

    资源类型:例如用户、组、文件、服务、cron任务等等

    属性及状态 与其实现方式分离

    期望状态

1.6. puppet核心组件:资源

  资源清单:manifests

  资源清单及清单中的资源定义的所依赖文件、模板等数据按特定结构组织起即为“模板”

2. 安装

2.1. agent: puppet, facter

2.2. master: puppet-server

3. 命令

3.1. puppet:

  命令的用法格式:

    Usage:puppet <subcommand> [options] <action> [options]

 

  获取所支持的所有的资源类型:

    # puppet describe -l

 

    # puppet describe RESOURCE_TYPE

3.2. 定义资源:

  type { ‘title’:

    attribute1 => value1,

    attribute2 => value2,

  }

    type必须小写:title在同一类型下必须唯一;

 

  常用资源类型:

    user, group, file, package, service, exec, cron, notify

 

  group:

    管理组资源

    常用属性:

      name:组名,NameVar

      gid:GID

      system:true,false

      ensure:present,absent

      members:组内成员

 

  user:

    管理用户

    常用属性:

      comment:注释信息

      ensure:present,absent

      expiry:过期期限

      gid:基本组id

      groups:附加组

      home:家目录

      shell:默认shell

      name: NameVar

      system:是否为系统用户,true|false

      uid:UID

      password:

  

  file:

    管理文件、目录、符号链接等;内容可通过content属性直接给出,也可以通过source属性根据远程服务器路径下载生成;

    指明文件内容来源

      content:直接给出文件内容,支持\n, \t;

      source:从指定位置下载位置;

      ensure:file,directory,link,present,absent

    常用属性

      force:强制运行,可用值yes,no,true,false

      group:属组

      owner:属主

      mode:权限,支持八进制格式权限,以及u,g,o的赋权方式

      path:目标路径

      source:源文件路径,可以是本地文件路径(单机模型),也可以使用puppet:///modules/module_name/file_name

 

【Linux】【Services】【Configuration】puppet