自动化运维puppet工具的使用

puppet是采用ruby开发的一个工具

用一个实例来怎么实现基本的自动化

两台机器master和slave

一 在master上定义hostname以及hosts

  1. hostname master.liuwenzhi.com
  2. vim /etc/sysconfig/network
  3. vim /etc/hosts

    192.168.1.100 master.liuwenzhi.com

    192.168.1.101 slave.liuwenzhi.com

在slave上定义hostname以及hosts

  1. hostname slave.liuwenzhi.com
  2. vim /etc/sysconfig/network
  3. vim /etc/hosts

    192.168.1.100 master.liuwenzhi.com

    192.168.1.101 slave.liuwenzhi.com

注:关掉iptabels

iptables -F

crotable -e

*/10 * * * * ntpdate time.windows.com  >>/dev/null  2>&1

二 下载puppet扩展源包

rpm -ivh http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm

服务端:

yum install -y puppet-server

/etc/init.d/puppetmaster start

服务端开启8140端口

客户端:

yum install -y puppet

/etc/init.d/puppet start

注:客户端是不主动开启端口的

三 修改下客户端的/etc/puppet/puppet.conf

在最后面添加:
listen = true
server = master.liuwenzhi.com
runinterval = 10  每隔10秒,检测服务端,并更新。

然后重动puppet服务
/etc/init.d/puppet restart

四 生成ssl的证书

手动:

客户端上

puppet agent --test --server=master.liuwenzhi.com

服务端上查看以及签收证书

puppet cert list --all

(前面有+号的表示还没有签收)

签收命令

puppet cert --sign slave.liuwenzhi.con

当有大堆的机器,那怎么办,不可能一个一个的手动签收生成证书吧,

另一种就是自动签收了。

自动:

首先,服务端删除证书

puppet cert clean slave.liuwenzhi.com

客户端需要删除  文件

