puppet介绍及基于httpd实例部署
2015-06-28 10:18
721 查看
puppe介绍及基于httpd实例部署本文主要介绍puppet工作原理、软件安装及一个部署httpd的实例。 puppet简单介绍及软件安装 一、puppet介绍Puppet 是一款为 IT 系统管理员和顾问们设计的自动化软件,可以用它自动化地完成诸如安装应用程序和服务、补丁管理和部署等工作。所有资源的相关配置都以“manifests”的方式保存,单台机器或者多台机器都可以使用。二、Puppet工作原理1、工作流程
![](http://s3.51cto.com/wyfs02/M01/6F/00/wKioL1WPWGngCoaeAADRp6NG8fc255.jpg)
1)定义:使用puppet特定的语言定义基础配置信息,通常这些信息定义在Modules中2)模拟:在配置执行前检测代码,并未真正执行3)执行:按第一步定义的配置自动部署4)报告:2、数据流走向
![](http://s3.51cto.com/wyfs02/M02/6F/03/wKiom1WPVrvTisblAACk4sH1psM172.jpg)
1)node节点将Facts和本机信息发送给Master2)Master通知node节点应该如何配置,将这些信息写入Catalog后传给node3)node节点在本机进行代码解析验证并执行,将结果反馈给Master4)Master通过API将数据发给分析工具三、安装软件Puppet需要ruby环境,先安装ruby1.安装epel源
![](http://s3.51cto.com/wyfs02/M01/6F/00/wKioL1WPWGngCoaeAADRp6NG8fc255.jpg)
1)定义:使用puppet特定的语言定义基础配置信息,通常这些信息定义在Modules中2)模拟:在配置执行前检测代码,并未真正执行3)执行:按第一步定义的配置自动部署4)报告:2、数据流走向
![](http://s3.51cto.com/wyfs02/M02/6F/03/wKiom1WPVrvTisblAACk4sH1psM172.jpg)
1)node节点将Facts和本机信息发送给Master2)Master通知node节点应该如何配置,将这些信息写入Catalog后传给node3)node节点在本机进行代码解析验证并执行,将结果反馈给Master4)Master通过API将数据发给分析工具三、安装软件Puppet需要ruby环境,先安装ruby1.安装epel源
# rpm -ivh https://yum.puppetlabs.com/el/6.5/products/x86_64/puppetlabs-release-6-11.noarch.rpm[/code] href="https://yum.puppetlabs.com/el/6.5/products/x86_64/puppetlabs-release-6-6.noarch.rpm" target=_blank>
当前最新版本为3.8.12.服务器端安装# yum install puppet-server # puppet –V # facter –v
安装完成后在/etc/puppet目录下生产以下文件
auth.conf:ACL权限控制文件environments:fileserver.conf:文件服务配置文件manifests:节点存储目录modules:模块配置目录puppet.conf:主配置文件3.客户端安装# yum
install puppet4.启动服务服务器端:# service puppetmaster start客户端:# service puppet start
Puppet部署httpd实例一、实验环境
二、安装前准备工作Puppet软件的安装这里不在介绍1.修改客户端和服务端的hosts文件,添加如下两行192.168.115.21
puppetmaster.hnr.com192.168.115.22
agent.hnr.com2.服务端上修改相应的配置文件1)修改主配置文件/etc/puppet/puppet.conf[agent] server = puppetmaster.hnr.com2)修改系统配置文件/etc/sysconfig/puppetPUPPET_SERVER=puppetmaster.hnr.com3.客户端上修改相应的配置文件1)修改主配置文件/etc/puppet/puppet.conf[agent] server = puppetmaster.hnr.com2)修改系统配置文件/etc/sysconfig/puppetPUPPET_SERVER=puppetmaster.hnr.com4.服务端和客户端分别启动服务三、证书签发1.客户端发起验证先删除/var/lib/puppet/ssl/目录下所有文件# puppet
agent --test“Exiting; no certificate found and
waitforcert is disabled”说明此时服务端还未签发证书2.服务端签发证书1)服务器端重新签名需要删除相关签名文件,执行以下命令# puppet
cert --clean agent.hnr.com2)第一次签发证书,执行以下命令find
$(puppet master --configprint ssldir) -name "$(puppet master --configprint
certname).pem" -delete3)查看未签发的证书# puppet
cert --list agent.hnr.com此时证书还未签发,证书前无+号4)签发证书# puppet
cert sign agent.hnr.com# puppet
cert -s agent.hnr.com此时在查看发现客户端的证书前已出现+号四、安装httpd实例服务端配置1.创建httpd模块相应的目录/etc/puppet/modules目录下# mkdir
-pv httpd/{manifests,templates,files} 2.编辑httpd模块文件,指定安装源配置信息,这里使用163镜像编辑文件/etc/puppet/modules/httpd/manifests/init.ppclass httpd { yumrepo { "repo163": descr => "163 repo", baseurl => "http://mirrors.163.com/centos/6.6/os/x86_64/", gpgcheck => "0", enabled => "1", } package { "httpd": ensure => installed, require => Yumrepo["repo163"], } }3.修改/etc/puppet/manifests/nodes目录下的节点配置文件,增加httpd模块/etc/puppet/manifests/nodes/agent.hnr.com.ppnode 'agent.hnr.com' { include httpd }
4.修改站点配置文件/etc/puppet/manifests/ site.ppimport “nodes/agent.hnr.com.pp”5.检查配置文件语法puppet
parser validate在客户端上试运行# puppet
agent --test –noop
一切正常执行命令# puppet agent –test
命令执行结束后,httpd软件在客户端上已安装完成
参考文献:《puppet实战》----刘宇
相关文章推荐
- Android 通过WebService进行网络编程,使用工具类轻松实现
- google picasa 网络相册帮助
- 网络编程
- Linux网络编程综合运用之MiniFtp实现(八)
- java网络编程
- 访问网络共享
- cocos2d-x的TestCpp分析
- 使用Node.js配合Nginx实现高负载网络
- Jetty 9.3庆祝20周年生日快乐,并增加HTTP/2支持
- HTTP重定向
- HTTP无状态协议分析与Cookie的关系
- HTTP协议是无状态协议,怎么理解
- 计算机等级考试四级计算机网络(操作系统部分)
- Centos6.6 安装nfs网络文件系统
- 黑马程序员---2015.6.27java基础笔记--字符编码--TCP--UDP
- HTTP传输层异常处理办法及测试总结
- Fedora 14 NFS网络系统的挂载
- 使用AsyncTask实现网络数据的异步访问
- P2P内网穿透原理-tcp
- Comet:基于 HTTP 长连接的“服务器推”技术