您的位置:首页 > 理论基础 > 计算机网络

puppet介绍及基于httpd实例部署

2015-06-28 10:18 721 查看
puppe介绍及基于httpd实例部署本文主要介绍puppet工作原理、软件安装及一个部署httpd的实例。 puppet简单介绍及软件安装 一、puppet介绍Puppet 是一款为 IT 系统管理员和顾问们设计的自动化软件,可以用它自动化地完成诸如安装应用程序和服务、补丁管理和部署等工作。所有资源的相关配置都以“manifests”的方式保存,单台机器或者多台机器都可以使用。二、Puppet工作原理1、工作流程

1)定义:使用puppet特定的语言定义基础配置信息,通常这些信息定义在Modules中2)模拟:在配置执行前检测代码,并未真正执行3)执行:按第一步定义的配置自动部署4)报告:2、数据流走向

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.pp
class
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.pp
node
'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实战》----刘宇
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息