设为首页 收藏本站
查看: 1143|回复: 0

[经验分享] puppet介绍及基于httpd实例部署

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-6-29 09:47:45 | 显示全部楼层 |阅读模式
本文主要介绍puppet工作原理、软件安装及一个部署httpd的实例。

puppet简单介绍及软件安装
一、puppet介绍
Puppet 是一款为 IT 系统管理员和顾问们设计的自动化软件,可以用它自动化地完成诸如安装应用程序和服务、补丁管理和部署等工作。所有资源的相关配置都以“manifests”的方式保存,单台机器或者多台机器都可以使用。
二、Puppet工作原理
1、工作流程
wKioL1WPWGngCoaeAADRp6NG8fc255.jpg
1)定义:使用puppet特定的语言定义基础配置信息,通常这些信息定义在Modules中
2)模拟:在配置执行前检测代码,并未真正执行
3)执行:按第一步定义的配置自动部署
4)报告:
2、数据流走向
wKiom1WPVrvTisblAACk4sH1psM172.jpg
1)node节点将Facts和本机信息发送给Master
2)Master通知node节点应该如何配置,将这些信息写入Catalog后传给node
3)node节点在本机进行代码解析验证并执行,将结果反馈给Master
4)Master通过API将数据发给分析工具
三、安装软件
Puppet需要ruby环境,先安装ruby
1.安装epel源
当前最新版本为3.8.1
2.服务器端安装
# yuminstall puppet-server
# puppet –V
# facter –v
安装完成后在/etc/puppet目录下生产以下文件
wKioL1WPWJfT_1F8AABOEo9FioI649.jpg
auth.conf:ACL权限控制文件
environments:
fileserver.conf:文件服务配置文件
manifests:节点存储目录
modules:模块配置目录
puppet.conf:主配置文件
3.客户端安装
# yuminstall puppet
4.启动服务
服务器端:# service puppetmaster start
客户端:# service puppet start

Puppet部署httpd实例
一、实验环境
wKiom1WPWvLhPBf_AACPEghQfsI035.jpg
二、安装前准备工作
Puppet软件的安装这里不在介绍
1.修改客户端和服务端的hosts文件,添加如下两行
192.168.115.21puppetmaster.hnr.com
192.168.115.22agent.hnr.com
2.服务端上修改相应的配置文件
1)修改主配置文件
/etc/puppet/puppet.conf
[agent]
    server = puppetmaster.hnr.com
2)修改系统配置文件
/etc/sysconfig/puppet
PUPPET_SERVER=puppetmaster.hnr.com
3.客户端上修改相应的配置文件
1)修改主配置文件
/etc/puppet/puppet.conf
[agent]
    server = puppetmaster.hnr.com
2)修改系统配置文件
/etc/sysconfig/puppet
PUPPET_SERVER=puppetmaster.hnr.com
4.服务端和客户端分别启动服务
三、证书签发
1.客户端发起验证
先删除/var/lib/puppet/ssl/目录下所有文件
# puppetagent --test
“Exiting; no certificate found andwaitforcert is disabled”
说明此时服务端还未签发证书
2.服务端签发证书
1)服务器端重新签名需要删除相关签名文件,执行以下命令
# puppetcert --clean agent.hnr.com
2)第一次签发证书,执行以下命令
find$(puppet master --configprint ssldir) -name "$(puppet master --configprintcertname).pem" -delete
3)查看未签发的证书
# puppetcert --list agent.hnr.com
此时证书还未签发,证书前无+号
4)签发证书
# puppetcert sign agent.hnr.com
# puppetcert -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
classhttpd {
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.pp
import  “nodes/agent.hnr.com.pp”
5.检查配置文件语法
puppetparser validate
在客户端上试运行
# puppetagent --test –noop
wKioL1WPWVmjO7iqAADP7bK350A702.jpg
一切正常执行命令
# puppet agent –test
wKioL1WPWWiQwg4kAAEyK3a5PDw266.jpg
命令执行结束后,httpd软件在客户端上已安装完成

参考文献:
《puppet实战》----刘宇


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-81416-1-1.html 上篇帖子: 编写puppet的第一个模块puppet 下篇帖子: Puppet基于Master/Agent模式实现LNMP平台部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表