选择更安全的方式执行你的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更新相关推荐

  1. 选择更安全的方式注册你的puppet节点

    选择更安全的方式注册你的puppet节点 1.1Puppet节点注册选型 1.1.1手动注册[root@puppetserver ~]# puppet cert --list #搜索请求注册的节点 & ...

  2. javascript 编码规范 用更合理的方式写 javascript

    目录 类型 引用 对象 数组 解构 Strings 函数 箭头函数 构造器 模块 Iterators and Generators 属性 变量 Hoisting 比较运算符和等号 代码块 注释 空白 ...

  3. Apache Beam 是什么,它为什么比其他选择更受欢迎?

    1. 概述 在本教程中,我们将介绍 Apache Beam 并探讨其基本概念.我们将首先演示使用 Apache Beam 的用例和好处,然后介绍基本概念和术语.之后,我们将通过一个简单的例子来说明 A ...

  4. kettle使用命令行的方式执行多个job_手把手教你实现xxl-job分布式任务调度平台搭建

    编辑:业余草 推荐:https://www.xttblog.com/?p=5097 最近有网友咨询我 xxl-job 相关的问题,我认为官方文档已经写的非常详细了,这里我再给大家写一个入门级的 3 分 ...

  5. CPU渲染与GPU渲染的优劣,教你选择合适的渲染方式

    使用计算机进行渲染时,有两种流行的系统:基于中央处理单元 (CPU) 或基于图形处理单元 (GPU). CPU 渲染利用计算机的 CPU 来执行场景并将其渲染到接近完美.这也是执行渲染的更传统方式.然 ...

  6. 当我们拿到数据进行建模时,如何选择更合适的算法?

    [每日一问]当我们拿到数据进行建模时,如何选择更合适的算法? Datawhale优秀回答者:mashagua,金小楗 目标导向 机器学习 1.先看是分类问题还是回归问题(分类就先从常用的分类模型里选择 ...

  7. 框架源码系列四:手写Spring-配置(为什么要提供配置的方法、选择什么样的配置方式、配置方式的工作过程是怎样的、分步骤一个一个的去分析和设计)...

    一.为什么要提供配置的方法 经过前面的手写Spring IOC.手写Spring DI.手写Spring AOP,我们知道要创建一个bean对象,需要用户先定义好bean,然后注册到bean工厂才能创 ...

  8. spring中的依赖注入——构造函数注入、set方法注入( 更常用的方式)、复杂类型的注入/集合类型的注入

    spring中的依赖注入 依赖注入: Dependency Injection IOC的作用:降低程序间的耦合(依赖关系) 依赖关系的管理:以后都交给spring来维护.在当前类需要用到其他类的对象, ...

  9. 转: Springboot — 用更优雅的方式发HTTP请求(RestTemplate详解)

    转自: Springboot - 用更优雅的方式发HTTP请求(RestTemplate详解) - Java知音号 - 博客园RestTemplate是Spring提供的用于访问Rest服务的客户端, ...

最新文章

  1. c语言合法常量2.57e03,[单选] 目前杭州共有世界遗产()项。
  2. ASP.NET 2.0 中的新增安全功能
  3. Windows Mysql添加用户
  4. nil 与 release
  5. emacs中安装markdown-mode
  6. 我的世界服务器显示英文,我的世界pixelmon服务器技能显示英文
  7. Lnmp上安装Yaf学习(二)
  8. 大数据会如何影响VC领域?
  9. Docker学习总结(34)——新手使用Docker的11条准则
  10. CISCO发现协议(CDP)理论与实验
  11. java.lang.SecurityException: class “org.bouncycastle.asn1.DERObject“‘s signer information does not m
  12. crt 生成pem_如何将.pem转换为.crt和.key?
  13. IP地址分为A,B,C,D,E五类
  14. 斐波那契查找(黄金分割法查找)Java实现。
  15. java 目录遍历漏洞_路径遍历 漏洞修复
  16. JavaWeb开发基础:Application的知识点简述
  17. 013-zabbix trapper方式监控
  18. 运维-Linux简介
  19. 我的世界手机版开服务器领地系统,我的世界手机版领地指令大全 领地指令怎么用...
  20. 决策树算法实战之预测眼镜类型

热门文章

  1. 如何将 ipynb 发布到 blog 中(html, markdown格式)
  2. sencha touch笔记(6)——路由控制(1)
  3. python类和实例化
  4. 0074 几道面试题
  5. 如何通过软件项目开发来提高自身的实力。
  6. ios 常用操作-1
  7. 在Visual Studio上开发Node.js程序
  8. 【转载】在C#中运用SQLDMO备份和恢复Microsoft SQL Server数据库
  9. [19/04/24-星期三] GOF23_创建型模式(建造者模式、原型模式)
  10. DOM包裹wrap()方法