最近项目上线,自己在部署过程中发现很多问题,发现没有自动化部署工具简直就是纯体力活儿,费时又费力,干的事就是那几个,就不能“一键完成么”的想法油然而生,答案是肯定的,自动化的工具有很多,之所以安装Puppet,只是因为比起别的软件,这款软件原来有学习过,现在又重新拾起来,要把它用到生产环境中,让运维工作不再是体力活,而是实现,全自动部署,更新,这篇只是聊聊安装和配置Puppet,后续还会写具体在生产环境中如何实现自动化代码更新,软件部署等,敬请期待~
环境介绍:
puppetserver.com 192.168.6.100 Centos6.6
web1.com 192.168.6.10 Centos6.6
web2.com 192.168.6.20 Centos6.6
附录:
1.主机之间互相解析(server上添加所有主机的解析,客户机上添加自己和server的解析)
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.6.100 puppetserver.com
192.168.6.20 web2.com
2.时间同步(重要!)
在所有主机上执行 ntpdate 202.120.2.101
安装Puppet步骤十分简单,分以下几步:
一.更新yum 缓存
下载阿里云的yum源到本地服务器
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
更新缓存
yum makecache
二.安装puppetlabs,puppet的yum仓库
rpm -ivh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-10.noarch.rpm
三.安装server端puppet-server
yum -y install puppet-server
四.安装客户端puppet
yum -y install puppet
五.开启server端自动签名
1.vim /etc/puppet/autosign.conf
*.com
2.vim /etc/puppet/puppet.conf
在最后添加
autosign=true
autosign=/etc/puppet/autosign.conf
六.修改客户端配置文件
vim /etc/puppet/puppet.conf
在最后添加
runinterval=120 #单位:秒 ,每120秒同步server端资源
server=puppetserver.com #server端主机名
七.启动服务
启动server端服务 service puppetmaster start
启动客户端服务 service puppet start
八.验证证书签发情况
1.在server端执行 puppet cert --list --all 显示所有主机名(包括server端)前面都有一个加号,证书签发成功
2.在客户端执行 puppet agent --test 查询是否有报错
九.排错
1.agent测试报错,检查时间是否同步,主机名是否解析
2.用以下方法排错:
①停止客户端服务 service puppet stop
②删除所有证书文件 rm -rf /var/lib/puppet/*
③在server端执行 puppet cert --clean --all 清除所有证书
puppet cert --clean web2.com 只清除web2.com的证书
④重新注册证书 service puppet start
本文出自 “linux运维技术” 博客,请务必保留此出处http://forall.blog.51cto.com/12356505/1912909
原文地址:http://forall.blog.51cto.com/12356505/1912909