10968134>正文 52.puppet自动化运维工具

简介:

puppet自动化运维工具

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

Puppet使用的端口是8139

 

 

搭建puppetmaster

规划服务器主机名

# 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

服务器时间同步

#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

安装ruby

# yum -y install ruby

#ruby -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

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客户端:

规划服务器主机名

# 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

同步服务时间

# ntpdate 1.1.1.128

安装ruby安装工具

# yum -y install ruby

# ruby -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

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分发部署:

创建必要目录

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

创建模块配置文件

# 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    调用上面三个类

}

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

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

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

创建节点配置文件

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

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

     include ssh

}

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

import "nodes/ssh.pp"

同步方法:

客户端主动拉取

#puppet agent -t

服务器推送同步

客户端

# 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

服务端

#puppet kick client.test.cn

 本文转自   触动的风   51CTO博客,原文链接:http://blog.51cto.com/10978134/1945803

相关文章
|
7月前
|
运维 Prometheus 监控
别再盲选了!开源运维工具选型这事儿,咱得说人话
别再盲选了!开源运维工具选型这事儿,咱得说人话
443 7
|
8月前
|
人工智能 运维 安全
基于合合信息开源智能终端工具—Chaterm的实战指南【当运维遇上AI,一场效率革命正在发生】
在云计算和多平台运维日益复杂的今天,传统命令行工具正面临前所未有的挑战。工程师不仅要记忆成百上千条操作命令,还需在不同平台之间切换终端、脚本、权限和语法,操作效率与安全性常常难以兼顾。尤其在多云环境、远程办公、跨部门协作频繁的背景下,这些“低效、碎片化、易出错”的传统运维方式,已经严重阻碍了 IT 团队的创新能力和响应速度。 而就在这时,一款由合合信息推出的新型智能终端工具——Chaterm,正在悄然颠覆这一现状。它不仅是一款跨平台终端工具,更是业内率先引入 AI Agent 能力 的“会思考”的云资源管理助手。
|
4月前
|
数据采集 运维 监控
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
本文系统解析爬虫与自动化核心技术,涵盖HTTP请求、数据解析、分布式架构及反爬策略,结合Scrapy、Selenium等框架实战,助力构建高效、稳定、合规的数据采集系统。
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
|
5月前
|
运维 Linux 网络安全
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
176 4
|
7月前
|
敏捷开发 运维 数据可视化
DevOps看板工具中的协作功能:如何打破开发、测试与运维之间的沟通壁垒
在DevOps实践中,看板工具通过可视化任务管理和自动化流程,提升开发与运维团队的协作效率。它支持敏捷开发、持续交付,助力团队高效应对需求变化,实现跨职能协作与流程优化。
|
7月前
|
运维 监控 安全
从实践到自动化:现代运维管理的转型与挑战
本文探讨了现代运维管理从传统人工模式向自动化转型的必要性与路径,分析了传统运维的痛点,如效率低、响应慢、依赖经验等问题,并介绍了自动化运维在提升效率、降低成本、增强系统稳定性与安全性方面的优势。结合技术工具与实践案例,文章展示了企业如何通过自动化实现运维升级,推动数字化转型,提升业务竞争力。
|
10月前
|
运维 安全 Linux
试试Linux设备命令行运维工具——Wowkey
WowKey 是一款专为 Linux 设备设计的命令行运维工具,提供自动化、批量化、标准化、简单化的运维解决方案。它简单易用、高效集成且无依赖,仅需 WIS 指令剧本文件、APT 账号密码文件和 wowkey 命令即可操作。通过分离鉴权内容与执行内容,WowKey 让运维人员专注于决策,摆脱繁琐的交互与执行细节工作,大幅提升运维效率与质量。无论是健康检查、数据采集还是配置更新,WowKey 都能助您轻松应对大规模设备运维挑战。立即从官方资源了解更多信息:https://atsight.top/training。
|
10月前
|
数据采集 运维 安全
Linux设备命令行运维工具WowKey问答
WowKey 是一款用于 Linux 设备运维的工具,可通过命令行手动或自动执行指令剧本,实现批量、标准化操作,如健康检查、数据采集、配置更新等。它简单易用,只需编写 WIS 指令剧本和 APT 帐号密码表文件,学习成本极低。支持不同流派的 Linux 系统,如 RHEL、Debian、SUSE 等,只要使用通用 Shell 命令即可通吃Linux设备。
|
11月前
|
机器学习/深度学习 人工智能 运维
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
456 14

热门文章

最新文章

推荐镜像

更多