一、安装puppet准备

//安装准备 ,两台机器都要操作

. 两台机器
172.7.15.106 (server) 172.7.15.111 (client) . 关闭防火墙 setenforce iptables -F . 设置hostname server : hostname(web9.lulu.com) --> vi /etc/sysconfig/network 将hostname定义进去 client : hostname (web10.lulu.com) --> vi /etc/sysconfig/network 将hostname定义进去 . 编辑hosts文件
vi /etc/hosts
//ADD
172.7.15.106 web9.lulu.com
172.7.15.111 web10.lulu.com . 两台机器都安装ntpdate yum install -y ntp . 建立自动同步时间的任务计划 crontab -e
//ADD */ * * * * ntpdate time.windows.com >/dev/null >&

二 、安装puppet

//server (106) 操作
[root@web9 ~]# rpm -ivh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm
[root@web9 ~]# ls /etc/yum.repos.d/ //查看上一步是否安装成功
puppetlabs.repo
[root@web9 ~]# yum install -y puppet-server
[root@web9 ~]# service puppetmaster start
[root@web9 ~]# chkconfig puppetmaster on //client (111)操作
[root@web10 ~]# rpm -ivh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm
[root@web10 ~]# yum install -y puppet
[root@web10 ~]# vi /etc/puppet/puppet.conf
//末尾增加
listen = true
server = web9.lulu.com
runinterval = //主动更新,每隔30s [root@web10 ~]# service puppet start
[root@web10 ~]# chkconfig puppet on

三、 配置认证

//server 端查看客户端证书列表
[root@web9 ~]# puppet cert list --all //如果签发的证书,会在行首代一个+ //client 端生成ssl证书
[root@web10 ~]# puppet agent --test --server web9.lulu.com //server 端签发指定客户端证书
[root@web9 ~]# puppet cert --sign web10.lulu.com //server 端可以删除指定客户端证书
[root@web9 ~]# puppet cert clean web10.lulu.com //删除所有证书
[root@web9 ~]# puppet cert clean --all

此处遇到的错误:

Exiting; no certificate found and waitforcert is disabled

-->
[root@web10 ~]# /etc/init.d/puppet stop
[root@web10 ~]# rm -rf /var/lib/puppet/ssl/*
[root@web10 ~]# /etc/init.d/puppet start

四、 配置自动签发证书

//server
[root@web9 ~]# puppet cert clean web10.lulu.com //服务端删除客户端证书 //client
[root@web10 ~]# rm -rf /var/lib/puppet/ssl/* //删除客户端ssl相关文件 */ //server
[root@web9 ~]# vim /etc/puppet/autosign.conf //创建自动签发的配置文件
//ADD
*.lulu.com
[root@web9 ~]# /etc/init.d/puppetmaster restart //client
[root@web10 ~]# /etc/init.d/puppet restart //server
[root@web9 ~]# puppet cert list --all IF
客户端不重启puppet服务,也可以通过命令来自动签发
[root@web10 ~]# puppet agent --test --server web9.lulu.com

五、测试证书

//server
[root@web9 ~]# vi /etc/puppet/manifests/site.pp
/*配置了此文件,客户端才会同步数据*/
//ADD
node default {
file { "/tmp/123.txt"
content => "test,test";
}} //client
. 稍等一会儿 ---执行 {因为设置了每隔30s执行任务} .
[root@web10 ~]# puppet agent --test --server web9.lulu.com
[root@web10 ~]# ls /tmp/
.txt
[root@web10 ~]# cat /tmp/.txt
test,test

六、定义模块

//server

/*创建一个名为testm的模块*/
[root@web9 ~]# mkdir /etc/puppet/modules/testm /*在模块下创建子目录*/
[root@web9 ~]# cd /etc/puppet/modules/testm
[root@web9 testm]# mkdir {files,mainfests,templates}
[root@web9 testm]# ls
files mainfests templates /* files 存放目录 maindests 存放主配置文件 templates 存放模版文件 --> 模版文件会定义一些配置 */ [root@web9 testm]# cd files/
[root@web9 files]# vim lulu.txt //与下面的init.pp的source对应
//ADD
ksajdksdj
kjasdkjs
aksdjksd
[root@web9 files]# cd ..
[root@web9 testm]# cd mainfests
[root@web9 mainfests]# vim init.pp
//ADD
class testm{
file { "/tmp/2.txt" :
owner => "root",
group => "root".
mode => ,
source => "puppet://$puppetserver/modules/testm/lulu.txt"
}}
//server
[root@web9 ~]# vi /etc/puppet.manifests/site.pp
//ADD
$puppetserver='web9.lulu.com'
node 'web10.lulu.com'{
incluede testm
} //client
[root@web10 ~]# puppet agent --test --server web9.lulu.com

七、文件或目录资源

//刚刚的模块只是同步了一个文件,现在需要同步一个目录

/*例如,现在一台机器已经编译安装好了Apache,

现在通过一个模块同步Apache目录到其他机器上*/

[root@web9 testm]# cd manifests/
[root@web9 manifests]# vi init.pp
//ADD ,此文件可定义多个file,多个class
class apache {
file { "/usr/local/apache2":
owner => "root",
group => "root",
source => "puppet://$puppetserver/modules/apache/apache2",
recurse => true,
purge => true
}}
/* recurse 递归 -- 没有这个不能同步目录 purge 可保证当服务端删除某个文件,客户端跟着删除
*/ [root@web9 manifests]# vi /etc/puppet/manifests/site.pp
//ADD
...
...
include apache //将刚刚添加的apache这个类添加进去
... //client
[root@web10 ~]# ls /usr/local/apache2
/usr/local/apache2        //已存在,成功

