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 ...
随机推荐
- 转:Lucene之计算相似度模型VSM(Vector Space Model) : tf-idf与交叉熵关系,cos余弦相似度
原文:http://blog.csdn.net/zhangbinfly/article/details/7734118 最近想学习下Lucene ,以前运行的Demo就感觉很神奇,什么原理呢,尤其是查 ...
- Signal函数
Signal函数: 这个函数是一种系统调用,就是告诉系统发生中断的时候用该干嘛.第一个参数就是信号的编号,第二个参数就是信号的指针. 原型: #include <signal.h> voi ...
- 【POJ3621】【洛谷2868】Sightseeing Cows(分数规划)
[POJ3621][洛谷2868]Sightseeing Cows(分数规划) 题面 Vjudge 洛谷 大意: 在有向图图中选出一个环,使得这个环的点权\(/\)边权最大 题解 分数规划 二分答案之 ...
- Linux之SSL安全套接字20160704
使用SSL前,先有 基本的TCP套接字连接.见demo代码 SSL_library_init();//在使用OpenSSL 之前,必须进行相应的协议初始化工作 OpenSSL_add_all_algo ...
- 如何修改即时聊天websocket的端口号
需要修改2个地方 1.修改\src\main\java\com\woodstudio\framework\modules\chat\StartFilter.java里面的端口号 2.修改\src\ ...
- Vue.js中的常用的指令缩写
Vue.js为两个最为常用的指令提供了特别的缩写: v-bind缩写 <!--完整语法--> <a v-bind:href="url">测试</a&g ...
- Java反转字符串的方式?
1. 将String转换成字符数组,再利用字符数组进行首尾调换. 2. 利用递归的方式,主要是:reverse(str.substring(1)) + str.charAt(0); 3. 虽然Stri ...
- OpenCV学习笔记(01)我的第一个OpenCV程序(环境配置)
昨天刚刚考完编译原理,私心想着可以做一些与考试无关的东西了.一直想做和图像处理相关的东西,趁这段时间有空学习一下OpenCV,搭建环境真是一件麻烦的事情,搞了近三个小时终于OK了.先来张图: 大致描述 ...
- HDU 3277 最大流+二分
Marriage Match III Time Limit: 10000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- python读书笔记-《简明python教程》上
1月15日 <简明python教程>上 基本结构: 基础概念+控制流+函数+模块+数据结构+面向对象+I/O+异常+标准库+其他 1.概念 1-0 退出python linux: ...