之前搞了一个月zabbix,基本上是能熟练使用了,不过在后来部署的时候发现这玩意在部署的时候机子少还行,机子多了手动安装手会残的。第一反应是用puppet,后来师父直接用puppet搞定了。索性自己也学一波,毕竟这是自动化运维大势所趋,必备技能啊。

  下载链接见http://www.cnblogs.com/weijing24/p/5714850.html

  puppet是c/s结构,有一个服务端和很多客户端。一般运行模式是客户端从服务端拉取指令然后执行。puppet很纠结的一个地方是版本不同导致的命令不同,主要是2.6版本前后的差异巨大,主要差异如下图:

  这里以2.7版本为准,讲一下具体执行过程吧,假设服务端的hostname为puppetmaster、客户端的hostname为agent2

  1、运行服务端

  puppet master

  对,就是这么简单,简单到超乎你的想象,简短的2个单词puppet server就跑起来了,当然第一次推荐用puppet master --no-daemonize --verbose 这是非daemon模式,简而言之就是运行此命令server会在前台运行,你可以看到server启动的整个流程以及agent向server注册的过程

  2、客户端向服务端申请证书

  puppet agent --certname agent2 --server puppetmaster --test

  这里--certname可以不加,因为客户端的hostname就是agent2,在这里加了就是为了说明如果你不想以hostname的名字来注册,你可以使用certname后跟上自己想要的名字去注册。有的文章会使用puppet agent --server puppetmaster --no-daemonize --onetime --verbose --debug这条命令来注册,其实都一样,这个是前台输出日志,报错时方便调试,但是我要说如果你是第一次安装的话,完全不需要使用这种调试模式,你只要确保master开启,且--server后面的主机名(主机名就是puppet server的hostname)写正确,注册基本上不会发生错误。

  理论上注册成功如下图

  

  但是我在安装的时候发生了无法安装的情况,原因是我之前已经安装了

  

  可以看到,我这里注册没有绿色的ssl认证过程,因为我之前已经注册过,虽然在master上已经删除了agent2的证书,但是agent2上自己还留了证书,如下图

  

  知道了原因解决起来就很简单了,删除agent2.pem即可,find /var/lib/puppet/ssl/ -name agent2.pem -delete

  3、服务端签发证书

  

  上面的图中可以看到,agent2前面没有+,agent1前面有+,因为agent1已经在服务端签发证书了,那么如何签发证书呢

  

  也很简单,一条命令就可以了。

  

  整个c-s的第一次交互就这么完成了。可以看到我签发了三个证书,agent1就是puppet master上使用了--certname参数生成的,不加就是最下面的puppetmaster,以下命令作为对比可以看出不同:

  puppetmaster  puppet agent -server puppetmaster --test

  agent1  puppet agent --certname agent1 --server puppetmaster --test

  agent2  puppet agent --server puppetmaster --test

  

  

  在这里还是要提几句,如果服务端注销了某个客户端证书,那么相对应的客户端也需要把本地的证书删除,否则下次就会和我上面的情况一样,无法注册。

puppet版本的差异图转自http://www.cnblogs.com/taosim/articles/3336986.html

puppet学习笔记(一)的更多相关文章

  1. Puppet学习笔记(CentOS6.3+Puppet3.01)

    Puppet学习笔记(CentOS6.3+Puppet3.01)  技术 Add comments Oct262012 下了决心,好好学习puppet,周末专门去参加一个puppet的培训,难得朋友那 ...

  2. puppet学习笔记(二)

    在puppet安装完成之后我们就可以动手开始第一个puppet实验了,此实验就以批量推送文件为例吧. 1.获取module路径 这里的module就是指一个模块,可以把puppet想象成一个个项目的部 ...

  3. puppet学习笔记

    puppet优势:容易理解.用户较多.门槛低.简单.安装配置文件较少 puppet使用Ruby语言开发,安装puppet需要安装Ruby puppet运行环境:Redhat.Centos.Window ...

  4. <老友记>学习笔记

    这是六个人的故事,从不服输而又有强烈控制欲的monica,未经世事的千金大小姐rachel,正直又专情的ross,幽默风趣的chandle,古怪迷人的phoebe,花心天真的joey——六个好友之间的 ...

  5. MongoDB学习笔记:快速入门

    MongoDB学习笔记:快速入门   一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...

  6. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  7. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  8. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  9. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

随机推荐

  1. Winform开发框架之附件管理应用

    在很多常规的管理系统里面,都可能有附件管理的需求,在我做的一系列医疗行业的病人信息管理系统里面,都希望能很好的管理病人的相关资料,分门别类的进行存储,需要的时候可以预览查看,那么这个功能我们可以把它独 ...

  2. C#接口知识大全收藏

    第一节 接口慨述 接口(interface)用来定义一种程序的协定.实现接口的类或者结构要与接口的定义严格一致.有了这个协定,就可以抛开编程语言的限制(理论上).接口可以从多个基接口继承,而类或结构可 ...

  3. Azure开发者任务之六:使用WCF Service Web Role

    在本文中,我们将会在local development fabric上创建一个WCF服务角色,然后在一个控制台应用程序中使用它. WCF服务角色可以让我们创建一个WCF服务,并且把它托管在Window ...

  4. 怎样在C#中从数据库中读取数据(数据读取器)

    实现在C#中通过语句,查询数据库中的数据 SqlConnection con = null; //创建SqlConnection 的对象 try    //try里面放可能出现错误的代码        ...

  5. 线段树区间求最大值(点更新)---I Hate It

    HDU   1754 Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的 ...

  6. 移除NDK方法

    以下内容由:于伟建 提供 删除.project中的以下字段基本都是有cdt关键字的位置 删除.cproject然后重启eclipse,clean,重新编译我这里还有错误,就手动删了gen 删除包含cd ...

  7. (四)play之yabe项目【页面】

    (四)play之yabe项目[页面] 博客分类: 框架@play framework   主页面 显示当前发表博客的完整内容,以及历史博客列表 Bootstrap Job 一个play job任务就是 ...

  8. JavaScript中的null与nudefined

    null和undefined 概述 null与undefined都可以表示"没有",含义非常相似.将一个变量赋值为undefined或null,老实说,语法效果几乎没区别. var ...

  9. SharePoint 2013 调用WCF服务简单示例

    内容比较简单,主要记录自己使用SharePoint 2013WCF服务遇到的小问题和小经验,分享给大家,希望能够给需要的人有所帮助.好吧,进入正题! 第一部分 SharePoint 2013调用自带W ...

  10. Installing FIM 2010 R2 SP1 Portal on SharePoint Foundation 2013

    http://www.fimspecialist.com/fim-portal/installing-fim-2010-r2-sp1-portal-on-sharepoint-foundation-2 ...