`
扬州老鬼
  • 浏览: 306332 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

puppet配置使用

阅读更多
openqrm将puppet作为plugin集成进去。但是远达不到puppet原系统的提供的功能。
下面是我在openqrm中去安装、配置、使用puppet。
1、 首先要弄懂puppet是什么,个人觉得这个实在太重要了,不然很难理解puppet的使用。
Puppet是数据中心中,自动配置工具。客户端通过向服务器请求,将需要配置的服务,
或者操作命令从服务器端pull到本地,然后再应用运行。从而达到对众多节点的管理
   puppet有两种结构:serverless模式、C/S模式。建议从serverless出发理解其结构特征。
   这里从C/S模式来描述puppet结构。
   具体结构参考:
http://docs.puppetlabs.com/learning/agent_master_basic.html

在以上的结构中,Puppet使用ssl认证来保护master与agent之间的通信,所以没用通过认证,agent就不能完全运行,agent必须通过认证。
当agent发起一个请求之后,master就会去agent进行认证,认证通过之后,master会编译其上写好的manifest代码,并在agent上创建一个catalog信息。Agent会将catalog中保存的configuration应用到其自身之上,即安装软件、或者配置某个服务等等。
这里有几个术语说明一下:
Manifest:是一个使用puppet语言写成的代码(这个语言是puppet自带的,应该是为了统一接口,或者为了实现其RAL而创立的),以.pp为后缀,这些代码总的来说,就描述了agent需要完成的操作。C/S模式下,manifest是放在master端的,serverless模式,manifest位于agent端。在C/S模式下,master负责对manifest进行编译。
Catalog:就是所有将要被应用到agent端的资源集(资源可以是文件、用户、服务、甚至是一段shell命令)
关于其他属性请参考:
http://docs.puppetlabs.com/learning/agent_master_basic.html


2、 大致了解了puppet的结构,现在就将如何在openqrm中使用他。
首先要安装,客户端、和服务器端(这里最好让服务器端是与openqrm端处于同一端)
我的环境是客户端为centos 5.4,服务器端为 rhel6,这里采用yum安装方法:
rpm -ivh http://yum.puppetlabs.com/el/6/products/i386/puppetlabs-release-6-1.noarch.rpm


   客户端: 
yum install puppet  –y

   服务端:
 Yum install puppet-server –y 

   其中会发现会有有些依赖包没有安装,可能需要手动下载安装。
 
   或者直接下载rpm进行安装:
   下载地址:http://yum.puppetlabs.com/el/5/products/i386/
   注意:要在openqrm中使用puppet必须要在服务器端(master)安装 puppet服务器,(puppet客户端(agent)可选)
3、 配置puppet。
*首先是前期环境:dns。Puppet 的agent和master是通过主机名进行识别对方的。所以要配置dns。
或者如果只是测试,可以修改agent与master端/etc/hosts文件,是双方都能识别对方。
*注意agent与master双方的时钟要一致,可以自己搭建ntp服务器,或者直接同步国家标准时间服务器:
ntpdate 210.72.145.44


*agent端配置:
/etc/pupper/puppet.conf
[agent]模块:
server  = 服务器端主机名(hostname)
certname =  agent主机名
report = true
pluginsysc  = false(如果你有自己定义的plugin,需要将其设定为true,如果没有就设为false,一样OK)

这部分概念参考:
[url]http://docs.puppetlabs.com/guides/plugins_in_modules.html
http://docs.puppetlabs.com/puppet/2.7/reference/modules_fundamentals.html
[/url]

*服务器(master端)配置。
我的试验环境中,采用了默认配置,什么都没改。
4、 使用puppet:
在客户端:
Puppet agent –test

若出现,如下信息
warning: peer certificate won't be verified in this SSL session
warning: peer certificate won't be verified in this SSL session
info: Creating a new SSL certificate request for yyp102
info: Certificate Request fingerprint (md5): 8C:78:19:09:BB:7E:44:9C:44:D6:93:29:EA:7D:CF:9A
warning: peer certificate won't be verified in this SSL session
warning: peer certificate won't be verified in this SSL session
warning: peer certificate won't be verified in this SSL session
Exiting; no certificate found and waitforcert is disabled
说明agent端没有获得master端的认证,
这是在master端执行:
puppet cert list

warning: You have configuration parameter $templatedir specified in [puppetmasterd], which is a deprecated section. I'm assuming you meant [master]
  yyp102 (8C:78:19:09:BB:7E:44:9C:44:D6:93:29:EA:7D:CF:9A)
可以看到有个yyp102还没有需要认证,执行:
puppet cert sign yyp102。


说明:
有的时候,有需要agent重新申请认证:
在master端
puppet cert clean yyp102
在agent端:
rm -f /var/lib/puppet/ssl/certs/yyp102.pem
puppetd --test --trace --debug
没有看到异常错误就代表,此时配置是OK的

5、 结合openqrm使用:
在正确配置了puppet之后,启动openqrm中puppet插件,并在openqrm的deployment/puppet/apply选择,已有的资源(这个资源是openqrm的资源,不是puppet中的资源),然后选择某个资源之后,会看到puppet默认配置group,
选中其中的组件,并update。
这时
cd /etc/puppet/manifests (这个目录,不知道记没记错,如果不在这个目录,就到
openqrm所在的目录。默认为/usr/share/openqrm/plugin/puppet/etc/puppt/manifests/目录)
[root@yyp manifests]# ls
appliances  classes  groups  site.pp
   会在appliances  目录下生成一个以刚刚openqrm资源命名的.pp文件。这里以之前的yyp102为例。
注意,这里的命名中多了一个oqnet.org,这个是puppet默认的域名,为了能做到自动化,请将puppet的域名改掉(具体怎么改,我也没试过)


[root@yyp manifests]# cat appliances/yyp102.oqnet.org.pp
node 'yyp102.oqnet.org' {
     include webserver
}
之所以要提一下这个“多了一个oqnet.org”,原因是,如果我的客户端yyp102没有域名,
这里需要将“oqnet.org”去掉,不然时延的时候就报错。
注:既然是学习openqrm集成puppet的使用,这里要看看webserver的内容。

6、 以上配置,
在agent端运行:
[root@yyp102 puppet]#  puppetd --test --trace --debug
这时就能看到运行结果。

还可以在master端运行一个命令,也同样可以将配置应用到agent端。
puppet kick -d --host yyp102

具体请参考:
http://blog.sina.com.cn/s/blog_4e424e210100plcw.html

7、 要写自己manifest,必须要学习puppet语言。

以上为原创,转载请注明出处。
0
0
分享到:
评论

相关推荐

    精通Puppet配置管理工具

    puppet,精通Puppet配置管理工具,学习puppet必备

    [精通Puppet配置管理工具].高永超.扫描版.pdf

    精通Puppet配置管理工具.高永超.扫描版.pdf

    puppet-2.7.9

    7. **Facter**:Puppet自带的Facter工具用于收集系统信息,这些信息可供Puppet配置使用,如操作系统类型、内存大小等。 8. **Puppet Catalog**:Catalog是Puppet Master根据客户端的信息编译出的一系列资源定义,它...

    精通puppet配置管理

    精通puppet 配置管理工具,扫描版。

    puppet environment配置示例

    Puppet是自动化管理工具,常用于IT基础设施的配置和管理。在Puppet中,"环境"的概念是核心特性之一,它允许我们为不同的目的(如开发、测试和生产)设置独立的配置。本示例将详细介绍如何配置和管理Puppet环境,以及...

    puppet安装配置手册

    **Puppet 安装配置手册** Puppet 是一个强大的自动化管理工具,用于配置、管理和监控IT基础设施。它允许系统管理员通过定义资源的状态来自动化IT环境的配置,确保系统的合规性和一致性。以下是对 Puppet 安装配置...

    puppet安装与配置

    puppet安装与配置 puppet是一款开源自动化部署工具,下面介绍puppet安装和配置

    Puppet集中管理配置LinuxUnix系统

    `site.pp`文件用于定义全局配置规则,是Puppet配置的核心。 综上所述,Puppet提供了一套强大而灵活的解决方案,用于集中化管理Linux/Unix系统。通过自动化配置、资源管理以及依赖关系处理,Puppet显著提升了大规模...

    puppet2.6配置手册

    Syslog案例演示如何使用Puppet配置日志收集,实现系统日志的集中管理。 ##### 8.3 HAProxy HAProxy案例介绍如何利用Puppet配置负载均衡器,提高Web服务的可用性和性能。 ##### 8.4 Apache Traffic Server 探讨...

    RHEL6下Puppet安装配置文档

    it 企业也在使用puppet,开源社区的fedora 也使用puppet 。国内的大公司也在准备从cfengine 转移到puppet 上面。 puppet是一个为实现数据中心自动化管理而设计的配置管理软件。基于c/s架构。puppet 的服务器端...

    puppet使用指南

    通过使用Puppet,可以简化日常管理任务,如软件安装、配置更新和监控。Puppet使用自己的编程语言Puppet DSL(Domain Specific Language),它是一种简洁且易于理解的语言,用于编写管理脚本。 二、Puppet架构 ...

    puppet使用工具

    Puppet的学习和使用可以显著提升配置管理的效率和可靠性,使运维工程师能够专注于更高价值的任务。通过对Puppet原理和工具的掌握,IT专业人员可以提高自身竞争力,更好地适应互联网行业对DevOps工程师不断增长的需求...

    一招教你使用puppet

    完成上述配置后,需要在客户端进行测试验证,确保Puppet配置正确无误。 1. **测试模式运行** - 在客户端运行Puppet agent,使用`--noop`参数进行模拟测试: ```bash puppetagent --server=master --verbose --no...

    Pro.Puppet.pdf

    - **第5章:Externalizing Puppet Configuration**:介绍如何使用外部存储(如Git)来管理和版本控制Puppet配置。 - **第6章:Exporting and Storing Configuration**:讨论如何导出和存储Puppet配置数据,以便进行...

    使用puppet 部署elk

    - 使用`elastic/puppet-logstash`模块来安装并配置Logstash。 - 设置输入插件(如syslog或filebeat)、过滤器和输出插件(指向Elasticsearch)。 3. **配置Kibana**: - 安装Kibana,并配置连接到Elasticsearch...

Global site tag (gtag.js) - Google Analytics