puppet (一)

Puppetlinux

sever:172.25.23.1 server1.example.com puppet masternginx

client:172.25.23.2 server2.example.com puppet agentjson

client:172.25.23.3 server3.example.com puppet agentvim

server 与全部 client 之间须要解析,以及时间同步,iptables selinux disabledruby

 

一.基础配置ide

1.安装软件spa

wKioL1fQIM3BtSnmAACdxLATwzI648.png 

(1) server3d

 

[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 orm

 

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

 

(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

wKiom1fQINnTkDdTAABHHinw70c301.png

# puppet 的第一个执行的代码是在/etc/puppet/manifest/site.pp,所以这个文件必须存在,并且其余的代码也要经过该文件来调用

(1) server手动生成签名

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

wKioL1fQIOCB98n0AADdXlepULw466.png 

# 会显示失败,是由于,server端没有client的证书,所以,server须要手动生成

b)server端手动进行签证

wKiom1fQIOjhNNhVAAIvjRGk7Ec470.png 

 

c) client再次获取证书

wKioL1fQIOuQ1IxeAACx2YH9r38511.png 

 

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

wKiom1fQIOyyajdfAAAOOVOIP-I935.png 

 

vim /etc/puppet/autosign.conf

wKioL1fQIO2Au3tHAAAI2IunLLs831.png 

/etc/init.d/puppetmaster reload

 

b)将server原有的签名删除

wKiom1fQIPOg07TIAAFqoklxSp0802.png 

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

rm -fr /var/lib/puppet/ssl

wKiom1fQIPnTEFCZAAFlgYZm9YU374.png 

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

3.资源定义

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

(1) 建立文件

Server

Vim /etc/puppet/manifest/site.pp

wKioL1fQIPqSuwvlAAAYFZgTPXo700.png 

 

client

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

cat /tmp/wang

wKioL1fQIPujTyz8AABUEYMkJt4826.png 

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

server

Passwd存储在 /etc/puppet/files(本身建立的)

vim /etc/puppet/fileserver.con

wKiom1fQIPyAw19GAAAVPK0YVr4177.png 

Vim /etc/puppet/manifest/site.pp

wKiom1fQIP_Qqm8uAAApTW_DJs0917.png 

Client

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

wKioL1fQIQTD6GDSAAD7864RRG0269.png 

wKioL1fQIQbC-reSAAArVgsKBVM947.png 

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

(3)安装包

wKiom1fQIQeT0yuzAAAjbtKrIkM750.png

(4)服务

service { "httpd": ensure => running;

"vsftpd": ensure => stopped

}

 

(5) 用户

wKioL1fQIQvCkKwfAACkalzscuM339.png 

(6)文件系统挂载

server

wKiom1fQIQ2g89BfAABiF-ua0xo783.png 

172.25.23.250上,须要设置nfs分享

wKiom1fQIQ-yeOQJAABLOh1W66Y260.png 

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

自动挂载文件系统,并同步 fstab 文件,若是须要卸载,改成 absent

(7) crontab任务

wKioL1fQIRCTcA9vAAAxNICSMpA565.png 

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

 

 

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

Server

Vim /etc/puppet/manifest/site.pp

wKioL1fQIRbTe1cLAAEzf-bZj_4875.png 

Client

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

 

三.编写httpd 模块

server

wKiom1fQIRjSOOeeAAA8qJggsAI401.png 

vim site.pp

wKiom1fQIR6DjkBmAAAMorYJ7c4610.png 

 

wKiom1fQIR-hVNjdAAA9h-rwY_M929.png 

 

vim server3.pp

wKioL1fQISCRhHawAAAdh0cAJZs522.png 

wKioL1fQISPR4h_nAACgzsh69ow937.png 

各部份内容以下

wKiom1fQISTwFcW5AAAnWbwl2s0459.png 

 

wKioL1fQISXySj4qAABmpHw_QZk874.png 

 

wKiom1fQISiwKa5zAABCAaGAfx8970.png 

 

wKioL1fQISuz1zh2AAAplfKp4pg997.png 

 

wKiom1fQIbeySCvrAABbIB5fPgA640.png 

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

wKioL1fQIcGgghv7AAEH2VwFSaY273.png 

 

四.编写nginx模块

server

wKiom1fQIcLjICW-AABQEs_l9wU113.png 

vim nginx.sh

wKioL1fQIcSiHU29AADI8WM4pZw611.png 

vim nginx.conf

wKiom1fQIcbTx0uOAAAb3_m-q90382.png 

 

wKioL1fQIcfxbUEwAABO_irNClI943.png 

 

vim init.pp

 

wKiom1fQIcnh9FsJAAAlax3aGbY199.png 

 

vim install.pp

wKioL1fQIc3SG9ZuAADu8lrwxYc197.png 

 

vim config.pp

wKiom1fQIc7yJs1wAADMxiDI2nc798.png 

 

vim service.pp

wKioL1fQIc_gGSZtAABtcJ59jaQ360.png 

wKiom1fQIdCAOHzNAAA8qJggsAI044.png 

vim site.pp

wKioL1fQIdHyd5nTAAAMorYJ7c4705.png 

 

wKioL1fQIdLCPTVnAAA9h-rwY_M460.png 

 

vim server2.pp

wKiom1fQIdPgt2lKAAAgVKHfZ3s532.png 

 

 

Client:

 

wKiom1fQIdziOXJLAAJFvgZqrLc786.png 

 

wKioL1fQIeHScOvzAACn5wGFF-U979.png 

做业:课后完成lnmp的搭建

相关文章
相关标签/搜索