Chinaunix首页 | 论坛 | 博客
  • 博客访问: 346298
  • 博文数量: 45
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 885
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-06 21:07
个人简介

做好自己,不卑不亢,持之以恒!!

文章分类

全部博文(45)

分类: 系统运维

2015-06-18 22:19:17

puppet 的细节和原理
puppet 的目的是让你只集中于你要管理的目标,而忽略实现的细节,例如命令名,参数或者文件
格式. puppet 把系统里面的用户,软件包,服务看作是"资源", puppet 的作用就是管理这些资源
以及资源之间的相互联系.
Puppet 采用了非常简单的 C/S 架构,所有数据的交互都通过 SSL 进行,以保证安全。

实验环境:
rhel-6.5  linux
selinux   disabled
iptables   stoppd
server:        222.24.24.28    server1.example.com      puppet master
client :      222.24.24.29    server2.example.com      puppet agent
client:           222.24.24.30    server3.example.com      puppet   agent
注意:     server 与所有 client 之间需要解析,以及时间同步,不然会验证失败。
server 端所需安装包:
 puppet-server-3.8.1-1.el6.noarch.rpm
facter-2.4.4-1.el6.x86_64.rpm        
ruby-augeas-0.4.1-1.el6.x86_64.rpm
hiera-1.1.0-1.el6.noarch.rpm         
rubygem-json-1.4.6-1.el6.x86_64.rpm
 rubygems-1.3.7-1.el6.noarch.rpm     
puppet-3.8.1-1.el6.noarch.rpm        
ruby-shadow-1.4.1-13.el6.x86_64.rpm
puppet-server-3.0.1-1.el6.noarch.rpm

puppet 配置目录:
结构如下:
   puppet.conf         主配置文件
   fileserver.conf      文件服务器配置文件
   auth.conf                认证配置文件
   autosign.conf         自动验证配置文件
   tagmail.conf            邮件配置文件(将错误信息发送)
    manifests                文件存储目录(puppet 会先读取该目录的.pp文件文件)
                  nodes
                            puppetclient.pp
                    site.pp         定义puppet相关的变量和默认配置
                    modules.pp   加载class类模块文件(include syslog)
    modules                   定义模块
          syslog                        以syslog 为例
                file                    
       manifests
                       init.pp              class 类配置
  puppet 的第一个执行的代码是在/etc/puppet/manifest/site.pp,因此这个文件必须存在,而
且其他的代码也要通过该文件来调用。
#创建site.pp文件,没有此文件 puppet master 无法启动,配置后面再定义
#启动 puppet master

端口


client 端所需安装包:
        facter-2.4.4-1.el6.x86_64.rpm
       rubygem-json-1.4.6-1.el6.x86_64.rpm
        hiera-1.1.0-1.el6.noarch.rpm
        rubygems-1.3.7-1.el6.noarch.rpm
         puppet-3.8.1-1.el6.noarch.rpm
        ruby-shadow-1.4.1-13.el6.x86_64.rpm
       ruby-augeas-0.4.1-1.el6.x86_64.rpm
   puppet 客户端连接到puppet master
 
client 向 master 发出证书验证请求,然后等待 master 签名并返回证书。
参数--server 指定了需要连接的 puppet master 的名字或是地址,默认连接名为“puppet”的主机
如要修改默认连接主机可以修改/etc/sysconfig/puppet 文件中的 PUPPET_SERVER=puppet 选项
参数--no-daemonize 是 puppet 客户端运行在前台
参数--verbose 使客户端输出详细的日志


在master端:
puppet  cert  list       用于显示所有等待签名的证书

# puppet cert sign server2.example.com    签名证书


在对证书签名后的两分钟后,在 agent 端上可以看到如下输出:


如要同时签名所有证书,执行以下命令:
# puppet cert sign --all

# puppet cert clean desktop2.example.com              #删除签名证书

一:添加自动验证模块
在server端,编辑puppet.conf文件、
# vim      /etc/puppet/puppet.conf      #添加 autosign = true


/etc/puppet 目录下创建 autosign.conf 文件,内容如下:

重新启动puppet服务

当我们在server3上登录时就不用server1端签名了












阅读(2256) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~