puppet

Ansible 手册系列 一(介绍)

两盒软妹~` 提交于 2020-04-26 18:03:22
一 介绍 Ansible 是一个配置管理和应用部署工具,功能类似于目前业界的配置管理工具 Chef,Puppet,Saltstack。Ansible 是通过 Python 语言开发。Ansible 平台由 Michael DeHaan 创建,他同时也是知名软件 Cobbler 与 Func 的作者。Ansible 的第一个版本发布于 2012 年 2 月,相比较其它同类产品来说,Ansible 还是非常年轻的,但这并不影响他的蓬勃发展与大家对他的热爱。 Ansible 默认通过 SSH 协议管理机器,所以 Ansible 不需要安装客户端程序在服务器上。您只需要将 Ansible 安装在一台服务器,在 Ansible 安装完后,您就可以去管理控制其它服务器。不需要为它配置数据库,Ansible 不会以 daemons 方式来启动或保持运行状态。 Ansible 的目标有如下: • 自动化部署应用 • 自动化管理配置 • 自动化的持续交付 • 自动化的(AWS)云服务管理。 根据 Ansible 官方提供的信息,当前使用 Ansible 的用户有:evernote、rackspace、NASA、Atlassian、twitter 等。 Ansible是怎么工作的 从上图可以看出,运行ansible的先决条件是,安装ansible到管理节点,定义主机清单,并有一些playbooks定义

Puppet 各个版本功能介绍

丶灬走出姿态 提交于 2020-04-26 14:12:20
目录 1. puppet各版本介绍 2. MCollective 3. puppet架构 4. 写在最后 5. 参考资料 本文写于2020年4月23日,文中内容随着时间推移可能会逐渐过期,请读者自行判断。 1. puppet各版本介绍 puppet是一款著名的自动化运维管理工具,本文写成时Open Source Puppet最新版本是6.14,Puppet Enterprise最新版本是2019.5。因为我们目前使用的还是比较老的Puppet版本,因此对各个版本的发布情况做了一个简单的总结。 Puppet 6 于2018年9月19日发布。最新版Puppet 6.14.0 于2020年3月10日发布。 Puppet 5于2017年6月30日发布。这个版本将 Puppet Agent、PuppetDB和Puppet Server版本都统一为5,成为构建Puppet Platform的基础。将Agent的Ruby版本升级到2.4,并实现了大约30%的性能提升。Puppet 5.5.19 于2020年3月10日发布。 Puppet 4 于2015年4月15日发布。最新的Puppet 4.10.12 于2018年6月7日发布。这个版本的Puppet Master使用 clojure 语言进行了重写,同时puppet agent也开始在JVM上运行。 Puppet 3.8.7

centos7安装puppet详细教程(简单易懂,小白也可以看懂的教程)

你离开我真会死。 提交于 2020-04-22 02:32:58
简介: Puppet是一种linux、unix平台的集中配置管理系统,使用ruby语言,可配置文件、用户、cron任务、软件包、系统服务等。Puppet把这些系统实体称之为资源,它的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。 环境说明: 192.168.10.40 主机名:slave #puppet server 192.168.10.50 主机名:client #puppet agent 安装过程 服务端slave的安装过程: 编辑hosts文件,添加如下两行(白色部分) 配置puppet.conf,在[main]字段增加certname属性 启动服务 测试: 创建测试文件: 模拟测试 查看/aaa目录,发现并未生成helloworld.txt文件 那么,重新执行puppet命令并且不添加--noop选项,代表真正执行 可以看到,在/aaa目录下生成了helloworld.txt文件 客户端client安装 配置hosts,同服务端 配置puppet.conf,在[agent]字段增加certname,server,report属性 启动服务 证书默认是没有签发的,测试发现,需要证书 服务端检测 “client”前面没有”+”号,代表客户端证书没有审核 在服务端签发证书并重新检测,发现”client”前面出现”+”号,证书已被审核通过 客户端测试

Puppet集中配置管理系统安装部署教程

我是研究僧i 提交于 2020-04-21 08:49:56
  puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。 puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个puppet客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配置文件来配置客户端. 配置完成以后,puppet客户端可以反馈给服务器端一个消息. 如果出错,也会给服务器端反馈一个消息. 实验环境: Puppet Server:192.168.2.130      主机名130-node1(随便起,只要Server和Client不一样即可) Puppet Client:192.168.2.129      主机名bp-vm Server: [root@130-node1 ~]#yum install epel-release -y [root@130-node1 ~]# cat /etc/hostname    #获取主机名,下面hosts文件需要用到 130-node1 [root@130-node1 ~]#

ganglia分布式监控部署

懵懂的女人 提交于 2020-04-20 18:20:32
一.介绍 Ganglia是由UC Berkeley发起的一个开源监控项目,设计用于监控数以千几的节点。每台服务器都运行一个收集和发送监控数据名为gmond的守护进程。它将从操作系统和指定主机中收集。接收所有监控数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。正因为有这种层次架构模式,使ganglia可以实现良好的扩展。Gmond带来的系统负载非常小,这使得它成为集群中各个服务器上运行一段代码而不会影响用户性能。 Ganglia主要用来监控系统性能的软件,通过曲线很容易见到每个节点的工作状态,对合理调整,分配系统资源,提高系统整体性能起到重要作用,支持浏览器方式访问,但不能监控节点硬件技术指标。Ganglia是分布式的监控系统。 Ganglia的组件: Ganglia包括如下程序,它们之间通过xml格式传递监控数据。 服务端ganglia meta daemon(gmetad):负责收集各个cluster的数据,并更新到rrd数据库中 客户端ganglia monitoring daemon(gmond):收集本机的监控数据,发送到其他服务器上,收集其他服务器的监控数据,供gmetad读取。 基于web的动态访问方式ganglia PHP web Frontend:一个基于web的监控界面,需要和gmetad安装在同一个节点上,从gmetad取数据

How to run puppet bolt command remotely on Azure Virtual Machine through powershell

做~自己de王妃 提交于 2020-04-18 00:55:11
问题 I'm trying to run below puppet bolt command for remote Azure VM through powershell . bolt command run ipconfig --targets winrm://158.28.0.546 --no-ssl -user testuser123 -password test@84p getting below error for above command in powershell Failed on 192.168.0.140: Timeout after 10 seconds connecting to 192.168.0.140 Failed on 1 target: 192.168.0.140 How to resolve above issue Update 1: WinRM enabled on remote Azure Virtual Machine . Even Firewall is disabled on Azure VM for public networks.

How to run puppet bolt command remotely on Azure Virtual Machine through powershell

我是研究僧i 提交于 2020-04-18 00:48:22
问题 I'm trying to run below puppet bolt command for remote Azure VM through powershell . bolt command run ipconfig --targets winrm://158.28.0.546 --no-ssl -user testuser123 -password test@84p getting below error for above command in powershell Failed on 192.168.0.140: Timeout after 10 seconds connecting to 192.168.0.140 Failed on 1 target: 192.168.0.140 How to resolve above issue Update 1: WinRM enabled on remote Azure Virtual Machine . Even Firewall is disabled on Azure VM for public networks.

001. Ansible简介

只愿长相守 提交于 2020-04-18 00:28:48
一 简介 Ansible是一款极其简单的自动化运维工具, 基于Python开发, 集合了众多运维工具(puppet, cfengine, chef, func, fabric)的优点。 实现了批量系统配置, 批量程序部署, 批量运行命令等功能。 Ansible是基于模块工作的, 本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块, Ansible只是提供一种框架。主要包括: Play books:任务剧本(任务集),编排定义Ansible任务集的配置文件,由Ansible依次执行多个任务,通常是JSON格式的YML文件; Host inventory: Ansible管理主机的清单,指定操作的主机, 是一个配置文件里面定义监控的主机; Modules:各种模块核心模块, command模块等,也包括自定义模块; Connection plugins: 负责和被监控端实现通信; Plugins:模块功能的补充,如连接类型插件、循环插件、变量插件等,可借助于插件完成更丰富的功能。 二 工作机制 用户使用Ansible或Playbook,在服务器中断输入Ansible的Ad-Hoc命令集或Playbook; Ansible遵循预先编排的规则将Playbooks逐条拆解为Play; Play组织成Ansible可识别的任务(Task);

puppet自动化运维之service资源

寵の児 提交于 2020-04-13 19:32:38
【今日推荐】:为什么一到面试就懵逼!>>> puppet自动化运维之service资源 作用: ①.管理服务的状态; ② . 服务能够在配置文件更改的情况下自动重启。 格式: service {"title": #服务名, 通常就是在 /etc/init.d/ 目录下的名字 ensure => {running|stopped}, #当前service的状态 enable => {true|false}, #service是否开机启动, chkconfig [status|start|stop|restart] => "cmd", # 指定要执行的完整命令,当且仅当,启动脚本不在/etc/init.d/下的 path => " 目录", #启动脚本的搜索路径,可以用 冒号 分割多个路径,或者用数组指定 hasrestart => {true|false}, #是否支持restart参数,如果不支持,就用stop和start实现restart效果. hasstatus => {true|false}, #是从命令行status查询还是从进程表(有没有该进程)中,查询service的状态 provider => base|daemontools|init; #默认为init } 实例: #vsftpd,启动且开机自起 vi /etc/puppet/manifest/test.pp

puppet自动化运维之exec资源

只谈情不闲聊 提交于 2020-04-13 16:16:32
【今日推荐】:为什么一到面试就懵逼!>>> exec简介: Puppet通过exec来执行外部的命令或者脚本,一般来讲是shell脚本。 这里面就涉及到一个 重复执行的问题 ,因为默认的agent一连接上来就会自动执行对应的命令或者脚本。如果脚本重复执行对系统没影响的还无所谓,如果会对系统造成影响呢? 一个有用的方法是使用像 creates参数 来,除非达到了某个条件才会运行命令。比如执行之前判断文件是否存在等等。你可以使用refreshonly参数限制一个exec只有收到某个事件才执行。 作用: ①、远程执行系统命令,其实就是shell的调用; ②、由于exec是 一次性执行资源 ,在不同类里面exec名字可相同。 格式: exec {"title": #一般写上要执行的命令,如不写,则需要指定command cwd => " 目录的绝对路径", #在那个目录下执行,也可不要 path => "/bin:/sbin:...", #命令执行的搜索路径,如不要,需指定命令的绝对路径 command => " 执行的命令", #写上要执行的命令,一般不需要,可在title中写上 creates => " 文件名(绝对路径)", #当且仅当,该文件名不存在,命令才被执行,可不要 user => " 用户名", #定义运行命令的用户。 注意如果你使用了这个参数