部署puppet master/agent模型
自己画的一个简单的架构图

agent端每隔30分钟到master端请求与自己相关的catalog。
各节点时间要同步。
依赖DNS,各节点能通过主机名能解析。
1、同步时间
# yum install -y ntp ntpdate
# ntpdate pool.ntp.org
2、修改hosts(仅在测试时使用,大规模场景下请使用dns解析)
# vim /etc/hosts
3、安装程序包,master端安装puppet、puppet-server,agent端安装puppet即可
# yum install -y puppet puppet-server
# rpm -ql puppet-server
/etc/puppet/fileserver.conf
/etc/puppet/manifests
/usr/lib/systemd/system/puppetmaster.service
# rpm -ql puppet
/etc/puppet/modules
/etc/puppet/puppet.conf
/usr/bin/puppet
/usr/lib/systemd/system/puppet.service
/usr/lib/systemd/system/puppetagent.service
/var/lib/puppet
/var/log/puppet
/var/run/puppet
4、初始化master(这里仅是测试查看运行过程,实际上可以直接启动服务)
# puppet help master
--daemonize:Send the process into the background. This is the default.
--no-daemonize:Do not send the process into the background.
# puppet master --no-daemonize --verbose
Info: Creating a new SSL key for ca
Info: Creating a new SSL certificate request for ca
Info: Certificate Request fingerprint (SHA256): 9A:66:76:76:2F:B0:86:8E:25:7F:24:B6:A5:09:44:3E:F4:2C:DB:37:24:CC:0C:4E:40:C7:C0:81:64:1B:06:61
Notice: Signed certificate request for ca
Info: Creating a new certificate revocation list
Info: Creating a new SSL key for aliyun
Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml
Info: Creating a new SSL certificate request for aliyun
Info: Certificate Request fingerprint (SHA256): C2:59:1A:9D:63:1C:6E:6D:93:68:C9:2C:B7:FD:99:8C:95:9D:D9:C5:7F:D7:38:87:3D:86:68:99:A9:D2:EB:EE
Notice: aliyun has a waiting certificate request
Notice: Signed certificate request for aliyun
Notice: Removing file Puppet::SSL::CertificateRequest aliyun at '/var/lib/puppet/ssl/ca/requests/aliyun.pem'
Notice: Removing file Puppet::SSL::CertificateRequest aliyun at '/var/lib/puppet/ssl/certificate_requests/aliyun.pem'
Notice: Starting Puppet master version 3.6.2
# netstat -tnlp 默认监听在tcp/8140端口
5、启动master服务
# systemctl start puppetmaster
# systemctl enable puppetmaster
可以删除证书重新生成
# rm -rf /var/lib/puppet/ssl/*
# puppet master --no-daemonize --verbose
6、修改master的配置文件,这里提供的是一个ini风格的配置文件,main段是公共配置、master段是matser的配置、agent段是agent的配置
# puppet help master
# puppet man master
See the configuration file documentation at http://docs.puppetlabs.com/references/stable/configuration.html for the full list of acceptable settings.
A commented list of all settings can also be generated by running puppet master with '--genconfig'.
# vim /etc/puppet/puppet.conf
生成完整的配置列表
# puppet help config
puppet config <action> [--section SECTION_NAME]
print Examine Puppet's current setting.
set Set Puppet's settings.
# puppet master --genconfig > /etc/puppet/test.conf
# puppet agent --genconfig >> /etc/puppet/test.conf
# vim /etc/puppet/test.conf
替换现有的配置文件
# cp test.conf /etc/puppet/puppet.conf
# systemctl restart puppetmaster
7、修改agent的配置文件
# vim /etc/puppet/puppet.conf
server = puppetmaster.oupeng.com
# puppet help agent
# puppet man agent
--daemonize
--no-daemonize
--noop:Use 'noop' mode where the daemon runs in a no-op or dry-run mode.
-v|--verbose:Turn on verbose reporting.
-V|--version:Print the puppet version number and exit.
-t|--test:Enable the most common options used for testing. These are 'onetime','verbose','ignorecache','no-daemonize','no-usecacheonfailure','detailed-exitcodes','no-splay',and 'show_diff'.
--onetime:Run the configuration once. Runs a single (normally daemonized) Puppet run.
--detailed-exitcodes:Provide transaction information via exit codes. If this is enabled, an exit code of '2' means there were changes, an exit code of '4' means there were failures during the transaction, and an exit code of '6' means there were both changes and failures.
# puppet agent -t
# systemctl start puppet
# systemctl enable puppet
打印当前配置
# puppet config print
# puppet config print --section master
# puppet config print --section agent
获取模块位置
# puppet config print modulepath
/etc/puppet/environments/production/modules:/etc/puppet/modules:/usr/share/puppet/modules
8、在master端管理证书签署和请求
# puppet help cert
Manage certificates and requests.
list:List outstanding certificate requests. If '--all' is specified, signed certificates are also listed, prefixed by '+', and revoked or invalid certificates are prefixed by '-'. 列出证书请求,加--all可以显示所以证书,包括未签署的和已经签署的。
sign:Sign an outstanding certificate request. 签署证书请求
revoke:Revoke the certificate of a client. 吊销证书,需重启master生效
clean:Revoke a host's certificat e and remove all files related to that host from puppet cert's storage.
--all:Operate on all items. Currently only makes sense with the 'sign', 'clean', 'list', and 'fingerprint' actions.
# puppet cert list
# puppet cert list --all
# puppet cert sign --all
9、示例,定义站点清单
# cd /etc/puppet/manifests/
# vim site.pp
node "agent1.oupeng.com" {
include mariadb
}
# puppet agent --no-daemonize -v --noop
# systemctl restart puppet
到这里,基础环境就部署完成了。
部署puppet master/agent模型的更多相关文章
- 自动化运维工具之Puppet master/agent模型、站点清单和puppet多环境设定
前文我们了解了puppe中模块的使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14086315.html:今天我来了解下puppet的master/age ...
- puppet master/agent
puppet master/agent 配置 安装 master: yum install puppet-server agent: yum install puppet 自动签名 puppet的ma ...
- Puppet master/agent installation on RHEL7
==================================================================================================== ...
- puppet(5)-master/agent模式
master/agent模式的工作流程 agent每隔固定时长会向master端发送nodename(自己的节点名,节点名至关重要)和 facts ,并且向服务器端请求自己的catalog. mast ...
- Puppet基于Master/Agent模式实现LNMP平台部署
前言 随着IT行业的迅猛发展,传统的运维方式靠大量人力比较吃力,运维人员面对日益增长的服务器和运维工作,不得不把很多重复的.繁琐的工作利用自动化处理.前期我们介绍了运维自动化工具ansible的简单应 ...
- Advacned Puppet: Puppet Master性能调优
本文是Advanced Puppet系列的第一篇:Puppet master性能调优,谈一谈如何优化和提高C/S架构下master端的性能. 故事情节往往惊人地类似:你是一名使用Puppet管理线上业 ...
- Configure Puppet Master with Passenger and Apache on Centos
What is Passenger? Passenger (AKA mod_rails or mod_rack) is an Apache 2.x module which lets you run ...
- WEBrick/Rack Puppet Master
Puppet's Services: The WEBrick Puppet Master Puppet master is the application that compiles configur ...
- puppet master 用 nginx + unicorn 作为前端
目录 1. 概要 2. nginx + unicorn 配置 2.1. package 安装 2.2. 配置文件设置 2.2.1. 配置 unicorn 2.2.2. 配置nginx 2.3. 测试配 ...
随机推荐
- Java的POI的封装与应用
Java对Excel表格的导出一直是对我有种可怕噩梦的东西,每次对要建立行与列,并一个一个放值,我是从心底拒绝的. 处于项目需求,需要导出表格,于是找到网上一版很好的开发, <不想用POI?几行 ...
- Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->第7节: 获取异线程释放的对象
Netty源码分析第八章: 高性能工具类FastThreadLocal和Recycler 第七节: 获取异线程释放的对象 上一小节分析了异线程回收对象, 原理是通过与stack关联的WeakOrder ...
- Python 命令行解析工具 Argparse介绍
最近在研究pathon的命令行解析工具,argparse,它是Python标准库中推荐使用的编写命令行程序的工具. 以前老是做UI程序,今天试了下命令行程序,感觉相当好,不用再花大把时间去研究界面问题 ...
- Daily Scrum 11.18
今日完成任务: 1.在提问问题的时候为问题创建索引 2.解决了修改个人资料后刷新没有更新的问题 3.初步加入了采纳功能(没完善UI设计) 遇到困难:创建索引之后,跳转到主页,需要重新登录,找了半天不知 ...
- 20172308 实验三《Java面向对象程序设计 》实验报告
20172308 2017-2018-2 <程序设计与数据结构>实验三报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 周亚杰 学号:20172308 实验教师:王 ...
- Structs2笔记①--structs的背景、structs2框架的意义、第一个helloworld
Struts2的背景 由出色稳定的框架struts1和webwork框架整合而来的 吸取了两大框架的优点 提高了开发的效率和规范性 更好的实现了MVC架构 解除了与servlet的强耦合性 使用str ...
- hihocoder #1388 : Periodic Signal fft
题目链接: https://hihocoder.com/problemset/problem/1388 Periodic Signal 时间限制:5000ms内存限制:256MB 问题描述 Profe ...
- angularJS1笔记-(2)-$watch方法监听变量的变化
html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- .NET 类库研究必备参考 扣丁格鲁
.NET 类库的强大让我们很轻松的解决常见问题,作为一个好专研的程序员,为了更上一层楼,研究CLR的基础类库实现是快速稳定的捷径. 一般场景下,采用 Reflector可以反射出.NET 的部分实现出 ...
- java9初探
最近研究了一下java9的新特性,也看完了<Modularity Programming in Java 9>,有一些收获写博客记录一下. 1.java9初探