puppet

Posted 无为

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了puppet相关的知识,希望对你有一定的参考价值。

puppet是管理上百台服务器IT基础设施自动化的工具。

实验环境:CentOS7;

安装可以用epel源进行安装,也可自行下载RPM包;

[[email protected]~ localhost]#ll
total 5192
-rw-------. 1 root root    1494 Jun 19 02:09 anaconda-ks.cfg
-rw-r--r--. 1 root root  100420 Jan 27  2016 facter-2.4.6-1.el7.x86_64.rpm
-rw-r--r--. 1 root root 1615716 Apr 27  2016 puppet-3.8.7-1.el7.noarch.rpm
-rw-r--r--. 1 root root   23028 Apr 27  2016 puppet-server-3.8.7-1.el7.noarch.rpm
#单机模型,无需安装server
[[email protected]~ localhost]#yum -y install facter-2.4.6-1.el7.x86_64.rpm puppet-3.8.7-1.el7.noarch.rpm 

 #puppet使用:

#资源的定义:

resource:
    type{‘title‘:
           attribute => value
}
常用的type类型有:notify,group,user,cron,package,service,file,exec

 

#帮助:
[[email protected]~ localhost]#puppet help 
#子命令模块:puppet+子命令
[[email protected]~ localhost]#puppet help describe

[[email protected]~ localhost]#puppet describe  cron #查看详细用法
#创建资源,以.pp结尾;cron是资源类型;ntpdate是title,如果列表下没有name则name是title的名
[[email protected] localhost]#cat ntpdate.pp 
cron{‘ntpdate‘:
    command => ‘/usr/sbin/ntpdate 172.16.0.1 &> /dev/null‘,
    time    => ‘*/5‘,        
}
#-noop是dry-run;apply是单机模型下提交资源清单
[[email protected] localhost]#puppet apply --nohoop -v ntpdate.pp 

#创建文件
file{‘/tmp/test.txt‘:
    mode    => ‘0600‘,
    contest    => ‘some text‘,
}

#复制文件
file{‘/tmp/fstab‘:
    mode    => ‘0640‘,
    source    => ‘/etc/fstab‘,
}

#创建目录
file{‘/tmp/testdir‘:
    ensure    => directory,
    mode    => ‘0750‘,

}

#创建软连接文件
file{‘/tmp/fstab.link‘:
    ensure    => link,
    target    => ‘/tmp/fstab‘,    
}

 

以上是关于puppet的主要内容,如果未能解决你的问题,请参考以下文章

puppet-类模版语言模块

Puppet 条件判断语句(十六)

Puppet 之 类的介绍

Puppet apply命令参数介绍

以puppeteer抓取微指数,puppeteer基本示例,即docker部署

Puppet 之 模板和模块