运维自动化之PUPPET3分钟入门

运维自动化之puppet3分钟入门


  几个月前曾因为项目需求而学了点puppet的一些知识,最近因为要给别人讲一下,也就借此博文来做一下回忆,当然了,这个puppet用起来还是很不错的,尤其对我这种懒人来说,如果你需要给多台机器安装同一款软件或是同几款软件,那么学习这个能让你事半功倍,接下来开始学习puppet。那么问题来了:


什么是puppet


  本着外事问谷歌,内事问百度的原则,我在百度百科里找到了对其的定义:puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个puppet客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配置文件来配置服务器. 配置完成以后,puppet客户端可以反馈给服务器端一个消息. 如果出错,也会给服务器端反馈一个消息。


puppet工作原理


客户端调用factor探测主机一些变量,将信息通过ssl连接发送到服务器端。
服务器端检测客户端主机名,找manifest里对应的node配置,并解析生成中间代码“伪代码”发送给客户端。
客户端接收到“伪代码”并执行,把执行的结果发给服务器端,服务器将结果写入日志。
puppet安装


  首先声明一下:我用的系统都是CentOS6.5。也就是说我的一切测试运作都是基于CentOS6.5来进行的。


  在安装前需要对hostname进行修改:


1 [root@controller ~]# hostname 你要起的主机名   //中间有空格,即时生效
2 [root@controller ~]# vim /etc/sysconfig/network  //更改主机名,重启生效
3 [root@controller ~]# vim /etc/hosts    //把你要管理的机器加进去,格式 IP 主机名
  接下来,就是安装了,选一台当服务器,其余的当客户端。当然,所有的都有一个库需要安装:


rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
  然后,服务器端执行下面的安装指令: 


1 yum install puppet-server
   客户端执行下面的安装指令:


1 yum install puppet
   至此,安装结束,没错,就是这么简单~


  不过,你难道以为现在就可以使用了?NO,当然没那么容易,接下来的一步将会至关重要,它的成败将关系到你能否使用这个自动运维的工具。


puppet的认证


  首先,在客户端执行命令: 


1 puppet agent --test
  然后,认证请求会出现在服务器端,使用以下命令进行查看:


1 puppet cert --list
   最后,执行以下命令签署认证:


1 puppet cert --sign hoame
  PS:hostname为你自己设置的,请写上自己的hostname。


  如果走到这一步你还没出错,恭喜你,你已经成功了90%。不过如果每台都需要一步一步的认证的话,是不是很麻烦,对,简直太麻烦了!那么有没有简单的方法呢?回答是肯定的,全部发送请求后统一认证:


1 puppet cert --sign -all
  可是,还是感觉好麻烦的说,那么有没有不用签署认证的呢?答案依然是必然的。修改配置文件/etc/puppet/autosign.conf,在里面加入hostname即可,若无此文件,可自行创建,在这里,告诉大家一个小窍门:hostname可以起成*.puppet.com,这样的话在自动部署里面直接写成


*.puppet.com,很是方便,一般人我不告诉他。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值