阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Puppet集中配置管理系统详解

187次阅读
没有评论

共计 3768 个字符,预计需要花费 10 分钟才能阅读完成。

puppet 是一个配置管理工具, 典型的, puppet 是一个 C / S 结构, 当然, 这里的 C 可以有很多, 因此, 也可以说是一个星型结构. 所有的 puppet 客户端同一个服务器端的 puppet 通讯. 每个 puppet 客户端每半小时 (可以设置) 连接一次服务器端, 下载最新的配置文件, 并且严格按照配置文件来配置服务器. 配置完成以后,puppet 客户端可以反馈给服务器端一个消息. 如果出错, 也会给服务器端反馈一个消息,作为系统管理员的你可以更快的完成工作, 因为你可以用 puppet 来处理所有的管理细节. 甚至你还可以下载其他管理员的 puppet 代码来让你的工作完成的更快 

puppet 的目的是让你只集中于你要管理的目标, 而忽略实现的细节, 例如命令名, 参数或者文件格式. puppet 把系统里面的用户, 软件包, 服务 看作是 ” 资源 ”, puppet 的作用就是管理这些资源以及资源之间的相互联系. 

puppet 既可以在单机上使用, 也可以以 c / s 结构使用. 在大规模使用 puppet 的情况下, 通常使用 c / s 结构. 在这种结构中 puppet 客户端只是指运行 puppet 的服务器,puppet 服务器端是只运行 puppetmaster 的服务器. 

puppet 客户端首先会连接到 puppet 服务器端, 并且通过 facter 工具把客户端的配置信息发送给服务器端. 服务器端通过分析客户端的主机名, 通过 node 定义, 找到该主机的配置代码, 然后编译配置代码, 把编译好的配置代码发回客户端. 客户端执行代码完成配置. 并且把代码执行情况反馈给 puppet 服务器端. 

实验:

server:desktop93.example.com 

client:desktop100.example.com(这里只有一个客户端) 

下载软件:

facter-1.6.13-1.el6.x86_64.rpm rubygem-json-1.4.6-1.el6.x86_64.rpm 

hiera-1.1.0-1.el6.noarch.rpm rubygem-rake-0.8.7-2.1.el6.noarch.rpm 

puppet-3.0.1-1.el6.noarch.rpm rubygems-1.3.7-1.el6.noarch.rpm 

puppet-server-3.0.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 

server 端安装:puppet-server client 端安装:puppet 

1. 客户端发起认证:

Puppet 集中配置管理系统详解

2. 服务器端确认:

Puppet 集中配置管理系统详解

3. 证书被确认:

Puppet 集中配置管理系统详解

4. 服务器端:cd /etc/puppet/manifests/;touch size.pp 

/etc/init.d/puppetmaster start 

5. 客户端:/etc/init.d/puppet start 

6. 测试 1:server: vi /etc/puppet/manifests/size.pp 

file {“/var/www/html/index.html”: content => “www.example.com”} 

(参考:http://puppet.wikidot.com / 资源管理类型指南)

client: puppet agent –server=desktop93.example.com –no-daemonize –onetime 

(会自动下载最新的配置文件,并运行) 

server: cat /var/www/html/index.html 

www.example.com 表示成功

测试 2:vi /etc/puppet/manifests/size.pp 

file {“/public”: 

ensure => directory 

mount {“/public”: 

device => “192.168.0.254:/var/ftp/pub”, 

fstype => “nfs”, 

options => “defaults”, 

ensure => mounted 

client:

Puppet 集中配置管理系统详解

自动签证:在 server 端, 编辑 puppet.conf 文件: 

[main] 

autosign = true #允许所有客户端的认证

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

*.example.com #表示允许所有 example.com 域的主机 

# service puppetmaster reload 

web 监控记录:

server: 所需软件安装:

rpm -ivh ruby-mysql-2.8.2-1.el6.x86_64.rpm 

rpm -ivh puppet-dashboard-1.2.12-1.el6.noarch.rpm 

yum install mysql-server -y 

/etc/init.d/mysqld start 

cd /usr/share/puppet-dashboard/config/ ; 

vi database.yml 

production: 

database: dashboard_production 

username: dashboard 

password: westos 

encoding: utf8 

adapter: mysql 

vi test.sql 

CREATE DATABASE dashboard_production CHARACTER SET utf8; 

CREATE USER ‘dashboard’@’localhost’ IDENTIFIED BY ‘westos’; 

GRANT ALL PRIVILEGES ON dashboard_production.* TO ‘dashboard’@’localhost’; 

mysql < test.sql — 创建所需数据库

vi settings.yml 

time_zone: ‘Beijing’ — 时区设置 

cd /usr/share/puppet-dashboard/ 

rake RAILS_ENV=production db:migrate — 建立 dashboard 所需的数据库和表 

/etc/init.d/puppet-dashboard start 

/etc/init.d/puppet-dashboard-workers start — 有提示 

chmod 0666 /usr/share/puppet-dashboard/log/production.log 

/etc/init.d/puppet-dashboard-workers restart 

vi /etc/puppet/puppet.conf 

[main] 

reports = http 

reporturl = http://192.168.0.93:3000/reports 

/etc/init.d/puppetmaster reload 

client 端配置:

vi /etc/puppet/puppet.conf 

[agent] 

report = true 

/etc/init.d/puppet reload 

试着在服务器端增加一个条规则,在客户端执行更新,访问:http:desktop93.

example.com:3000 

Puppet 集中配置管理系统详解

相关配置:

server: /etc/sysconfig/puppet 

PUPPET_SERVER=puppet 主机地址

PUPPET_PORT=8140 监听端口 

PUPPET_LOG=/var/lo

g/puppet/pupp

et.log 本地日志 

PUPPET_EXTRA_OPTS=–waitforcert=500 默认同步时间 

client:/etc/puppet/puppet.conf 

[agent] 

runinternal = 60 60 秒与服务器同步一次

Puppet 学习系列:

Puppet 学习一:安装及简单实例应用 http://www.linuxidc.com/Linux/2013-08/88710.htm

Puppet 学习二: 简单模块配置和应用 http://www.linuxidc.com/Linux/2013-08/88711.htm

相关阅读:

有关 Puppet agent 端三种备份恢复方案探讨研究 http://www.linuxidc.com/Linux/2013-07/87885.htm
选择更安全的方式注册你的 Puppet 节点 http://www.linuxidc.com/Linux/2013-07/87884.htm
通过配置 SSH 深刻理解 Puppet 的语法及工作机制 http://www.linuxidc.com/Linux/2013-07/87882.htm
Puppet 利用 Nginx 多端口实现负载均衡 http://www.linuxidc.com/Linux/2013-02/79794.htm
CentOS(5 和 6)下 Puppet 的 C / S 模式实例 http://www.linuxidc.com/Linux/2011-12/50502.htm

Puppet 的详细介绍:请点这里
Puppet 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-08/121953.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3768字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中