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 ...
随机推荐
- CF724E Goods transportation 最小割 DP
照惯例CF的题不放原题链接... 题意:一个序列上有n个点,每个点有权值pi和si.表示这个点一开始有pi个物品,最多可以卖出si个物品,每个点都可以把物品向编号更大的点运输,但是对于i < j ...
- BZOJ1053:[HAOI2007]反素数——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=1053 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满 ...
- HDU4825:Xor Sum——题解
http://acm.hdu.edu.cn/showproblem.php?pid=4825 Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含 ...
- caffe数据集——LMDB
LMDB介紹 Caffe使用LMDB來存放訓練/測試用的數據集,以及使用網絡提取出的feature(為了方便,以下還是統稱數據集).數據集的結構很簡單,就是大量的矩陣/向量數據平鋪開來.數據之間沒有什 ...
- SSO解决session共享的几种方案
之前做项目遇到了这个sso系统,当时只是理解了一部分,今天偶尔发现一篇文章,觉得写的不错,增加了sso知识: 单点登录在现在的系统架构中广泛存在,他将多个子系统的认证体系打通,实现了一个入口多处使用, ...
- Makefile中的 =,:=,?=,+= 的差异
在Makefile中常常遇见这几种等操作,总结一下具体区别. = 是最基本的赋值 := 是用右值覆盖左值 ?= 判断,如果左值没有被赋值过就赋以右值,否则,不做赋值动作 += 在左值后面连接右值 ...
- js script type 部分属性值分析
1. text/javascript: (1)<script type="text/javascript" src="Js/jquery-1.10.2.min.js ...
- SSH 指定密钥,连接远程服务器。
ssh -i /root/.ssh/private.pem user@192.168.1.100 -p 7744 如上, /root/.ssh/private.pem :密钥文件路径user@192. ...
- springboot-部署到centos7
环境 系统:centos7 64位 安装jdk 第一步:下载 先进入官网:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-do ...
- 获得WebApi用Post方法获得新增数据的信息
首先,要知道webApi的基本返回方式是HttpResponseMessage,post会在响应中返回添加的对象,以及添加对象的访问地址 如:在fiddler里测试的时候 然后,我们可以根据这一点在后 ...