千家信息网

52.puppet自动化运维工具

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,puppet自动化运维工具Puppet是一款运维自动化工具,在一些大型的互联网企业,它可以针对多台服务器进行统一操作,如统一部署软件,进行统一上线维护等,意思就是说在一台linux服务器上所部署的操作
千家信息网最后更新 2026年11月03日52.puppet自动化运维工具

puppet自动化运维工具

Puppet是一款运维自动化工具,在一些大型的互联网企业,它可以针对多台服务器进行统一操作,如统一部署软件,进行统一上线维护等,意思就是说在一台linux服务器上所部署的操作,会通过puppet同步到其他linux服务器的一款强大工具。

Puppet使用的端口是8139

搭建puppetmaster:

v 规划服务器主机名

# vim /etc/sysconfig/network

修改内容:

NETWORKING=yes

HOSTNAME=master.test.cn

# vim /etc/hosts

添加解析记录:

1.1.1.128 master.test.cn

1.1.1.129 client.test.cn

# hostname master.test.cn

# bash

v 服务器时间同步

#vim /etc/ntp.com

添加两行:

server 127.127.1.0

fudge 127.127.1.0 stratum 8

# yum -y install ntpdate

#service ntpd restart

#chkconfig ntpd on

v 安装ruby

# yum -y install ruby

#ruby -v

v 安装puppet和facter

# useradd -s /sbin/nologin puppet

# tar xzvf facter-1.7.1.tar.gz

# cd facter-1.7.1

# ruby install.rb

# tar xzvf puppet-2.7.21.tar.gz

# cd puppet-2.7.21

# ruby install.rb

# cp conf/redhat/fileserver.conf /etc/puppet/

# cp conf/redhat/puppet.conf /etc/puppet/

# cp conf/redhat/server.init /etc/init.d/puppetmaster

# chmod +x /etc/init.d/puppetmaster

# mkdir /etc/puppet/manifests

# mkdir /etc/puppet/modules

v Puppet服务证书与签名

# iptables -F

# vim /etc/puppet/puppet.conf

在main行添加:

ssldir = $vardir/ssl

modulepath = /etc/puppet/modules:/usr/share/puppet/modules

# /etc/init.d/puppetmaster start

搭建client客户端:

v 规划服务器主机名

# vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=client.test.cn

# vim /etc/hosts

1.1.1.128 master.test.cn

1.1.1.129 client.test.cn

# hostname client.test.cn

# bash

v 同步服务时间

# ntpdate 1.1.1.128

v 安装ruby安装工具

# yum -y install ruby

# ruby -v

v 安装puppet和facter

#useradd -s /sbin/nologin puppet

# tar xzvf facter-1.7.1.tar.gz

# cd facter-1.7.1

# ruby install.rb

# tar xzvf puppet-2.7.2

# cd puppet-2.7.21

# ruby install.rb

# cp conf/redhat/puppet.conf /etc/puppet

# cp conf/redhat/client.init /etc/init.d/puppetclient

# chmod +x /etc/init.d/puppetclient

# iptables -F

# vim /etc/puppet/puppet.conf

在main项添加内容 :

ssldir = $vardir/ssl

server = master.test.cn

v 在client端申请与注册

# puppet agent --server=master.test.cn --no-daemonize --verbose

在master端提交注册信息

# puppet cert --list 查看申请列表

# puppet cert sign --all 提交注册信息,会在下面目录中创建证书

#ll /var/lib/puppet/ssl/ca/signed 查看client端的注册信息文件

案例需求:需要将ssh服务的端口统一更改为9922

节点入口存放目录:/etc/puppet/manifests/nodes

模块存放目录:/etc/puppet/modules

Puppet分发部署:

v 创建必要目录

#mkdir -p /etc/puppet/modules/ssh/{manifests,templates,files}

#mkdir /etc/puppet/modules/ssh/files/ssh

#mkdir /etc/puppet/manifests/nodes

#chown -R puppet /etc/puppet/modules/

#ll /etc/puppet/modules/ssh

注:ssh/manifests目录是ssh模块配置文件目录,ssh/files是ssh模块的文件发布目录

v 创建模块配置文件

# vim /etc/puppet/modules/ssh/manifests/install.pp 确定客户端是否安装ssh服务

class ssh::install{

package{ "openssh":

ensure => present,

}

}

# vim /etc/puppet/modules/ssh/manifests/config.pp 配置需要同步的文件

class ssh::config{ 定义类

file { "/etc/ssh/sshd_config": 文件路径

ensure => present, 确定客户端此文件存在

owner =>"root", 文件所属用户

group =>"root", 文件所属组

mode =>"0600", 文件属性

source =>"puppet://$puppetserver/modules/ssh/ssh/sshd_config",从服务器同步文件

require => Class["ssh::install"], 调用ssh::install类

notify => Class["ssh::service"], 如果config.pp发生变化通知service.pp

}

}

# vim /etc/puppet/modules/ssh/manifests/service.pp

class ssh::service { 定义类

service {"sshd":

ensure=>running, 确定ssh在运行

hasstatus=>true, 查看ssh服务状态

hasrestart=>true, 重启ssh服务

enable=>ture, 服务器是否开机

require=>Class["ssh::config"] 调用ssh::config类

}

}

# vim /etc/puppet/modules/ssh/manifests/init.pp 模块主配置文件

class ssh{

include ssh::install,ssh::config,ssh::service 调用上面三个类

}

v 复制已修改好的ssh的配置文件到默认目录

# cp /etc/ssh/sshd_config /etc/puppet/modules/ssh/files/ssh/

#chown puppet /etc/puppet/modules/ssh/files/ssh/sshd_config

v 创建节点配置文件

# vim /etc/puppet/manifests/nodes/ssh.pp

node 'client.test.cn' { 定义客户端入口

include ssh

}

# vim /etc/puppet/manifests/nodes/site.pp 配置节点位置

import "nodes/ssh.pp"

同步方法:

v 客户端主动拉取

#puppet agent -t

v 服务器推送同步

2 客户端

# echo "listen = true" >> /etc/puppet/puppet.conf

# echo "allow *" >> /etc/puppet/auth.conf

#/etc/init.d/puppetclient restart

#vim /etc/ssh/sshd_config

#netstat -lnupt |grep ssh

2 服务端

#puppet kick client.test.cn


服务 文件 服务器 目录 同步 配置 客户 客户端 模块 工具 统一 信息 节点 自动化 主机 入口 内容 所属 时间 端口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网黑科技 有格互联网科技 互联网加科技 互联网科技公司排名 为想互联网科技怎么样 互联网科技与金融科技 互联网科技ppt模板 易通互联网络科技有限公司 天下捷融互联网科技 科技互联网创业计划书 一五八零互联网科技 丰台科技园 互联网公司 中国互联网有什么科技含量 欧洲十大科技互联网公司 中国航天科技大学国际工业互联网 互联网科技公司营业执照怎么办理 小米互联网科技园入驻 城市宝互联网科技有限公司 半导体行业属于互联网高科技类吗 西安左小互联网科技有限公司 中关村互联网科技集团 欧洲十大科技互联网公司 互联网校园科技培训 青海科技产业互联网发展 燊美集互联网科技有限公司 内蒙古九一互联网科技 佛山市拉法互联网科技有限公司 江苏苏星互联网科技有限公司 山东大美朱楼互联网科技有限公司 宁波跨境商互联网科技有限公司
0