rm -rf /var/lib/puppet/*

在服务端

1. vim /etc/puppet/puppet.conf

在[main]下面加一行
autosign = true

2. vim /etc/puppet/autosign.conf

加入如下内容:
*.liuwenzhi.com

重启服务。

在检查puppet cert list --all 有自动签收slave的没

五 自动传输文件

首先定义一个模块

mkdir /etc/puppet/modules/testm  //模块名字就是testm
cd !$
mkdir {files,manifests,templates}   //一个模块下需要有这三个目录,files存一些文件(可以为空),manifests存配置文件,templates存模板(可以留空)
touch manifests/init.pp  //这个是必须的
vi  manifests/init.pp   //内容如下
class testm{
file {"/tmp/2.txt":
owner => "root",
group => "root",
mode => 0400,
source => "puppet://$puppetserver/modules/testm/1.txt"  
}
}

说明:类名字也叫做testm, 类下面定义了一个资源file,文件名字叫做/tmp/2.txt ,owner,group,mode定义文件的属主、数组以及权限,source定义这个文件从哪里获取。 $puppetserver一会也要定义一下,这里指的是puppet server服务器上/etc/puppet/modules/testm/files/1.txt

还没有完,

下面要继续定义一个很关键的配置文件:
vim  /etc/puppet/manifests/site.pp   //内容如下
$puppetserver = ‘master.liuwenzhi.com‘

node ‘slave.liuwenzhi.com‘{
    include testm
}

说明:$puppetserver 定义服务端的主机名,node后面为客户端的主机名,这里面定义该客户端要加载的模块.

时间: 2024-08-09 06:35:36

自动化运维puppet工具的使用的相关文章

Linux下的自动化运维ansible工具

什么是自动化运维     随着信息时代的持续发展,IT运维已经成为IT服务内涵中重要的组成部分.面对越来越复杂的业务, 面对越来越多样化的用户需求,不断扩展的IT应用需要越来越合理的模式来保障IT服务能灵活便捷.安 全稳定地持续保障,这种模式中的保障因素就是IT运维(其他因素是更加优越的IT架构等).从初期的 几台服务器发展到庞大的数据中心,单靠人工已经无法满足在技术.业务.管理等方面的要求,那么标 准化.自动化.架构优化.过程优化等降低IT服务成本的因素越来越被人们所重视.其中,自动化最开始作

ansible自动化运维必备工具详解

第2章 ansible简单介绍: 2.1 ansible是什么? ansible是新出现的 自动化 运维工具 , 基于Python研发 . 糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能. 仅需在管理工作站上安装 ansible 程序配置被管控主机的 IP 信息,被管控的主机无客户端. ansible 应用程序存在于 epel( 第三方社区 ) 源,依赖于很多 python 组件 python语言是运维人员必会的语言!ansible是一个基于Python开

云时代IDC自动化运维的几大神器

云时代IDC自动化运维的几大神器 2016年09月18日 10:27:41 天府云创 阅读数:1715 版权声明:本文为EnweiTech原创文章,未经博主允许不得转载. https://blog.csdn.net/English0523/article/details/52572114 自动化运维是数据中心.互联网企业高度重视的方向,数据中心的从纯手工.重复地进行软件部署运维,经历编写脚本运维,再到借助第三方工具高效.方便地部署和运维,在转变的过程中已大大提升了运维的效率和性能.下面给大家推荐

自动化运维_Ansible

1. 前言 Ansible是自动化运维的工具,基于Python开发,实现了批量系统配置.批量程序部署.批量运行命令等功能. Ansible是基于模块工作的,ansible提供一个框架,通过模块实现批量部署. 2. 安装,使用 2.1 安装Ansible 使用epel的源安装,添加epel源此处不详述. # yum install ansible --enablerepo=epel 2.2 设置密钥登录 生成SSH公钥密钥对 # ssh-keygen -t rsa -P '' 拷贝公钥到被管理端的

Puppet Saltstatck Ansible 自动化运维工具对比

最近尝试安装了一下salt statck就对自动化工具感兴趣了点所以找了一些资料入门下面总结一下希望和看到这篇文章一起探索自动化运维的世界.                              --- 小 Q ------------------------------------------------------------------------------------------------------ 自动化运维就是为减少重复又枯燥的工作而建立起来的流程更能减少失误及时报警并恢复

Puppet:自动化运维工具!!!

项目背景: 随着业务的增长,机器数量的增多,需要维护的信息扩张,我们需要一个强大的自动化运维工具,来帮我们减轻压力! 实验环境: vmware workstation 11 centos6.5的系统下 服务器master:ip:192.168.0.14  主机名:Puppet   防火墙关闭  setenforce 0 服务器agent:ip:192.168.0.21  主机名:ansible.client.com   防火墙关闭  setenforce 0 SecureCRT (ssh远程连接

52.puppet自动化运维工具

puppet自动化运维工具 Puppet是一款运维自动化工具,在一些大型的互联网企业,它可以针对多台服务器进行统一操作,如统一部署软件,进行统一上线维护等,意思就是说在一台linux服务器上所部署的操作,会通过puppet同步到其他linux服务器的一款强大工具. Puppet使用的端口是8139 搭建puppetmaster: v 规划服务器主机名 # vim /etc/sysconfig/network 修改内容: NETWORKING=yes HOSTNAME=master.test.cn

自动化运维工具介绍

运维目标有三个阶段,第一是追求稳定性,第二是追求标准化,第三是追求自动化.对于第三阶段来说,什么是运维自动化呢?简单地讲,运维自动化就是将日常重复性工作按照事先设定好的规则,在一定时间范围内自动化运行,而不需要人工参与.接下来简单介绍运维自动化工具,要了解运维平时用到的自动化工具,就需要了解运维人员的日常工作有哪些. 一.运维的日常工作 运维的日常工作可以总结为以下四个部分,分别是: (1) 系统安装 (2) 应用程序配置(Configuration) (3) 命令执行与控制(Command a

自动化运维工具之ansible

ansible ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架. 主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定