自动部署运维之Puppet

Puppet原理

Puppet的目录是让管理员只集中于要管理的目标,而忽略实现的细节。Puppet即可以运行在单机上,也可以以C/S结构使用。在大规模使用puppet的情况下,通常使用C/S结构,在这种结构中puppet客户端只运行puppeclient,puppet服务端只运行puppemaster。

工作流程

服务器端的puppetmaster通过fast工具分析检测客户端的主机名,然后找到项目的主配置文件manifest里面对应的node配置,并对该部分内容进行解析,fast发送过来的信息可以作为变量处理.

注意事项

为了保证安全,Client和Master之间是基于SSL和证书Puppet会让系统保持在人们所期望的某种状态并一直维持下去,如检测某个文件并保证其一直存在,保证SSH服务始终开启,如果文件被删除了或者ssh服务关闭了,puppet下次执行时(默认30分钟)会重新创建该文件或者启动SSH服务

服务器名称(主机名) IP地址 需要的软件
NTPserver 192.168.10.11 NTPserver
puppetmaster 192.168.10.12 ntpdate
puppetclient1 192.168.10.16 ntpdate、puppet
puppetclient2 192.168.10.17 ntpdate、puppet
实施

修改NTP服务器主机名称

vim /etc/hostname
NTPserver
init 6 

所有服务器关闭防火墙和安全功能

systemctl stop firewalld.service
setenforce 0

NTPserver配置

yum install ntp -y      #安装NTP

vim /etc/ntp.conf         #编辑配置文件

server 127.127.1.0
fudge 127.127.1.0 stratum 8

systemctl enable ntpd.service
systemctl start ntpd.service    #开启ntpd服务
ntpstat  //查看时间同步状态

修改puppetmaster服务器主机名指定hosts文件

vim /etc/hostname  # 修改主机名称
puppetmaster.localdomain
vim /etc/hosts   #修改hosts文件

192.168.10.12   puppetmaster
192.168.10.17   puppetclient1
192.168.10.18   puppetclient2
init 6 # 重启

yum install ntpdate -y        #安装ntp客户端
ntpdate 192.168.10.11        #进行时间同步
yum install puppet-server -y #安装puppet服务端

systemctl enable puppetmaster.service
systemctl start puppetmaster.service        #启动puppet主程序

puppetclient1,puppetclient2配置,步骤相同

vim /etc/hostname  # 修改主机名称
puppetmaster.localdomain
vim /etc/hosts   #修改hosts文件

192.168.10.12   puppetmaster
192.168.10.17   puppetclient1
192.168.10.18   puppetclient2
init 6 # 重启
yum install ntpdate -y        #安装ntp客户端
ntpdate 192.168.10.11         #进行时间同步
yum -y install puppet         #安装puppet客户端
vim /etc/puppet/puppet.conf   #修改配置文件
[main]
    server = puppetmaster   #指明puppetmaster
......


申请与注册

puppetclient端:

puppet agent --server=puppetmaster --no-daemonize --verbose #申请注册

puppetmaster端:
查看申请

puppet cert --list #查看申请

对未注册的进行注册:

puppet cert sign --all #对未注册的进行注册

通过目录查看已经注册的客户端:

ll /var/lib/puppet/ssl/ca/signed/ #通过目录查看已经注册的客户端

原文地址:http://blog.51cto.com/13660858/2155486

时间: 2024-08-02 03:10:59

自动部署运维之Puppet的相关文章

自动化运维工具puppet的部署与应用

作为一名运维工程师,维护服务器的正常运行是最基本的职责,随着服务器的增多,任务量也随之增大,就需要寻找一款能够降低工作量的工具.那么今天就给大家介绍一批工具,这批工具是"可编程"的,只需要为这批工具写上几行代码,它便会自动完成所有的工作,这批工具就是运维自动化puppet(为什么说是一批工具,因为软件不止一个).Puppet可以针对多台服务器进行统一的操作,例如:软件分发,统一执行脚本,在服务器上写好脚本分发给客户机,客户机就会自动执行,减少了人力及误操作风险. 1. puppet工作

自动化运维平台puppet的高级应用

