千家信息网

52.puppet自动化运维工具

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

# 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 安装puppetfacter

#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/filesssh模块的文件发布目录

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安全错误 数据库的锁怎样保障安全 农安质量网络技术诚信服务 软件开发回扣知乎 网络技术应用的不足 车载网络技术课程考试 陕西省网络安全竞赛 宿城区多功能网络技术哪家好 网易服务器可以做模组吗 开展网络安全教育及宣传周活动 澳洲软件开发招聘 聚合服务器 计算机网络技术三级考试技巧 安全牛网络安全100强图 服务器托管需要申请ip吗 去哪儿旅行网络技术有限公司 办公室服务器怎么启动 服务器课程思政案例100例 iface302 数据库 单机传奇Db数据库添加物品 泗洪网络技术价格查询 新加坡智慧城市数据库系统 云服务器备案需要花钱吗 蚌埠服务器租用用户体验 武警通信技术和计算机网络技术 关于奥运会网络安全保卫工作总结 四川曙光服务器维修调试云主机 软件开发移动互联技术方向 服务器枪林弹雨的枪 企业应用开发和游戏软件开发 李小白互联网科技有限公司 自定义线程池查询数据库
0