Puppet--测试环境搭建

简介:

Puppet测试环境搭建

一.           Puppet介绍

Puppet是开源的自动化配置和部署工具,与cfengine相比,Puppet的语法更简单;对管理员屏蔽了底层的具体操作步骤,可以支持多种系统Linuxfreebsd等等,并且Puppet的代码是可以分享和重用的,避免了重复劳动同时弥补了脚本无法重用的缺陷。

 

二.             Puppet工作原理

工作原理如下:

1.       客户端puppetd调用facterfacter探测出主机的变量信息并且将这些信息通过ssl连接发送到服务器端

2.       服务器端puppetmaster检测客户端的主机名,然后找到manifest中对应的node配置,进行解析生成伪代码,并将伪代码发送给客户端

3.       客户端接受到伪代码并执行,将执行结果返回给服务器

4.       服务器把客户端的执行结果写入日志

Puppet使用的端口:814044361613 防火墙需要开放这几个端口

三.             测试环境搭建

测试环境列表:

Client1.centos 192.168.2.101
Client2.centos  192.168.2.102
Client3.freebsd  192.168.2.99
Master.puppet  192.168.2.98

   Puppet需要和DNS结合,这里测试是写hosts文件

服务器端安装puppet-server,可以使用yum安装或者源码包编译安装


  
  
  1. [root@localhost ~]# yum install  puppet-server 

    启动puppetmaster服务:


  
  
  1. [root@localhost puppet]# /usr/sbin/puppetmasterd start 
  2.  
  3. [root@localhost puppet]# netstat -antup 
  4.  
  5. Active Internet connections (servers and established) 
  6.  
  7. Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
  8.  
  9. tcp        0      0 0.0.0.0:57771               0.0.0.0:*                   LISTEN      1699/rpc.statd      
  10.  
  11. tcp        0      0 0.0.0.0:8140                0.0.0.0:*                   LISTEN      15415/ruby 

    重启puppetmaster服务和将puppetmaster设置为自动启动


  
  
  1. [root@localhost puppet]# service  puppetmaster restart 
  2.  
  3. [root@master ~]# chkconfig  --level 345  puppetmaster on 

Centos客户端安装,使用EPEL源,直接yum安装puppet客户端


  
  
  1. [root@client1~]#rpm -ivh  http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm 
  2.  
  3. [root@localhost ~]# yum install  puppet 

    FreeBSD客户端的安装


  
  
  1. [root@nagios ~]# whereis puppet 
  2.  
  3. puppet: /usr/ports/sysutils/puppet 
  4.  
  5. [root@nagios ~]# cd /usr/ports/sysutils/puppet 
  6.  
  7. [root@nagios /usr/ports/sysutils/puppet]# make install clean 
  8.  
  9.   
  10.  
  11. [root@nagios ~]# vim /etc/rc.conf 
  12.  
  13. puppet_enable="YES" 
  14.  
  15. [root@nagios ~]# cd /usr/local/etc/puppet/ 
  16.  
  17. [root@nagios /usr/local/etc/puppet]# cp auth.conf-dist auth.conf      
  18.  
  19. [root@nagios /usr/local/etc/puppet]# cp puppet.conf-dist  puppet.conf 
  20.  
  21. [root@nagios ~]# vi puppet.conf 
  22.  
  23. [root@nagios ~]#  /usr/local/etc/rc.d/puppet  start 

    客户端的设置


  
  
  1. [root@client1 ~]# vim /etc/sysconfig/puppet 
  2.  
  3. # The puppetmaster server 
  4.  
  5. PUPPET_SERVER=Master.puppet 
  6.  
  7. # If you wish to specify the port to connect to do so here 
  8.  
  9. PUPPET_PORT=8140 
  10.  
  11. # Where to log to. Specify syslog to send log messages to the system log. 
  12.  
  13. PUPPET_LOG=/var/log/puppet/puppet.log 
  14.  
  15. # You may specify other parameters to the puppet client here 
  16.  
  17. PUPPET_EXTRA_OPTS=--waitforcert=500 

   重启客户端服务并加入自动启动


  
  
  1. [root@master ~]# service puppet start 
  2.  
  3. [root@client1 ~]#  chkconfig --level 345  puppet on 

   查看需要认证的客户端


  
  
  1. [root@master ~]# puppetca --list 
  2.  
  3.   client1.centos  (CD:3E:E5:F0:6A:0B:8B:52:B2:54:C7:AB:09:E7:E3:A1) 
  4.  
  5.   client2.centos  (F3:DF:25:77:7F:DF:37:5B:2B:18:EE:DC:7A:A6:F5:CA) 
  6.  
  7.   client3.freebsd (C4:93:76:65:49:34:18:FC:C7:68:9B:FD:02:D3:5F:CF) 

  认证所有的客户端


  
  
  1. [root@master ~]# puppetca  -s -a 

  认证某一台客户端


  
  
  1. [root@master ~]# puppetca --sign client1.centos 
  2.  
  3. notice: Signed certificate request for client1.centos 
  4.  
  5. notice: Removing file Puppet::SSL::CertificateRequest client1.centos at '/var/lib/puppet/ssl/ca/requests/client1.centos.pem' 

