Puppet3.0原理介绍与安装配置

Puppet3.0原理介绍与安装配置

一,puppet概述

Puppetruby语言开发,用于管理系统配置文件的工具集。简单易用,可移植性强。节约大量时间。

二,puppet操作模型,三层

212641902.png

Deployment:puppet的架构

Configuration language && resource abstract层:1,资源2,配置语言

Transactional layer层:侧重配置文件的具体实施,是puppet的工作过程。

三,puppet架构常用的一种。

212643720.png

四,Configuration language && resource abstract作用:

1puppet给配置对象下的定义,文件,软件包,用户,用户组,虚拟主机等都可以成为资源

2,配置语言是puppet的一种规范,用以实现对资源的描述

五,Transactional layer层:侧重于配置文件的具体实施,是puppet的工作过程

1master编译编写的配置

2masternode连接,将编译的配置传递给agent

3,在agent上应用这些配置

4agent将处理结果反馈给master

六,puppet安装配置及使用

1,源码安装与yum安装,下面选择yum安装

服务端

[root@master ~]# wget http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-1.noarch.rpm

[root@master ~]# yum install puppetlabs-release-6-1.noarch.rpm

[root@master ~]# yum install puppet-server

[root@master ~]# chkconfig puppet on

[root@master ~]# /etc/init.d/puppet

puppet        puppetmaster  puppetqueue  

[root@master ~]# /etc/init.d/puppetmaster  start

Starting puppetmaster:                                     [  OK  ]

[root@master ~]# netstat  -tunlp |grep 8140  监听8140端口

tcp        0      0 0.0.0.0:8140                0.0.0.0:*                   LISTEN      7859/ruby      

客户端

[root@client ~]# wget http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-1.noarch.rpm

[root@client ~]# yum install -y puppetlabs-release-6-1.noarch.rpm

[root@client ~]# yum install -y puppet

修改主机名

Puppet 要求所有机器有完整的域名(FQDN),如果没有 DNS 服务器提供域名的话,可以在两台机器上设置主机名(注意要先设置主机名再安装 Puppet,因为安装 Puppet 时会把主机名写入证书,客户端和服务端通信需要这个证书):

[root@master ~]# vim /etc/hosts

192.168.0.10 master

192.168.0.9 slave

[root@master ~]# scp /etc/hosts 192.168.0.9:/etc/

设置时间同步:

Puppet 要求所有机器上的时钟保持同步masterclient都需要执行下面步骤

[root@master ~]# yum install ntp

[root@master ~]# /etc/init.d/ntpd start

*/5 * * * * /usr/sbin/ntpdate ntp.api.bz &> /dev/null

签发证书:

[root@client ~]# puppet agent --no-daemonize --onetime --verbose --debug --server=master

客户端执行上面命令后,此时会在master端的/var/lib/puppet/ssl/ca/requests/client.pem 会生成一个证书请求

[root@master ~]#  puppet cert list --all   显示有哪些证书请求

 "client" (SHA256) 17:34:FF:1E:6E:1D:44:13:FA:38:AE:F6:3B:43:87:C7:61:F6:76:B8:66:97:74:38:B2:97:17:CA:1E:89:DA:31

+ "master" (SHA256) EE:76:BE:A8:87:D2:6E:7E:54:A4:06:35:42:09:2E:9D:4B:F6:1D:40:62:42:E3:C4:F5:39:71:0A:E7:AD:13:00

[root@master ~]# puppet cert --sign client    为client签发证书,Puppet cert --sign all

all表示对所有请求都签发一个证书,也可以单独指定客户端的主机名,如果签发完了之后,在requests中的.pem文件就不存在了。在/var/lib/puppet/ssl/ca/signed/下会生成签证好的文件。

Notice: Signed certificate request for client

Notice: Removing file Puppet::SSL::CertificateRequest client at '/var/lib/puppet/ssl/ca/requests/client.pem'

[root@master ~]# puppet cert list --all

+ "client" (SHA256) 8A:6D:5E:A0:E0:14:BF:32:41:78:42:D2:A9:81:B8:70:14:4D:C1:DB:90:DC:C0:CC:79:F3:43:39:4F:CB:43:31

+ "master" (SHA256) EE:76:BE:A8:87:D2:6E:7E:54:A4:06:35:42:09:2E:9D:4B:F6:1D:40:62:42:E3:C4:F5:39:71:0A:E7:AD:13:00

[root@master ~]# ll /var/lib/puppet/ssl/ca/signed/

total 8

-rw-r----- 1 puppet puppet 1887 Jul 29 17:40 client.pem

-rw-r----- 1 puppet puppet 1887 Jul 29 17:09 master.pem

七,master端的配置文件

[root@master ~]# vim /etc/puppet/puppet.conf 默认的配置比较简单

[main] 控制整体的配置文件中所有的项

[server] 控制master端行为。 添加

Certname=master

[agent]只控制客户端的行为,如果与main有冲突,则以agent中的为准。如果没有会继续main的值。

[root@master ~]# puppet master --genconfig >> /root/master.conf  可以用puppet master生成master的配置文件需要重定向

[root@client ~]# puppet agent --genconfig > agent.conf 生成client的配置文件

[root@client ~]# puppet agent --no-daemonize --onetime --verbose --debug --server=master    指定与server通信,可以在配置文件中添加,那么此时在命令行中可以省略--server参数。

[root@client ~]# vim /etc/init.d/puppet agent段添加一行

server=master

[root@client ~]#/etc/init.d/puppet start

[root@client ~]# nestat -tunlp |grep 8139 客户端监控的端口

tcp        0      0 0.0.0.0:8139                0.0.0.0:*                   LISTEN      6919/ruby










本文转自 deng304749970 51CTO博客,原文链接:http://blog.51cto.com/damondeng/1261804,如需转载请自行联系原作者
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/479731

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。