一.模板的应用 到目前为止,资源申报.定义类.声明类等所有功能都只能一个manifest文件中实现,但这却非有效的基于puppet管理IT资源架构的方式.实践中,一般需要把manifest文件分解成易于理解的结构,例如将类文件.配置文件甚至包括后面讲提到的模板文件等分类存放,并且通过某种机制在必要时将他们整合起来.这种机制即成为"模板",它有助于结构化.层次化的方式使用puppet,而puppet则基于"模块自动装载器"完成模块装载 从另一个角度来说,模板实际上就是

网易OpenStack部署运维实战

防伪码:没有所谓的命运,只有不同的选择. OpenStack简介 OpenStack 是一个开源的 IaaS 实现,它由一些相互关联的子项目组成,主要包括计算.存储.网络. 由于以 Apache 协议发布,自 2010 年项目成立以来,超过 200 个公司加入了 OpenStack 项目,其中包括 AT&T.AMD.Cisco.Dell.IBM.Intel.Red Hat 等. 目前参与 OpenStack 项目的开发人员有 17,000+,来自 139 个国家,这一数字还在不断增长中. Ope

SVN自助更新:运维利器Puppet实例讲解(一)(1)

Puppet是一种Linux.Unix平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等.本文通过Puppet进行Apache Web服务器的配置同步,对于两台以上服务器的配置管理非常方便. 这个SVN自助更新系统的实现思路如下: 一.开发平台 apache+perl-cgi puppet 二.功能介绍 系统管理员/项目执行者/开发人员通过web的get对应的url,然后触发更新puppet-master中的一个文件,puppet-cl

自动化运维工具puppet详解(一)

一.puppet 介绍 1.puppet是什么 puppet是一个IT基础设施自动化管理工具,它能够帮助系统管理员管理基础设施的整个生命周期: 供应(provisioning).配置(configuration).联动(orchestration)及报告(reporting). 基于puppet ,可实现自动化重复任务.快速部署关键性应用以及在本地或云端完成主动管理变更和快速扩展架构规模等. 遵循GPL 协议(2.7.0-), 基于ruby语言开发. 2.7.0 以后使用(Apache 2.0

自动化运维工具puppet的基础使用

一.puppet的简介 puppet是一种开源的.新一代的集中化的配置管理工具.可管理的平台有windows,Linux,Unix等.有自己的配置语言(资源申报语言),可管理文件.软件包.系统服务.用户等.这些统称为puppet的资源.puppet是采用ruby语言研发的. 工作流程 如下图: 工作模型: 单机模型:实现定义多个manifests --> complier --> catalog --> apply master/agent模型:集中式管理 架构: 工作原理: puppe

自动化运维工具puppet(二)

一.Puppet作域与变量 1.作用域 作域的作就是指定特定的代码与其他的代码进隔离. 变量与默认资源将接受这些限制, 资 源标题. 资源引将不接受这样的限制. 接受范围限制的有: 变量 默认资源 不接受范围限制的有: 资源标题 资源引 在任何给定作域内, 可访问在本域中定义的变量或资源默认值, 同时继承作域中的内容, 依 此类推. 因此, 任何局部作域都可访问顶级作域中的内容. 使的范围是从该节点作域内直到 全局作域, 如下图所. 从上图可以看到: 在全局作域内只能访问作域的变量及默认值. 节

自动化运维之puppet的学习(如何找到你需要的模块)

https://forge.puppetlabs.com/  puppet 模块下载 http://kisspuppet.com/2014/01/14/puppet_forge_modules/ puppet模块的安装教程 http://kisspuppet.com/2014/02/10/puppet_irc/  九大方法教你解决遇到的puppet的问题

OpenStack 部署运维实战

本文为您介绍了网易公司基于 OpenStack 开发的一套云计算管理平台,以及在开发.运营.维护过程中遇到的问题和经验分享.网易作为大型互联网公司,IT 基础架构需要支撑包括生产.开发.测试.管理等多方面的需要,而且需求和请求的变化几乎每天都存在,这就需要内部的 IT 基础架构能够足够灵活和健壮来满足各部门和团队的实际需要.网易私有云平台团队也希望通过本文和广大的 OpenStack 使用者进行一个交流,分享他们在实际项目中收获的成果. OpenStack 简介 OpenStack 是一个开源的