客户端连接测试


  
  
  1. [root@client1 ~]# puppetd --test --server master.puppet 
  2.  
  3. info: Caching catalog for client1.centos 
  4.  
  5. info: Applying configuration version '1329891537' 
  6.  
  7. notice: Finished catalog run in 0.01 seconds 

解决RDoc::usage问题


  
  
  1. [root@master ~]# puppetca --help 
  2.  
  3. No help available unless you have RDoc::usage installed 
  4.  
  5. [root@master ~]# yum install ruby-rdoc 
  6.  
  7. 安装ruby-rdoc后恢复 









本文转自 waydee 51CTO博客,原文链接:http://blog.51cto.com/waydee/847112,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
架构师 测试技术 网络性能优化
dpdk课程学习之练习笔记七(vpp环境搭建及plugin demo测试)
dpdk课程学习之练习笔记七(vpp环境搭建及plugin demo测试)
549 0
|
7月前
|
Ubuntu 测试技术 Linux
dpdk测试环境搭建(vmware下ubuntu环境参考上文汇总流程)
dpdk测试环境搭建(vmware下ubuntu环境参考上文汇总流程)
365 0
|
7月前
|
应用服务中间件 测试技术 nginx
dpdk环境搭建及运行helloworld测试
dpdk环境搭建及运行helloworld测试
349 0
|
存储 Oracle 关系型数据库
HBase集群环境搭建与测试(上)
HBase集群环境搭建与测试
265 0
|
7月前
|
JavaScript Java 测试技术
『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium
『App自动化测试之Appium基础篇』| 从定义、原理、环境搭建、安装问题排查等深入了解Appium
3076 0
|
7月前
|
分布式计算 Hadoop 测试技术
Hadoop【环境搭建 05】【hadoop-3.1.3 单机版基准测试 TestDFSIO + mrbench + nnbench + Terasort + sort 举例】
【4月更文挑战第1天】Hadoop【环境搭建 05】【hadoop-3.1.3 单机版基准测试 TestDFSIO + mrbench + nnbench + Terasort + sort 举例】
197 3
|
3月前
|
机器学习/深度学习 人工智能 文字识别
AI计算机视觉笔记二十:PaddleOCR环境搭建及测试
OCR技术广泛应用于日常生活中,与人脸识别一样常见。PaddleOCR是一个基于飞桨的OCR工具库,具有超轻量级中文OCR模型,支持中英文数字组合、竖排及长文本识别。本文档详细介绍了PaddleOCR的学习过程,包括环境搭建、安装、样本标注及测试步骤。使用AutoDL云平台进行环境创建,并提供了详细的命令行操作指南,帮助用户顺利完成PaddleOCR的部署与测试。
|
3月前
|
人工智能 PyTorch 算法框架/工具
AI计算机视觉笔记十四:YOLOV5环境搭建及测试全过程
本文详细记录了在Windows 10环境下从零开始搭建yolov5环境并进行测试的全过程,涵盖环境配置、依赖安装及模型测试等关键步骤。文章首先介绍了所需环境(Python 3.8、yolov5-5.0),接着详细说明了如何使用Miniconda3创建与激活虚拟环境,并通过具体命令演示了如何下载安装yolov5及相关依赖库。最后,通过一系列命令展示了如何下载预训练模型并对示例图像进行目标检测,同时解决了一些常见错误。适合初学者跟随实践。如需转载,请注明原文出处。
|
4月前
|
Web App开发 测试技术 API
Web自动化测试框架(基础篇)--Selenium WebDriver工作原理和环境搭建
本文详细介绍了Selenium WebDriver的工作原理,包括其架构、通信机制及支持的浏览器,并指导读者如何在Python环境下搭建Selenium WebDriver的测试环境,从安装Python和Selenium库到编写并运行第一个自动化测试脚本。
263 0
|
7月前
|
IDE Java 测试技术
【如何学习Python自动化测试】—— 自动化测试环境搭建
【如何学习Python自动化测试】—— 自动化测试环境搭建

热门文章

最新文章

推荐镜像

更多