码迷,mamicode.com
首页 > 其他好文 > 详细

puppet (一)

时间:2016-09-07 23:05:58      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:puppet 模板

Puppet

sever:172.25.23.1 server1.example.com puppet master

client:172.25.23.2 server2.example.com puppet agent

client:172.25.23.3 server3.example.com puppet agent

server 与所有 client 之间需要解析,以及时间同步,iptables selinux disabled

 

一.基础配置

1.安装软件

技术分享 

(1) server

 

[root@server1 ~]#  yum install -y puppet-server-3.0.1-1.el6.noarch.rpm puppet-3.0.1-1.el6.noarch.rpm facter-2.4.4-1.el6.x86_64.rpm ruby-shadow-2.2.0-2.el6.x86_64.rpm hiera-1.3.4-1.el6.noarch.rpm ruby-augeas-0.4.1-3.el6.x86_64.rpm rubygem-json-1.5.5-3.el6.x86_64.rpm rubygems-1.3.7-5.el6.noarch.rpm

 

[root@server1 ~]# /etc/init.d/puppetmaster start

 

(2) client

 

[root@server2 ~]# yum install -y  puppet-3.0.1-1.el6.noarch.rpm facter-2.4.4-1.el6.x86_64.rpm ruby-shadow-2.2.0-2.el6.x86_64.rpm hiera-1.3.4-1.el6.noarch.rpm ruby-augeas-0.4.1-3.el6.x86_64.rpm rubygem-json-1.5.5-3.el6.x86_64.rpm rubygems-1.3.7-5.el6.noarch.rpm

 

注意:客户端先不开启服务

 

 

2.获取证书

server

技术分享

# puppet 的第一个执行的代码是在/etc/puppet/manifest/site.pp,因此这个文件必须存在,而且其他的代码也要通过该文件来调用

(1) server手动生成签名

a)client先向服务端发送请求 

技术分享 

# 会显示失败,是因为,server端没有client的证书,因此,server需要手动生成

b)server端手动进行签证

技术分享 

 

c) client再次获取证书

技术分享 

 

client 向 master 发出证书验证请求,然后等待 master 签名并返回证书。

参数--server 指定了需要连接的 puppet master 的名字或是地址,默认连接名为puppet的主机如要修改默认连接主机可以修改/etc/sysconfig/puppet 文件中的  PUPPET_SERVER=puppet 选项

参数--no-daemonize 是 puppet 客户端运行在前台

参数--verbose 使客户端输出详细的日

 

(2) server自动生成签名

a)修改server的配置文件

vim /etc/puppet/puppet.conf

技术分享 

 

vim /etc/puppet/autosign.conf

技术分享 

/etc/init.d/puppetmaster reload

 

b)将server原有的签名删除

技术分享 

c)client端删掉原有证书的记录,再重新获取

rm -fr /var/lib/puppet/ssl

技术分享 

在实际中有时会修改 client 端的主机名,这样就需要重新生成证书

3.资源定义

资源定义在 /etc/puppet/manifest/site.pp

(1) 创建文件

Server

Vim /etc/puppet/manifest/site.pp

技术分享 

 

client

puppet agent --server server1.example.com --no-daemonize -vt

cat /tmp/wang

技术分享 

(2) 当改变资源内容时,Hash码也会发生变化

server

Passwd存储在 /etc/puppet/files(自己创建的)

vim /etc/puppet/fileserver.con

技术分享 

Vim /etc/puppet/manifest/site.pp

技术分享 

Client

puppet agent --server server1.example.com --no-daemonize -vt

技术分享 

技术分享 

生成的新的Hash会和server端中的资源相同

(3)安装包

技术分享

(4)服务

service { "httpd": ensure => running;

"vsftpd": ensure => stopped

}

 

(5) 用户

技术分享 

(6)文件系统挂载

server

技术分享 

172.25.23.250上,需要设置nfs分享

技术分享 

且在client需要安装 nfs-utils软件

自动挂载文件系统,并同步 fstab 文件,如果需要卸载,改为 absent

(7) crontab任务

技术分享 

任务会在 client 上/var/spool/cron 目录中生成

 

 

二.安装vsftpd,httpd及启动服务

Server

Vim /etc/puppet/manifest/site.pp

技术分享 

Client

puppet agent --server server1.example.com --no-daemonize -vt

 

三.编写httpd 模块

server

技术分享 

vim site.pp

技术分享 

 

技术分享 

 

vim server3.pp

技术分享 

技术分享 

各部分内容如下

技术分享 

 

技术分享 

 

技术分享 

 

技术分享 

 

技术分享 

注意:若出现如下报错,则是资源中文件的权限不够,最少为644

技术分享 

 

四.编写nginx模块

server

技术分享 

vim nginx.sh

技术分享 

vim nginx.conf

技术分享 

 

技术分享 

 

vim init.pp

 

技术分享 

 

vim install.pp

技术分享 

 

vim config.pp

技术分享 

 

vim service.pp

技术分享 

技术分享 

vim site.pp

技术分享 

 

技术分享 

 

vim server2.pp

技术分享 

 

 

Client:

 

技术分享 

 

技术分享 

作业:课后完成lnmp的搭建


本文出自 “11841085” 博客,转载请与作者联系!

puppet (一)

标签:puppet 模板

原文地址:http://11851085.blog.51cto.com/11841085/1847487

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!