八、远程执行命令

//server
[root@web9 puppet]# vi modules/testm/manifests/init.pp
//ADD
...
...
exec { "":
unless => "test -f /tmp/linux.txt",
path => ["/bin", "/sbin", "/usr/bin", "/usr/sbin"],
command => "touch /tmp/linux.txt"
} //client
[root@web10 ~]# ls -lt /tmp/
-rw-r--r--. root root 12月 : linux.txt

九、配置任务计划cron

[root@web9 puppet]# vim modules/testm/manifests/init.pp
//ADD
...
...
cron {"lulu1":
command => "/sbin/ntpdate time.windows.com",
user => "root",
minute => "*/10",
#ensure => "absent"
}
/* ensure 设置为 absent -- 删除该任务 不设置 改行则建立
*/ /* 关于时间,不设置则保持默认。 包括:
minute , hour , monthday , month ,weekday
*/

puppet安装和配置的更多相关文章

  1. Puppet安装与配置简介(附视频教程)

    Puppet是一种Linux平台的集中配置管理系统,他可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统实体称之为资源,puppet采用C/S星状的结构,所有的客户端和一个 ...

  2. puppet安装配置及使用

     puppet安装前准备 一.服务器信息 master端:10.10.10.201 master.fansik.com slave端:10.10.10.156 slave.fansik.com 三台机 ...

  3. Puppet自动化部署-安装及配置(3)

    本文介绍Puppet Master及Agent相关的安装及配置. 一. 官网下载Puppet安装YUM源 [root@puppet-master ~]# rpm -ivh https://yum.pu ...

  4. Puppet安装及部署

    本篇博客主要介绍Puppet的安装部署,后续会更新其他相关内容 一.简介 二.环境介绍 三.安装Puppet 四.配置Puppet-dashboard 五.配置Puppet Kick 一.简介 Pup ...

  5. 烂泥:puppet3.7安装与配置

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 有关服务器的自动化管理,这方面以前没有接触过.打算这段时间把这块知识给补上. 现在服务器自动化管理软件,使用最多也最火的就是puppet了. 那么我们今 ...

  6. puppet运维配置实列

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABQkAAAGBCAIAAABKMKAEAAAgAElEQVR4nOydeXwU9cH/t2o9WutR+7

  7. SaltStack安装及配置

    1.简介SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack基于Python语言实现,结合 ...

  8. Puppet自动化管理配置

    Puppet:开源系统配置和管理工具 随着虚拟化和云计算技术的兴起,计算机集群的自动化管理和配置成为了数据中心运维管理的热点.对于 IaaS.Paas.Saas 来说,随着业务需求的提升,后台计算机集 ...

  9. JDK安装与配置

    JDK安装与配置 一.下载 JDK是ORACLE提供免费下载使用的,官网地址:https://www.oracle.com/index.html 一般选择Java SE版本即可,企业版的选择Java ...

随机推荐

  1. 转:Lucene之计算相似度模型VSM(Vector Space Model) : tf-idf与交叉熵关系,cos余弦相似度

    原文:http://blog.csdn.net/zhangbinfly/article/details/7734118 最近想学习下Lucene ,以前运行的Demo就感觉很神奇,什么原理呢,尤其是查 ...

  2. Signal函数

    Signal函数: 这个函数是一种系统调用,就是告诉系统发生中断的时候用该干嘛.第一个参数就是信号的编号,第二个参数就是信号的指针. 原型: #include <signal.h> voi ...

  3. 【POJ3621】【洛谷2868】Sightseeing Cows(分数规划)

    [POJ3621][洛谷2868]Sightseeing Cows(分数规划) 题面 Vjudge 洛谷 大意: 在有向图图中选出一个环,使得这个环的点权\(/\)边权最大 题解 分数规划 二分答案之 ...

  4. Linux之SSL安全套接字20160704

    使用SSL前,先有 基本的TCP套接字连接.见demo代码 SSL_library_init();//在使用OpenSSL 之前,必须进行相应的协议初始化工作 OpenSSL_add_all_algo ...

  5. 如何修改即时聊天websocket的端口号

    需要修改2个地方 1.修改\src\main\java\com\woodstudio\framework\modules\chat\StartFilter.java里面的端口号   2.修改\src\ ...

  6. Vue.js中的常用的指令缩写

    Vue.js为两个最为常用的指令提供了特别的缩写: v-bind缩写 <!--完整语法--> <a v-bind:href="url">测试</a&g ...

  7. Java反转字符串的方式?

    1. 将String转换成字符数组,再利用字符数组进行首尾调换. 2. 利用递归的方式,主要是:reverse(str.substring(1)) + str.charAt(0); 3. 虽然Stri ...

  8. OpenCV学习笔记(01)我的第一个OpenCV程序(环境配置)

    昨天刚刚考完编译原理,私心想着可以做一些与考试无关的东西了.一直想做和图像处理相关的东西,趁这段时间有空学习一下OpenCV,搭建环境真是一件麻烦的事情,搞了近三个小时终于OK了.先来张图: 大致描述 ...

  9. HDU 3277 最大流+二分

    Marriage Match III Time Limit: 10000/4000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  10. python读书笔记-《简明python教程》上

    1月15日 <简明python教程>上 基本结构: 基础概念+控制流+函数+模块+数据结构+面向对象+I/O+异常+标准库+其他   1.概念 1-0    退出python linux: ...