puppet常用调试命令
yum快速部署puppet测试环境(C/S端)
rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
yum ruby ruby-libs ruby-shadow puppet puppet-server factor(C/S);
要是单独C客户端则 yum -y install puppet factor即可;
简单配置下C/S修改下C客户端端的/etc/puppet/puppet.conf文件
在[main]标签最末尾添加如下3行语句即可;
server = puppetMasterip
runinterval = 3600 (puppet C客户端检索S服务端配置文件更新周期) puppet agent -t是实时更新
listen = true
/etc/init.d/puppetmaster start
/etc/init.d/puppet start
chkconfig puppetmaster on
chkconfig puppet on
在puppet服务端为你的puppet客户端签发下证书
服务器端为客户端节点签发证书语句
puppet cert --sign puppetNodeFQDN
(默认在客户端端修改配置/etc/puppet/puppet.conf启动puppet 客户端进程,客户端就会提出向服务器端申请请求证书,直接服务器端--sign签发)
但是这个是由实际限制的,超过时间限制证书申请则过期那么你就可以用如下这条语句向puppet服务器端重新申请证书并等待服务器端的签发;
一、 关于证书在master的认识
我们知道puppet为了安全,采用ssl隧道通信,因此需要申请证书来验证的,当puppet master第一次启动的时候,可以查看/var/log/message有类似如下的信息:
Jul 25 03:14:01 localhost puppet-master[25011]: Signed certificate request for ca
Jul 25 03:14:01 localhost puppet-master[25011]: Rebuilding inventory file
Jul 25 03:14:01 localhost puppet-master[25011]: puppet.zhang.com has a waiting certificate request
Jul 25 03:14:01 localhost puppet-master[25011]: Signed certificate request for puppet.zhang.com
Jul 25 03:14:01 localhost puppet-master[25011]: Removing file Puppet::SSL::CertificateRequest puppet.zhang.com at '/etc/puppet/ssl/ca/requests/puppet.zhang.com.pem'
Jul 25 03:14:01 localhost puppet-master[25011]: Removing file Puppet::SSL::CertificateRequest puppet.zhang.com at '/etc/puppet/ssl/certificate_requests/puppet.zhang.com.pem'
从日志中我们可以看出第一次启动的时候,puppet master创建本地认证中心,给自己签发证书和key,你可以在/etc/puppet/ssl看到那些证书和key。这个目录和/etc/puppet/puppet.conf文件中配置的ssldir路径有关系。
ll /etc/puppet/ssl/ ssl目录的内容如下:
drwxrwx--- 5 puppet puppet 4096 Jul 25 03:01 ca
drwxr-xr-x 2 puppet root 4096 Jul 25 03:01 certificate_requests
drwxr-xr-x 2 puppet root 4096 Jul 25 03:01 certs
-rw-r--r-- 1 puppet puppet 398 Jul 25 03:01 crl.pem
drwxr-x--- 2 puppet root 4096 Jul 25 03:01 private
drwxr-x--- 2 puppet root 4096 Jul 25 03:01 private_keys
drwxr-xr-x 2 puppet root 4096 Jul 25 03:01 public_keys
二、 关于证书在agent的认识
puppet agent在第一次连接master的时候会向master申请证书,如果没有master没有签发证书,那么puppet agent和master的连接是否建立成功的,agent会持续等待master签发证书,并会每隔2分钟去检查master是否签发证书。
通过puppet agent --server= puppet.zhang.com --no-daemonize –verbose启动的时候能很清楚的查看到agent申请证书的过程
puppet agent --server=puppet.zhang.com --no-daemonize --verbose
info: Creating a new SSL key for node1.zhang.com
info: Caching certificate for ca
#申请证书
info: Creating a new SSL certificate request for node1.zhang.com
info: Certificate Request fingerprint (md5): 54:11:FB:75:87:94:AF:6B:D1:6B:AD:6B:44:3E:74:A0
#等待证书签发
warning: peer certificate won't be verified in this SSL session
#2分钟检查一次,如果没有签发就显示如下信息
notice: Did not receive certificate
#证书签发成功后,顺利建立连接
info: Caching certificate for node1.zhang.com
notice: Starting Puppet client version 2.6.16
info: Caching certificate_revocation_list for ca
info: Caching catalog for node1.zhang.com
info: Applying configuration version '1344943902'
notice: Finished catalog run in 0.11 seconds
类似于上面的就是去申请证书了。当master签发证书以后就可以顺利建立连接了。
三、 Master端证书的管理
- 在master上查看申请证书请求
puppet cert --list
- 签发证书
puppet cert --sign node1.zhang.com
如果一次性签发所有的证书,采用如下命令:
puppet cert --sign –all
也可以设置自动签发证书。
- 让证书过期
puppet cert -revoke puppet-test
删除证书
puppet cert --clean puppet-test
证书签名的过期或删除需要重启puppetmaster服务。
- 可以通过/etc/puppet/auth.conf文件配置签名的ACL列表。
四、 Agent端证书的管理
- 删除已有的证书
清空 /etc/puppet/ssl(这个目录和你的/etc/puppet/puppet.conf文件中配置的ssldir路径有关系)下的文件和目录
- 重启申请证书
puppet agent --server PuppetSFQDN --test
在客户端与服务端签名不能正常进行的时候,请删除后重新签名
测试语句如下;
puppet agent -t 客户端实时检索服务器端配置文件;
在puppet服务器端查看所有puppet客户端证书列表语句
puppet cert --list --all;
总结:配置puppet 测试环境
要是C/S在一台PC上证书签发语句可不用执行即puppet cert --sign puppetNodeFQDN
直接执行
1,yum -y install puppet puppet-server factor2,配置修改/etc/puppet/puppet.conf在[main]标签添加如下语句
server = puppetServerNodeFQDN
runinterval = puppet客户端检索puppet服务器端更新配置文件时间间隔
listen =true (不解释);
要是puppetC/S测试环境不再一起只需多执行一条puppet cert --sign PuppetNodeFQDN即可搞定;
上面的供测试环境搞搞,别的东东还是有待要加强的;
部署production-Env要是不想麻烦自个配置证书神马的,你可以选择pe-puppet,功能也比较全,而且GUI管理接口做的也是不错的;
下面我们自个基于yum配置搞定puppetl GUI管理界面
puppet GUI dashboard
但你运行rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm 即添加了puppetlabs 的yum源安装;
1,yum search puppet-dashboard
配置rails应用程序
2,安装配置mysql-server
yum -y install mysql-server
chkconfig mysqld on
/etc/init.d/mysqld start
为puppet-dashboard配置数据村才能账号权限
mysql> CREATE DATABASE dashboard CHARACTER SET utf8;
mysql> CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON dashboard.* TO 'dashboard'@'localhost';
mysql>flush privileges;
3,修改Dashboard有关数据库的信息配置文件
/usr/share/puppet-dashboard/config/database.yml
修改如下语句
production:
adapter: mysql
database: dashboard
username: dashboard
password: 321
encoding: utf8
此配置文件需要ymal语法验证,请保证缩进正确
4,
用表格和基础数据来填充我们的新数据库
用Rake任务来完成这个工作。在/usr/share/puppet-dashboard目录下,运行以下命令:
$ rake RAILS_ENV=production db:migrate
现在Dashboard全部配置完成,我们可以运行该Rails应用程序了。运行Rails应用程序有很多方法。一种方法是使用内部Webrick服务器(这对于生产不是很好,因为它并不能很好的扩展)。
在/usr/share/puppet-dashboard目录下,运行:
$ sudo ./script/server -e production &
这个命令会在端口3000上运行Dashboard,你可以通过一个网页浏览器进行访问:
你还可以配置带有Passenger的Apache或者Nginx来运行Dashboard,这种做法是一种更稳定、扩展性更好的生产选择。在这里你可以找到一个Apache Passenger配置文件示例
puppet reports数据目前还没导入到puppet dashboard;
现在Dashboard正在运行,而我们需要确保它能够获取Puppet报告。完成这项工作有几种方法,开始的时候都是用Rake任务导入旧报告。在/usr/share/puppet-dashboard目录下,运行:
rake RAILS_ENV=production report:import
puppet常用调试命令的更多相关文章
- gdb常用调试命令
一般来说,GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. 2.可让被调试的程序在你所指定的调置的断点处停住.(断点可以是条件表达式) ...
- iOS之LLDB常用调试命令
LLDB是个开源的内置于XCode的调试工具,这里来理一理常用用法.lldb对于命令的简称,是头部匹配方式,只要不混淆,你可以随意简称某个命令.结果为在xcode下验证所得,可能与其它平台有所误差. ...
- GDB常用调试命令以及多进程多线程调试
http://blog.csdn.net/freeelinux/article/details/53700266 一:普通命令 1.list命令 list linenum 显示程序第l ...
- GDB常用调试命令(一)
GDB是UNIX及UNIX-like下的调试工具,通常gdb使用前置条件:编译时加入debug信息,这里指的是C++. gcc/g++调试选项 gcc/g++是在编译时加入-g,-g分4个等级: ...
- gdb常用调试命令以及多线程堆栈的查看
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC ...
- GDB常用调试命令(二)
GDB信号处理 在GDB中使用handle命令定义一个信号处理.信号可以以SIG开头或不以 SIG开头,可以用定义一个要处理信号的范围(如:SIGIO-SIGKILL,表示处理从SIGIO信号到SIG ...
- gdb 常用调试命令
1. file quit 2. frame bt 3. finish 运行程序,直到当前函数完成返回,并打印函数返回时的堆栈地址和返回值及参数信息. until 当要退出在一个循环体 ...
- squid常用调试命令
解压,编译,make ,make install 就不说了.从 make install 后开始.当你的 squid.conf 配置文档按照你的想法修改完以后,启动 squid 之旅就开始了.1,初始 ...
- npm和yarn常用调试命令
yarn查看全局安装路径 yarn global dir npm查看所有全局安装的包<全局路径也会显示> npm list --depth=0 -global
随机推荐
- POJ 2891 扩展欧几里德
这个题乍一看跟剩余定理似的,但是它不满足两两互素的条件,所以不能用剩余定理,也是给了一组同余方程,找出一个X满足这些方程,如果找不到的话就输出-1 因为它不满足互素的条件,所以两个两个的合并,最后合成 ...
- 简单Word操作
//创建空白Word文档 private void button1_Click(object sender, EventArgs e) { object missing = Missing.Value ...
- TSQL Challenge 1
在老外网站发布的一些SQL问题,拿过来自己搞一下,后面我也会陆续转载一些问题,欢迎看到的朋友贴出自己的答案,交流一哈.对于技术问答题的描述,翻译远不不原版来的更好一些,下面我就贴出原版的题目,欢迎参与 ...
- 安装PHP过程中,make步骤报错:(集合网络上各种解决方法)
安装PHP过程中,make步骤报错:(集合网络上各种解决方法) (1)-liconv -o sapi/fpm/php-fpm /usr/bin/ld: cannot find -liconv coll ...
- _Obj* __STL_VOLATILE* __my_free_list
今天在读<STL源码剖析>空间配置器第二级时看到了这句,有点不解,于是查阅后知: obj后面是个指针 STL_VOLATILE也应该是个类型定义的吧,程序中应该有define来对它定义.所 ...
- cocos2d-x 音乐播放猜想
"SimpleAudioEngine.cpp": void SimpleAudioEngine::playBackgroundMusic(const char* pszFilePa ...
- AngularJs的Select演示
昨天需要在项目使用Angular.js的select,测试了好久才研究出怎么进行赋值,操作. HTML代码 <!DOCTYPE html> <html> <head> ...
- sublime常用插件及配置,自留自用
1.Angularjs 写angularjs经常操作template文件,没有一个ng-xx的提示真的很蛋疼是不是,有些服务的名字记不住是不是,那就用这个插件吧 2.AutoFileName 如果你的 ...
- css伪元素
CSS 伪元素用于向某些选择器设置特殊效果. 1.:first-line 伪元素 "first-line" 伪元素用于向文本的首行设置特殊样式.注意:"first-li ...
- Web工程师的工具箱
RequestBin:允许你创建一个URL,利用这款工具进行收集请求,然后通过个性化方式进行检查. Hurl:发出HTTP请求,输入URL,设置标题,查看响应,最后分享给其他人.类似的工具有:REST ...