最近去面试了2家大的电商网站的运维工作,公司对系统的自动化管理,虚拟化,mysql集群,系统性能的优化和shell及python编程的要求都比较高,虽然没有面试成功,但也明白了2013年自己学习的目标。
众所周知, 春天到了,春天是播种的季节,万物复苏的季节;只有在春天播下希望的种子,夏天才能开花,秋天才能结果,冬天才能让老板给自己加薪......,让我们一起去学习puppet安装。
1.Puupet简介
Puppet是一个开源的自动化配置和部署工具,puppet是基于C/S架构的,服务端被称为Puppet master,客户端软件被称为Puppet agent,Puppet master服务器端保存着所有对客户端服务器的配置代码,Puppet agent则通过一个使用标准SSL协议进行加密和验证的链接与Puppet master进行通信。
2.Puupet工作原理
1)客户端Puppetd向Master发起认证请求。
2)客户端puppet调用Facter,Factert探测出主机的变量信息,Puppetd将这些信息通过SSL连接发送到服务器端。
3)服务器端的Puppet Master检测客户端的主机名,然后找到manifest对应的node配置,并对该内容进行解析,并将伪代码发送给客户端。
5)客户端接收到伪代码并执行,将执行结果返回给服务器。
6)服务器把客户端的执行结果写入日志。
3.物理环境
Master:192.168.1.244 Centos 5.5 hostname:master.puppet.net
Slave:192.168.1.247 Centos 5.5 hostname:slave.puppet.net
4.获取puppet软件包
在puppet的官方网站(https://puppetlabs.com)下载最新的安装版本puppet-3.1.1.tar.gz。也可以在Linux终端用wget下载。
wget http://puppetlabs.com/downloads/puppet/puppet-3.1.1.tar.gz --no-check-certificate
wget http://puppetlabs.com/downloads/facter/facter-1.6.18.tar.gz --no-check-certificate
5.puppet安装配置
5.1配置主机名,Puppet是通过主机名(FQDN)通信的,在master和agent的/etc/hosts文件里面添加下面两行。
5.2Puppet master端的安装。
1)Puppet是用ruby语言开发的,因此在安装puppet之前先安装ruby。
2)安装facter。
3)安装puppet。
4)启动puppet master进程。
5.3Puppet slave端的安装。
1)Puppet是用ruby语言开发的,因此在安装puppet之前先安装ruby。
2)安装facter。
3)安装puppet。
6.puppet agent 证书申请流程。
7.Puppet master-slave客户端测试。
puppet master --genconfig > /etc/puppet/puppet.conf 生成master配置文件
puppet agent --genconfig > /etc/puppet/puppet.conf
4.在agent申请证书时,puppet agent --no-daemonize --verbose --server=master.puppet.net,出现下面的错误,在agent的host文件里面添加别名:192.168.1.244 master.puppet.net puppet。