【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

时间: 2024-10-13 00:20:36

【Linux】【Services】【Configuration】puppet的相关文章

【Linux&amp;Unix--文件描述符与权限】

个人学习整理,如有不足之处,请不吝指教.转载请注明:@CSU-Max 文件描述符 每个UNIX进程都有一个文件描述符范围,其大小为0到N,N标志文件描述符的最大值,N的大小取决于UNIX的版本及系统配置.实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表.当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符.在Linux和Unix操作系统的程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开. 标准文件描述符 一般在进程运行时前三个文件描述符就

【Linux运维-集群技术进阶】Nginx+Keepalived+Tomcat搭建高可用/负载均衡/动静分离的Webserver集群

额.博客名字有点长.. . 前言 最终到这篇文章了,心情是有点激动的. 由于这篇文章会集中曾经博客讲到的全部Nginx功能点.包含主要的负载均衡,还有动静分离技术再加上这篇文章的重点.通过Keepalived实现的HA(High Available).为什么要实现高可用呢?曾经在搭建的时候仅仅用了一台Nginxserver,这种话假设Nginxserver宕机了,那么整个站点就会挂掉.所以要实现Nginx的高可用,一台挂掉还会有还有一台顶上去.从而保证站点能够持续的提供服务. 关于负载均衡和动静

【Linux&amp;amp;Unix--open/close/write/read系统调用】

个人学习整理.如有不足之处,请不吝不吝赐教. 转载请注明:@CSU-Max 系列博文: Linux&Unix学习第一弹 -- 文件描写叙述符与权限  Linux&Unix学习第二弹 -- exec 与 fock 系统调用 Linux&Unix学习第三弹 -- open/close/write/read系统调用 在 Unix/Linux 系统中,文件是一个非常重要的概念,本文将介绍 Linux 中和文件相关的几个重要的系统调用--open-close-write-read 系统调用.

【Linux文件系统监控的Java类库 inotify-java】

inotify-java是一个在 Linux 下对文件系统的更改进行监控的 java库. 示例代码: try { Inotify i = new Inotify(); InotifyEventListener e = new InotifyEventListener() { @Override public void filesystemEventOccurred(InotifyEvent e) { System.out.println("inotify event occurred!"

【linux之进程管理,系统监控】

一.进程管理 前台进程:一般是指占据着标准输入和/或标准输出的进程后台进程:不占据默认开启的进程都是前台进程ctrl+C 中断ctrl+z 从前台转入后台bg 后台进程编号 让其在后台运行ls -R / & 让其在后台进行 使一个进程在后台进行1.ctrl+z将前台进程调入后台,默认进行到后台后处于停止状态 若想要在后台运行该后台进程,使用 bg # (#表示后台进程编号),此时ctrl+c不管用2.在开启进程的时候,使用&符号缀在命令之后,也是在后台运行该进程 使用fg命令可以将已被调入

【linux之链接,函数,随机数】

一.链接 硬链接(hard link):同一个文件使用了多个别名.新建文件是已经存在的一个别名,,当原文件删除时,新建的文件仍然可以使用.硬链接和原来的文件没有什么区别,而且共享一个inode号.通过索引节点链接. ln 不允许给目录创建硬链接:只有在同一文件系统中的文件之间才能创建链接. 软链接(symbolic link):符号链接.新建文件以路径的形式表示另一个文件,和windows快捷方式十分相似,新建的软链接可以指向不存在的文件.软链接不共享inode.ln -s 原文件删除了,则该软

【Linux下安装使用virtualenv与virtualenvwrapper】 -- 2019-08-08 18:03:31

原文: http://106.13.73.98/__/95/ virtualenv virtualenv是一个可以帮助我们管理不同Python环境的绝好工具. virtualenv是一个可以在系统中建立多个不同且相互不干扰的虚拟环境. 下面的步骤将创建两个独立的虚拟环境,并分别安装运行django1.11.11.djagno2.0. # 我们先升级pip pip3.6 install --upgrade pip # 指定清华源下载virtualenv pip3.6 install -i http

【Linux下安装使用virtualenv与virtualenvwrapper】 -- 2019-08-08 18:02:59

原文: http://106.13.73.98/__/95/ virtualenv virtualenv是一个可以帮助我们管理不同Python环境的绝好工具. virtualenv是一个可以在系统中建立多个不同且相互不干扰的虚拟环境. 下面的步骤将创建两个独立的虚拟环境,并分别安装运行django1.11.11.djagno2.0. # 我们先升级pip pip3.6 install --upgrade pip # 指定清华源下载virtualenv pip3.6 install -i http

【Linux下安装使用virtualenv与virtualenvwrapper】 &#470421;

原文: http://blog.gqylpy.com/gqy/320 "# virtualenv virtualenv是一个可以帮助我们管理不同Python环境的绝好工具. virtualenv是一个可以在系统中建立多个不同且相互不干扰的虚拟环境. 下面的步骤将创建两个独立的虚拟环境,并分别安装运行django1.11.11.djagno2.0. # 我们先升级pip pip3.6 install --upgrade pip # 指定清华源下载virtualenv pip3.6 install

【Linux服务器搭建】——在linux上安装mysql5、tomcat8和jdk8并部署应用

Linux作为java web服务器是首要选择.在工作中也会搭建服务器.今天尝试在linux上搭建tomcat服务器. linux:suse jdk:jre 1.8 tomat:8.0.9 mysql:5.5.39 服务器是用的阿里云服务器.2G内存,双核CPU. 1.mysql安装 下载地址可以使用sohu的镜像进行下载 ,地址:http://mirrors.sohu.com/mysql/ 我下载的名称为: -rw-r--r-- 1 root root 17715414 Jul 21 20:0