选择更安全的方式执行你的puppet更新
选择更安全的方式执行你的puppet更新
生产环境中,puppet的更新有需要节点自动更新的,有需要通过puppetmaster推送更新的,还有需要节点更新时间离散的。下面讲解三种更新方式
2.7 Puppet更新方式
2.7.1 节点定时更新
[root@agent1 ~]# vim /etc/puppet/puppet.conf
[main]
server=puppetserver.rsyslog.org #指向puppetserver服务器
[agent]
runinterval=5 #前期方便测试可采用客户端自动更新的方式,设置agent 5秒钟去同步
2.7.2 节点离散更新(需要测试)
使用puppet的inline_template功能结合cron任务计划执行agent服务端分散更新
cron { "run-puppet":
command => "/usr/sbin/ puppet agent --server=puppetserver.rsyslog.org --test >/dev/null 2>&1",
minute => inline_template("<%= hostname.hash % 60 %>"),
}
备注:节点数比较多的情况下,为了减轻puppet server端同一时间的压力,可以考虑方式二。
实现原理:根据客户端的主机名做哈希表(每个主机名产生的哈希值具有唯一性),并作为计划任务左右的分钟或者小时,每个客户端会在过去的每小时的不同分钟数运行puppet,这个三列技术是有用的随机任何的cron作业,提高了可能性,因为他们不会互相干扰。Hash生成的数值可以使无限大,上例中只是生成0-60,也就是限制了最大值为60。
2.7.3 服务端推送更新(puppet kick)
1)、修改agent端的主配置文件
[root@agent1 ~]# vim /etc/puppet/puppet.conf
[agent]
listen = true
...
2)、修改/etc/sysconfig/puppet
[root@agent1 ~]# vim /etc/sysconfig/puppet
PUPPET_SERVER=puppetserver.rsyslog.org
...
3)、新建namespaceauth.conf文件
[root@agent1 ~]# vim /etc/puppet/namespaceauth.conf
[puppetrunner]
allow puppetserver.rsyslog.org
4)、修改auth.conf文件(在path /前添加)
[root@agent1 ~]# vim /etc/puppet/auth.conf
path /run
method save
allow puppetserver.rsyslog.org
auth any
path /
auth any
5)、重启agent端
6)、在puppetmaster端执行puppetrun命令测试
[root@puppetserver ~]# puppetrun -p 10 --host agent1.rsyslog.org
Triggering agent1.rsyslog.org
Getting status
status is success
agent1.rsyslog.org finished with exit code 0
Finished
备注:如果主机比较多,可创建hosts.txt文件,然后将需要更新的节点主机名添加到hosts.txt文件中,然后跟上 --host `cat hosts.txt`参数即可
推送方法,在服务端运行命令
puppet kick -p 10 –host 客户端 或 puppetrun -p 10 –host 客户端
转载于:https://blog.51cto.com/lookingdream/1831119
选择更安全的方式执行你的puppet更新相关推荐
- 选择更安全的方式注册你的puppet节点
选择更安全的方式注册你的puppet节点 1.1Puppet节点注册选型 1.1.1手动注册[root@puppetserver ~]# puppet cert --list #搜索请求注册的节点 & ...
- javascript 编码规范 用更合理的方式写 javascript
目录 类型 引用 对象 数组 解构 Strings 函数 箭头函数 构造器 模块 Iterators and Generators 属性 变量 Hoisting 比较运算符和等号 代码块 注释 空白 ...
- Apache Beam 是什么,它为什么比其他选择更受欢迎?
1. 概述 在本教程中,我们将介绍 Apache Beam 并探讨其基本概念.我们将首先演示使用 Apache Beam 的用例和好处,然后介绍基本概念和术语.之后,我们将通过一个简单的例子来说明 A ...
- kettle使用命令行的方式执行多个job_手把手教你实现xxl-job分布式任务调度平台搭建
编辑:业余草 推荐:https://www.xttblog.com/?p=5097 最近有网友咨询我 xxl-job 相关的问题,我认为官方文档已经写的非常详细了,这里我再给大家写一个入门级的 3 分 ...
- CPU渲染与GPU渲染的优劣,教你选择合适的渲染方式
使用计算机进行渲染时,有两种流行的系统:基于中央处理单元 (CPU) 或基于图形处理单元 (GPU). CPU 渲染利用计算机的 CPU 来执行场景并将其渲染到接近完美.这也是执行渲染的更传统方式.然 ...
- 当我们拿到数据进行建模时,如何选择更合适的算法?
[每日一问]当我们拿到数据进行建模时,如何选择更合适的算法? Datawhale优秀回答者:mashagua,金小楗 目标导向 机器学习 1.先看是分类问题还是回归问题(分类就先从常用的分类模型里选择 ...
- 框架源码系列四:手写Spring-配置(为什么要提供配置的方法、选择什么样的配置方式、配置方式的工作过程是怎样的、分步骤一个一个的去分析和设计)...
一.为什么要提供配置的方法 经过前面的手写Spring IOC.手写Spring DI.手写Spring AOP,我们知道要创建一个bean对象,需要用户先定义好bean,然后注册到bean工厂才能创 ...
- spring中的依赖注入——构造函数注入、set方法注入( 更常用的方式)、复杂类型的注入/集合类型的注入
spring中的依赖注入 依赖注入: Dependency Injection IOC的作用:降低程序间的耦合(依赖关系) 依赖关系的管理:以后都交给spring来维护.在当前类需要用到其他类的对象, ...
- 转: Springboot — 用更优雅的方式发HTTP请求(RestTemplate详解)
转自: Springboot - 用更优雅的方式发HTTP请求(RestTemplate详解) - Java知音号 - 博客园RestTemplate是Spring提供的用于访问Rest服务的客户端, ...
最新文章
- c语言合法常量2.57e03,[单选] 目前杭州共有世界遗产()项。
- ASP.NET 2.0 中的新增安全功能
- Windows Mysql添加用户
- nil 与 release
- emacs中安装markdown-mode
- 我的世界服务器显示英文,我的世界pixelmon服务器技能显示英文
- Lnmp上安装Yaf学习(二)
- 大数据会如何影响VC领域?
- Docker学习总结(34)——新手使用Docker的11条准则
- CISCO发现协议(CDP)理论与实验
- java.lang.SecurityException: class “org.bouncycastle.asn1.DERObject“‘s signer information does not m
- crt 生成pem_如何将.pem转换为.crt和.key?
- IP地址分为A,B,C,D,E五类
- 斐波那契查找(黄金分割法查找)Java实现。
- java 目录遍历漏洞_路径遍历 漏洞修复
- JavaWeb开发基础:Application的知识点简述
- 013-zabbix trapper方式监控
- 运维-Linux简介
- 我的世界手机版开服务器领地系统,我的世界手机版领地指令大全 领地指令怎么用...
- 决策树算法实战之预测眼镜类型
热门文章
- 如何将 ipynb 发布到 blog 中(html, markdown格式)
- sencha touch笔记(6)——路由控制(1)
- python类和实例化
- 0074 几道面试题
- 如何通过软件项目开发来提高自身的实力。
- ios 常用操作-1
- 在Visual Studio上开发Node.js程序
- 【转载】在C#中运用SQLDMO备份和恢复Microsoft SQL Server数据库
- [19/04/24-星期三] GOF23_创建型模式(建造者模式、原型模式)
- DOM包裹wrap()方法