自动化运维管理平台-Puppet资源管理

简介:

当我们配置完毕puppet相关信息时,我们需要更近一步来部署puppet真正应用,那puppet怎么使用呢?希望帮助到初学的朋友,一起交流和学习,欢迎大家分享!

 
  1. Puppet常用资源:  
  2.  
  3. 常用的资源主要有以下几个:  
  4.  
  5. file:主要负责管理文件  
  6.  
  7. package:软件包的安装管理   
  8.  
  9. service:系统服务的管理     
  10.  
  11. cron:配置自动任务计划    
  12.  
  13. exec:远程执行运行命令  
  14.  
  15. 更多资源详细资料,可参见:http://puppet.wikidot.com  
  16.  
  17. 写一个默认配置:vi  /etc/puppet/manifests/site.pp  
  18.  

一、File资源:

 
  1. file {  
  2.  "/tmp/test.txt":  
  3.  content => "hello";  
  4.   }  
  5.  
  6. 意思是在/tmp新建一个test.text文件,文件内容为hello。  
  7.  

二、Package资源:

 
  1. package {  
  2.  
  3.  ["screen","ntp"]:  
  4.  ensure => "installed";  
  5.  
  6.  "pppoe":  
  7.  ensure => "absent";  
  8.   }  
  9.  
  10. 定义的意思是yum install screen 和ntp服务,并且卸载pppoe安装包。  
  11.  

三、Service资源:

 
  1. service {    
  2.  "sshd":    
  3.  ensure => running;    
  4.  "nfs":    
  5.  ensure => stopped;    
  6.    
  7.   }    
  8.    
  9. 意思是定义启动sshd服务,停止nfs服务。 

四、 Cron资源:

 
  1. cron{  
  2.  "ntpdate":  
  3.   command => "/usr/sbin/ntpdate pool.ntp.org",  
  4.   user => root,  
  5.   hour => 0,  
  6.   minute => 0,  
  7.   }  
  8.  
  9. 意思是在客户端写入一个计划任务:0 0  * * *  /usr/sbin/ntpdate pool.ntp.org 自动同步时间!  
  10.  

五、向客户端推送本地脚本:

 
  1. 首先修改vi /etc/puppet/fileserver.conf 文件,添加如下三行:  
  2.  
  3. [files]  
  4. path  /etc/puppet/files  
  5. allow *  
  6.  
  7. 然后cp所需要的脚本到 /etc/puppet/files目录,没有这个目录则新建!  
  8.  
  9. file {  
  10.    "/tmp/nginx_install.sh":  
  11.    source => "puppet://master.puppet.com/files/nginx_install.sh",  
  12.    group => root,  
  13.    owner => root,  
  14.    mode => "755"  
  15. }   
  16.  
  17. 意思是把 /etc/puppet/files/nginx_install.sh这个脚本推送到客户端的/tmp/下!  
  18.  

六、Exec远程执行脚本:

如第五步,我们把nginx_install.sh推送过去后,这时候我们就可以执行了如下:

 
  1. exec {  
  2.   "/tmp/nginx_install.sh":  
  3.   cwd => "/tmp",  
  4.   user => root,  
  5.   path => ["/usr/bin","/usr/sbin","/bin","/bin/sh"],  
  6.   }  
  7.  

这样的配置后,你可以在客户端测试,测试结果已经自动安装完nginx!如下结果

 
  1. [root@master tmp]# puppetd --server=master.puppet.com --test  
  2. info: Caching catalog for master.puppet.com  
  3. info: Applying configuration version '1337450399'  
  4. notice: /Stage[main]//Node[default]/Exec[/tmp/nginx_install.sh]/returns: executed successfully  
  5. notice: Finished catalog run in 49.96 seconds  
  6.  
  7. 但是这里有个地方需要注意,这每次同步都会执行这个脚本,所以我们要设置一个参数,如果nginx_install.sh有更新才执行:  
  8.  
  9. exec {  
  10.   "/tmp/nginx_install.sh":  
  11.   cwd => "/tmp",  
  12.   user => root,  
  13.   path => ["/usr/bin","/usr/sbin","/bin","/bin/sh"],  
  14.  
  15.   subscribe => File["/tmp/nginx_install.sh"],  
  16.  
  17.   refreshonly => true;   
  18.     
  19.   }  
  20.  

七、执行命令:

 
  1. ###更新sysctl.conf  
  2.        file { "/etc/sysctl.conf":  
  3.    source =>     "puppet://master.puppet.com/files/sysctl.conf",  
  4.        owner => "root",  
  5.        group => "root",  
  6.        mode => 644,  
  7.         }  
  8.     
  9.  
  10. exec {  
  11.       "sysctl refresh kernel config":  
  12.        path => ["/usr/bin", "/usr/sbin", "/bin", "/sbin"],  
  13.        command  => "/sbin/sysctl -p",  
  14.        subscribe => File["/etc/sysctl.conf"],  
  15.        refreshonly => true  
  16.      }  
  17.  

有更新才在客户端执行!如果没有更新则不执行!

更深入的moudules配置、更多资源等内容后期不断更新!



本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/869767

相关文章
|
1月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
65 4
|
1月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
52 3
|
1月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
52 4
|
1月前
|
运维 Linux Apache
Puppet这一强大的自动化运维工具,涵盖其基本概念、安装配置及使用示例
【10月更文挑战第8天】本文介绍了Puppet这一强大的自动化运维工具,涵盖其基本概念、安装配置及使用示例。Puppet通过定义资源状态和关系,确保系统配置始终如一,支持高效管理基础设施。文章详细讲解了Puppet的安装步骤、配置方法及DSL语言示例,帮助读者快速掌握Puppet的使用技巧。
63 2
|
5天前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
|
14天前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
41 4
|
1月前
|
运维 jenkins 持续交付
自动化部署的魅力:如何用Jenkins和Docker简化运维工作
【10月更文挑战第7天】在现代软件开发周期中,快速且高效的部署是至关重要的。本文将引导你理解如何使用Jenkins和Docker实现自动化部署,从而简化运维流程。我们将从基础概念开始,逐步深入到实战操作,让你轻松掌握这一强大的工具组合。通过这篇文章,你将学会如何利用这些工具来提升你的工作效率,并减少人为错误的可能性。
|
1月前
|
运维 Prometheus 监控
运维中的自动化实践每月一次的系统维护曾经是许多企业的噩梦。不仅因为停机时间长,更因为手动操作容易出错。然而,随着自动化工具的引入,这一切正在悄然改变。本文将探讨自动化在IT运维中的重要性及其具体应用。
在当今信息技术飞速发展的时代,企业对系统的稳定性和效率要求越来越高。传统的手动运维方式已经无法满足现代企业的需求。自动化技术的引入不仅提高了运维效率,还显著降低了出错风险。本文通过几个实际案例,展示了自动化在IT运维中的具体应用,包括自动化部署、监控告警和故障排除等方面,旨在为读者提供一些实用的参考。
|
1月前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
【10月更文挑战第1天】智能化运维:机器学习在故障预测和自动化响应中的应用
66 3
|
1月前
|
机器学习/深度学习 运维 监控
构建高效运维体系:从自动化到智能化的演进之路
在当今数字化时代,运维工作的重要性日益凸显。随着企业业务的不断扩展和技术的日新月异,传统的运维方式已难以满足现代企业的需求。因此,构建一个高效、智能的运维体系成为了企业发展的关键。本文将探讨如何从自动化逐步演进到智能化,以实现运维工作的高效化和智能化。