puppet安装和配置
一、安装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安装和配置的更多相关文章
- Puppet安装与配置简介(附视频教程)
Puppet是一种Linux平台的集中配置管理系统,他可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统实体称之为资源,puppet采用C/S星状的结构,所有的客户端和一个 ...
- puppet安装配置及使用
puppet安装前准备 一.服务器信息 master端:10.10.10.201 master.fansik.com slave端:10.10.10.156 slave.fansik.com 三台机 ...
- Puppet自动化部署-安装及配置(3)
本文介绍Puppet Master及Agent相关的安装及配置. 一. 官网下载Puppet安装YUM源 [root@puppet-master ~]# rpm -ivh https://yum.pu ...
- Puppet安装及部署
本篇博客主要介绍Puppet的安装部署,后续会更新其他相关内容 一.简介 二.环境介绍 三.安装Puppet 四.配置Puppet-dashboard 五.配置Puppet Kick 一.简介 Pup ...
- 烂泥:puppet3.7安装与配置
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 有关服务器的自动化管理,这方面以前没有接触过.打算这段时间把这块知识给补上. 现在服务器自动化管理软件,使用最多也最火的就是puppet了. 那么我们今 ...
- puppet运维配置实列
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABQkAAAGBCAIAAABKMKAEAAAgAElEQVR4nOydeXwU9cH/t2o9WutR+7
- SaltStack安装及配置
1.简介SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack基于Python语言实现,结合 ...
- Puppet自动化管理配置
Puppet:开源系统配置和管理工具 随着虚拟化和云计算技术的兴起,计算机集群的自动化管理和配置成为了数据中心运维管理的热点.对于 IaaS.Paas.Saas 来说,随着业务需求的提升,后台计算机集 ...
- JDK安装与配置
JDK安装与配置 一.下载 JDK是ORACLE提供免费下载使用的,官网地址:https://www.oracle.com/index.html 一般选择Java SE版本即可,企业版的选择Java ...
随机推荐
- 【以前的空间】vijos 1720 阿狸的打字机
https://www.vijos.org/p/1720 作为一个一个蒟蒻,跪了三个星期,终于在蔡大神的帮助下a了.这题网上的题解很多,不过大都把题解写的太简单了(对因为大神的题解只有三个字:傻叉题) ...
- Android 内核--Binder架构分析
一.Binder架构 在Android中,Binder用于完成进程间通信(IPC),即把多个进程关联在一起.比如,普通应用程序可以调用音乐播放服务提供的播放.暂停.停止等功能.Binder工作在Lin ...
- BZOJ4196:[NOI2015]软件包管理器——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=4196 https://www.luogu.org/problemnew/show/P2146 你决定 ...
- BZOJ4872:[SHOI2017]分手是祝愿——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=4872 https://www.luogu.org/problemnew/show/P3750 Zei ...
- mmc驱动的读写过程解析
mmc io的读写从mmc_queue_thread()的获取queue里面的request开始. 先列出调用栈,看下大概的调用顺序, 下面的内容主要阐述这些函数如何工作. host->ops- ...
- HDOJ(HDU).1025 Constructing Roads In JGShining's Kingdom (DP)
HDOJ(HDU).1025 Constructing Roads In JGShining's Kingdom (DP) 点我挑战题目 题目分析 题目大意就是给出两两配对的poor city和ric ...
- 我的ACM参赛故事
从我接触程序竞赛到现在应该有十多年了,单说ACM竞赛,从第一次非正式参赛到现在也差不多有7年多的样子.有太多的故事,想说的话,却一直没能有机会写下来.一方面是自己忙,一方面也是自己懒.所以很感谢能有人 ...
- bzoj2120: 数颜色(BIT套主席树+set/分块)
带修改的 HH的项链. 带修改考虑用BIT套主席树,查区间里有几个不同的数用a[i]上次出现的位置pre[i]<l的数有几个来算就好了. 考虑怎么修改.修改i的时候,我们需要改变i同颜色的后继的 ...
- 【BZOJ 4455】 [Zjoi2016]小星星 容斥计数
dalao教导我们,看到计数想容斥……卡常策略:枚举顺序.除去无效状态.(树结构) #include <cstdio> #include <cstring> #include ...
- 在CentOS6.5 下安装并使用Java开发opencv的配置(一)
1) 安装gcc以及cmake等等乱七八糟的软件 yum install gcc yum install python yum install cmake yum groupinstall " ...